Linux C编程之四 动态库(共享库)的制作
一、整體大綱
二、共享庫(kù)的制作
1. 命名規(guī)則:
? ? lib + 名字 + .so
2. 制作步驟:
? ? 1) 生成與位置無(wú)關(guān)的代碼 (生成與位置無(wú)關(guān)的.o)
?? ?2) 將.o打包成共享庫(kù)(動(dòng)態(tài)庫(kù))
3. 發(fā)布和使用共享庫(kù):
4. 解決程序執(zhí)行時(shí)動(dòng)態(tài)庫(kù)無(wú)法被加載的問(wèn)題:?
? ? 1)放到系統(tǒng)的庫(kù)目錄 中 -- 不允許使用
?? ?2)臨時(shí)測(cè)試
? ? ? ? ? 環(huán)境變量: LD_LIBRARY_PATH=將動(dòng)態(tài)庫(kù)的路徑設(shè)置給該變量
? ? ? ? ? 將設(shè)置的值, 導(dǎo)入到系統(tǒng)環(huán)境變量中: export LD_LIBRARY_PATH
? ? ? ? ? 當(dāng)終端關(guān)閉, 設(shè)置會(huì)失效
? ? 3)不常用的方法(永久設(shè)置):?
? ? ? ? ? 在家目錄的 .bashrc文件 中添加一句話: export LD_LIBRARY_PATH=動(dòng)態(tài)庫(kù)目錄的絕對(duì)路徑
? ? ? ? ? ?.bashrc修改完成, 需要重啟終端
? ? 4)修改配置文件??
? ? ? ? ? a. 需要找動(dòng)態(tài)連接器的配置文件 -- ?/etc/ld.so.conf
? ? ? ? ? b. 動(dòng)態(tài)庫(kù)的路徑寫(xiě)到配置文件中 -- 絕對(duì)路徑
? ? ? ? ? c. 更新 -- sudo ldconfig -v
5. 優(yōu)缺點(diǎn):
三、動(dòng)態(tài)庫(kù)的制作示例??
動(dòng)態(tài)庫(kù)的制作示例請(qǐng)看博客:https://www.cnblogs.com/xuejiale/p/10741311.html
轉(zhuǎn)載于:https://www.cnblogs.com/xuejiale/p/10788340.html
總結(jié)
以上是生活随笔為你收集整理的Linux C编程之四 动态库(共享库)的制作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [技术博客] gitlab快速部署流程
- 下一篇: [转帖]Linux修改时区