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.