#include #include int main(int argc, char **argv) { if (argc < 2) { puts("usage: main.out libtest.so"); return 1; } void *handle = dlopen(argv[1], RTLD_NOW); if (!handle) { puts("failed to open lib"); return 1; } void (*test)(void) = dlsym(handle, "test"); if (!test) { puts("failed to find test() function"); } else { test(); } dlclose(handle); return 0; }