最簡單的生成, 動態載入.so 檔案的例子
#ifndef _test_h
#define _test_h
#include
using namespace std;
void showmessage()
#endif
gcc -shared -fpic test.cpp -o libtest.so.1.0
//建立鏈結
ln -fs $pwd/libtest.so.1.0 $pwd/libtest.so //要使用絕對路徑
// test.h 動態庫庫中函式的宣告
void showmessage();
int main()
showmessage();
return 0;
//動態載入.so
g++ main.cpp -l. -rdynamic -ltest -o main //這裡註明一下 -l. 的意思是在當前目錄下搜尋該檔案
Linux下動態載入
linux提供了一套api來動態裝載庫。下面列出了這些api dlopen,開啟乙個庫,並為使用該庫做些準備。dlsym,在開啟的庫中查詢符號的值。dlclose,關閉庫。dlerror,返回乙個描述最後一次呼叫dlopen dlsym,或dlclose的錯誤資訊的字串。c語言使用者需要包含標頭檔案...
linux 下生成動態庫 so並引用
動態庫的引入及減少了主 檔案的大小,同時生成的動態庫又是動態載入的,只有執行的時候才去載入,linux 下的 動態庫 so 就像windows下的 dll一樣。有關動態庫的概念自行上網搜。一下是建立及引用動態庫 test so.h ifndef test so h define test so h ...
Linux下動態載入庫
七月 9th,2011 以前看到過windows下載入動態庫的例子,linux下沒有特別關注過。動態載入庫有很多好處,比如通過讀取配置檔案,按照配置資訊來為指定型別或指定目錄下的資料使用指定的動態庫方法,既實現了程式的松耦合,也方便擴充套件。在linux下動態載入庫要使用到dl庫。使用的方法記錄如下...