1 #include <dlfcn.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 extern int call_me (void); 6 7 int call_me(void)8call_me (void) 9 { 10 int (*fp) (void); 11 12 fp = dlsym (RTLD_DEFAULT, "foo"); 13 if (fp == NULL) 14 { 15 printf ("cannot get address of foo in global scope: %s\n", dlerror ()); 16 exit (1); 17 } 18 19 return fp () - 42; 20 } 21