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