void *dlopen(char *NomBibliotheque, int Mode);
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
void *Handle;
void (*Procedure)(void);
...
Handle=dlopen("/tmp/libessai.a", RTLD_NOW);
if (!Handle)
{
...
}
...
Procedure=(void (*)(void))dlsym(Handle, "MaProcedure");
if (!Procedure)
{
...
}
...
(*Procedure)();
...
if (dlclose(Handle)==-1)
{
...
}
...
...
Si le chemin n'est pas précisé, la bibliothèque est recherchée parmi la liste des chemins précisée par la variable environnement LD_LIBRARY_PATH.
Le résultat est NULL si le chargement n'a pu avoir lieu.
L'extension d'une bibliothèque dynamique est a.