[nacho@juggernaut ~]$ cat load.c #include int main(int argc, char *argv) { void *handle; int c; handle = dlopen("/home/nacho/libalgo.so", RTLD_LAZY); if (!handle) return 1; c = dlsym(handle, "hola"); dlclose(handle); return 0; } [nacho@juggernaut ~]$ cat algo.c int hola; [nacho@juggernaut ~]$ gcc -shared -o libalgo.so algo.c [nacho@juggernaut ~]$ gcc -o load load.c -ldl load.c: En la función 'main': load.c:11: aviso: la asignación crea un entero desde un puntero sin una conversión [nacho@juggernaut ~]$ ./load; echo $? 0 [nacho@juggernaut ~]$