#include #include int first() { void *addr; int (*fp)(); addr = dlopen("./second", RTLD_LAZY); if (!addr) { printf("ERROR: dlopen(\"./second\"): %s\n", dlerror()); exit(1); } fp = dlsym(addr, "second"); (*fp)(); dlclose(addr); return(0); } int main() { return(first()); }