File: sect-Listaller-App-Development-RelayTool.html

package info (click to toggle)
listaller 0.5.9-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 8,096 kB
  • ctags: 1,611
  • sloc: xml: 11,195; ansic: 2,298; sh: 1,648; perl: 1,452; cpp: 1,289; java: 157; makefile: 134; cs: 48; python: 24
file content (10 lines) | stat: -rw-r--r-- 3,254 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3. Relaytool</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.8" /><meta name="package" content="Listaller-Listaller-0.5.8-en-US-1-0" /><link rel="home" href="index.html" title="Listaller" /><link rel="up" href="chap-Listaller-App-Development.html" title="Chapter 3. Developing Listaller-ready applications" /><link rel="prev" href="ligcc-howto.html" title="3.2.2. How to use ligcc?" /><link rel="next" href="relaytool-howto.html" title="3.3.2. How to use Relaytool?" /></head><body><p id="title"><a class="left" href="http://listaller.tenstral.net"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://listaller.tenstral.net/docs"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ligcc-howto.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="relaytool-howto.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="sect-Listaller-App-Development-RelayTool" lang="en-US"><div class="titlepage"><div><div><h2 class="title" id="sect-Listaller-App-Development-RelayTool">3.3. Relaytool</h2></div></div></div><div class="para">
		A program to provide a more convenient interface to dlopen/dlsym. It allows you to easily soft link to libraries.
	</div><div class="section" id="relaytool-whatis"><div class="titlepage"><div><div><h3 class="title" id="relaytool-whatis">3.3.1. What is Relaytool?</h3></div></div></div><div class="para">
			This is a program to provide a more convenient interface to dlopen/dlsym.
		</div><div class="para">
			It lets you write the same style of code you would when using a normal hard link (-lwhatever), but the symbols are actually lazy-linked at runtime. You can use the symbols libwhatever_is_present and libwhatever_symbol_is_present() to find out what APIs are actually available at runtime. In other words, the need to use function pointers and lots of manual calls to dlsym() is eliminated, and it becomes much simpler to soft link to things as a result.
		</div><div class="para">
			If a symbol is missing at runtime and you call it anyway, your application will abort and an error message is printed that states which function was called. If a variable is missing at runtime, the value is always -1.
		</div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ligcc-howto.html"><strong>Prev</strong>3.2.2. How to use ligcc?</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="relaytool-howto.html"><strong>Next</strong>3.3.2. How to use Relaytool?</a></li></ul></body></html>