GNU Info

Info Node: (libtool.info)Dlopened modules

(libtool.info)Dlopened modules


Next: Using libltdl Prev: Inter-library dependencies Up: Top
Enter node , (file) or (file)node

Dlopened modules
****************

   It can sometimes be confusing to discuss "dynamic linking", because
the term is used to refer to two different concepts:

  1. Compiling and linking a program against a shared library, which is
     resolved automatically at run time by the dynamic linker.  In this
     process, dynamic linking is transparent to the application.

  2. The application calling functions such as `dlopen',(1) which load
     arbitrary, user-specified modules at runtime.  This type of dynamic
     linking is explicitly controlled by the application.

   To mitigate confusion, this manual refers to the second type of
dynamic linking as "dlopening" a module.

   The main benefit to dlopening object modules is the ability to access
compiled object code to extend your program, rather than using an
interpreted language.  In fact, dlopen calls are frequently used in
language interpreters to provide an efficient way to extend the
language.

   As of version 1.4.2a, libtool provides support for dlopened modules.
However, you should indicate that your package is willing to use such
support, by using the macro `AC_LIBTOOL_DLOPEN' in `configure.in'.  If
this macro is not used (or it is used _after_ `AC_PROG_LIBTOOL'),
libtool will assume no dlopening mechanism is available, and will try
to simulate it.

   This chapter discusses how you as a dlopen application developer
might use libtool to generate dlopen-accessible modules.

Building modules
Creating dlopenable objects and libraries.
Dlpreopening
Dlopening that works on static platforms.
Finding the dlname
Choosing the right file to `dlopen'.
Dlopen issues
Unresolved problems that need your attention.
   ---------- Footnotes ----------

   (1) HP-UX, to be different, uses a function named `shl_load'.


automatically generated by info2www version 1.2.2.9