1.環(huán)境
Ubuntu 14.04
g++ 4.8.4
2.沒有類的情況
1)庫文件
a)源碼
//cppl1.cppextern "C" int add(int a, int b) { return a + b;}b)生成庫文件cd到cppl1.cpp所在目錄,輸入命令
g++ -shared -o libcppl1.so cppl1.cpp會在當前目錄生成文件libcppl1.so2)主程序a)源碼
//cppcppl1.cpp#include <stdio.h>#include <dlfcn.h>using namespace std;int main() { typedef int(*t_add)(int a, int b); void *handle; handle = dlopen("./libcppl1.so", RTLD_LAZY); t_add myadd = (t_add)dlsym(handle, "add"); int result = myadd(1, 2); dlclose(handle); PRintf("%d/n", result);}b)編譯成可執(zhí)行文件cd到cppcppl1.cpp所在目錄,輸入命令
g++ cppcppl1.cpp -o cppcppl1 -ldl生成可執(zhí)行文件cppcppl14).執(zhí)行
cd到可執(zhí)行文件cppcppl1所在目錄
輸入命令
./cppcppl1
新聞熱點
疑難解答
圖片精選