輕松學會Linux動態庫知識
目前,Linux系統越來越受到電腦用戶的歡迎,于是很多人開始學習Linux時,在這期間,你可能會遇到Linux動態庫的編寫的知識,這里將介紹Linux動態庫的編寫知識,希望能學會。
四、動態庫的編寫
1、概述
動態庫一般以.so結尾,就是shared object的意思.
其基本生成步驟為
⑴編寫函數代碼
⑵編譯生成動態庫文件,要加上 -shared 和 -fpic 選項 , 庫文件名以lib開頭, 以.so 結尾。
使用方式分為兩種: 隱式調用和顯示調用
隱式調用類似于靜態庫的使用,但需修改動態鏈接庫的配置文件/etc/ld.so.conf;顯示調用則是在主程序里使用dlopen、dlsym、dlerror、dlclose等系統函數。具體的調用方式會在 "五、動態庫的調用" 中詳細說明.
2、編寫最簡單的動態庫文件
為了便于對照, 我們仍然采用靜態庫中的文件做例子.
編寫如下兩個文件,注意放在同一目錄中
- myalib.h//靜態庫頭文件
- myalib.c//靜態庫實現文件
- //myalib.h 文件的內容
- void test();
- //myalib.c 文件的內容
- #inlcude <stdio.h>
- void test()
- {
- printf("test\n");
- }
3、編譯生成動態庫 ,庫文件名以lib開頭, 以.so 結尾。
gcc -fpic -shared -o libtest.so myalib.c
此時就生成一個libtest.so文件,以上就是Linux動態庫的編寫的知識。
【編輯推薦】