1.環境
ubuntu14.o4
gcc 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.so
3.主程式
1)源碼
//cclTest.c
#include <stdio.h>
#include <dlfcn.h>
int main(void) {
int(*myadd)(int a, int b);
void *handle;
handle = dlopen("./libclTest.so", RTLD_LAZY);
myadd = dlsym(handle, "add");
int result = myadd(1, 2);
dlclose(handle);
printf("%d\n", result);
}
2)編譯成可執行檔案
cd到cclTest.c所在目錄,輸入指令
gcc -o cclTest cclTest.c -ldl
生成可執行檔案cclTest
4.執行
cd到可執行檔案cclTest所在目錄
輸入指令
./cclTest