(七)linux下共享庫開發的流程

一.共享庫:沒複製函數,只是記錄了用了哪些符號,在哪用。代碼少,多程序可共享一個庫。但是運行時還需要共享庫。升級方便。系統更多的使用的是共享庫。

二創建和使用:1。確定函數和函數接口2。編譯gcc -c -fPIC hello.c bye.c -Wall 其中-fPIC告訴編譯器生成位置無關代碼,可被加載到任意空間執行生成了.o文件

3。創建共享庫common 用gcc -shared -o libcommon.so.1 hello.o bye.o  其中.1是庫的版本可變爲.2 .3等需要版本兼容 4。爲共享庫創建符號鏈接(鏈接文件)編譯器編譯時候可以找到。ln -s libcommon.so.1 libcommon.so       其中libcommom.so必須用lib開始,用.so結尾 5。爲庫編寫頭文件 6。主程序編譯是gcc -o test test.c -L. -lcommon 但是個共享庫加載時候值搜索了系統默認目錄下的 所以可以添加共享庫的加載路徑export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:..原來路徑加多的路徑後面加一個點表示當前

或者直接拷到/usr/lib和lib下但是不建議   上面第一種方法只是帶當前shell下改變了環境變量

最終的處理方法是在/etc/ld.so.conf.d/*.conf文件加動態庫路徑,是sudo vi /etc/ld.so.conf.d/my.cofg  在裏面加上路徑/  運行 sudo ldconfig刷新。

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