#include #include int main(int argc, char **argv) { void *handle, *symbol; int ret; handle = dlopen("./dl.dll", RTLD_LAZY); if (handle == NULL) { fprintf(stderr, "dlopen failed.\n"); return 1; } symbol = dlsym(handle, "module"); if (symbol == NULL) { fprintf(stderr, "dlsym failed.\n"); return 1; } ret = ((int (*)(void))symbol)(); printf("module returned %d\n", ret); return 0; }