#include <stdio.h> #include <dlfcn.h>
int main() { void *handle; void (*function)(); char *error;
// 打开动态链接库
handle = dlopen("libexample.so", RTLD_LAZY);
if (!handle) {
fprintf(stderr, "%s\n", dlerror());
return 1;
}
// 获取动态链接库中的函数指针
function = dlsym(handle, "example_function");
if ((error = dlerror()) != NULL) {
fprintf(stderr, "%s\n", error);
return 1;
}
// 调用函数
(*function)();
// 关闭动态链接库
dlclose(handle);
return 0;
}