1.創(chuàng)建so文件
這一步很簡單,只需要在用cc編譯的時候,加上-shared選項即可,這樣成成的執(zhí)行程序即為動態(tài)鏈接庫,例如:
cc -shared -o hello.so hello.c
2.調用so文件中的函數的步驟
a. 包含so中函數的頭文件,包含dlfcn.h頭文件,這個頭文件中定義了打開so文件,調用so的函數,關閉so的函數
b.申明so中函數的類型變量
c.用dlopen函數打開so文件,返回句柄
d.用dlsym函數以上c步驟中得到的句柄,得到so文件中要調用的函數的動態(tài)地址,并把這個地址賦值給在b步驟中申明的函數類型變量
e.通過b中申明的函數類型變量調用so中的函數
f.用dlclose函數關閉c中得到的句柄所指向的so動態(tài)連接庫
挺簡單吧!