#include <dlfcn.h> #include <stdio.h> int main (void) { void *h = dlopen ("firstobj.so", RTLD_LAZY); void *f; if (! h) { printf ("cannot find firstobj.so: %s\n", dlerror ()); return 1; } f = dlsym (h, "foo"); if (! f) { printf ("cannot find symbol foo: %s\n", dlerror ()); return 2; } ((void (*) (void)) f) (); return 0; }