Utiliser dynamiquement des éléments de librairies dynamiques

En allant plus loin il est possible d'utiliser des fonctions de libraires dynamiques chargées au vol par le programme:

       #include <dlfcn.h>
       #include <stdio.h>

       main()
       {
         void *libc;
         void (*printf_call)();

         if(libc=dlopen("/lib/libc.so.5",RTLD_LAZY))
         {
           printf_call=dlsym(libc,"printf");
           (*printf_call)("hello, world\n");
         }/* if(libc=dlopen("/lib/libc.so.5",RTLD_LAZY))*/
       }/* main()*/

On notera que la librairie dynamique ne sera chargée qu'au moment de l'appell dlopen, et qu'il faudra activement extraire une méthode en utilisant son nom avant de pouvooir l'utiliser.