- 参考链接
- 一.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
#include
#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("%d\n", result);
}
runmyaddso.cpp 目录下打开终端窗口输入
gcc runmyaddso.cpp -o runmyaddso.out
在runmyaddso.cpp同级目录下会生成runmyaddso.out
终端输入./runmyaddso.out
结果是8
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)