c++ 動態庫 顯式加載 隱式加載

window API 動態庫隱式加載方式。

//庫函數定義
int add(int a,int b)
{
    return a+b;
}

 用戶需要拿到庫文檔,文檔記錄了dll內的每個函數名和參數,利用函數指針指向庫函數進行使用。

優點:dll庫文件可以放入指定文件夾;無需引用頭文件。

缺點:參數需要遵守文檔函數內參數規則。

隱式加載優缺點則反之。

HINSTANCE hInst=LoadLibrary("dll_name.dll");//加載動態庫獲得句柄
typedef int(*fun_ptr)(int a,int b);//定義庫內函數的指針
fun_ptr fp=(fun_ptr)GetProcAddress(hInst,"add");//獲得函數句柄

linux隱式加載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章