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.