1.环境
Ubuntu14.04
gcc 4.8.4
g++ 4.8.4
2.库文件
1)源码
//clTest.c int add(int a, int b) { return a + b; } 2)生成库文件cd到clTest.c所在目录,输入命令
gcc -shared -o libclTest.so clTest.c会在当前目录生成文件libclTest.so3.主程序
1)源码
//cppclTest.c#include <stdio.h>#include <dlfcn.h>using namespace std;int main() { typedef int(*t_add)(int a, int b); void *handle; handle = dlopen("./libclTest.so", RTLD_LAZY); t_add myadd = (t_add)dlsym(handle, "add"); int result = myadd(1, 2); dlclose(handle); PRintf("%d/n", result);}2)编译成可执行文件cd到cppclTest.cpp所在目录,输入命令
g++ cppclTest.cpp -o cppclTest -ldl生成可执行文件cppclTest4.执行cd到可执行文件cppclTest所在目录
输入命令
./cppclTest
新闻热点
疑难解答
图片精选