#include <dlfcn.h>
#include <iostream>
typedef int (*AddFunc)(int, int);
int main() {
void* handle = dlopen("./libmath.so", RTLD_LAZY); // macOS用libmath.dylib
if (handle) {
AddFunc add = (AddFunc)dlsym(handle, "add");
if (add) std::cout << add(3,2) << std::endl;
dlclose(handle);
}
return 0;
}
// 编译:g++ main.cpp -o main -ldl