- 参考链接
- 一.so文件的生成
- myaddso.cpp
- myaddso.cpp 目录下打开终端窗口输入
- 二、.so文件的调用
- runmyaddso.cpp
- runmyaddso.cpp 目录下打开终端窗口输入
- 终端输入
https://blog.csdn.net/u014613482/article/details/54929371
一.so文件的生成 myaddso.cpp//myaddso.cpp 整数加法函数
extern "C" int add(int a, int b) {
return a + b;
}
myaddso.cpp 目录下打开终端窗口输入
gcc myaddso.cpp -shared -o libmyadd.so
在myaddso.cpp同级目录下会生成libmyadd.so
二、.so文件的调用 runmyaddso.cpp//cppcppl1.cpp #includerunmyaddso.cpp 目录下打开终端窗口输入#include using namespace std; int main() { typedef int(*t_add)(int a, int b); void *handle; handle = dlopen("./libmyadd.so", RTLD_LAZY); t_add myadd = (t_add)dlsym(handle, "add"); int result = myadd(3, 5); dlclose(handle); printf("%dn", result); }
gcc runmyaddso.cpp -o runmyaddso.out
在runmyaddso.cpp同级目录下会生成runmyaddso.out
终端输入./runmyaddso.out
结果是8



