亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c語言靜態庫與共享庫的制作

發布時間:2020-06-16 16:58:28 來源:網絡 閱讀:1609 作者:wx57ad16f277310 欄目:編程語言

/**

* 此處的例子中所有的文件都在同一個目錄下

* 若不在同一個路徑下,請自行修改

**/


靜態庫:

1> 編譯源文件生成目標文件

gcc -c file1.c [file2.c ...]    //單文件注意文件名

2> 使用ar命令打包

ar -crv libxxx.a *.o        //庫文件必須以lib開頭,后綴為.a

-c 創建

-v 顯示過程

-r 插入文件

3> 使用靜態庫

方式一:將庫文件當普通.o文件一樣對待

gcc -o [execfilename] *.o libxxx.a

方式二:指定庫文件路徑與名稱

gcc -o [execfilename] *.o [-L.] -lxxx

其中

-L:指定庫文件路徑(使用系統庫文件可不指定)

-l:指定庫文件名(去掉lib前綴與.a后綴)


4> 查看庫文件、目標文件、可執行文件包含的函數

nm filename


共享庫:

1> 生成與位置無關的.o文件

gcc -fPIC -c *.c -Iinclude    

2> 生成.so文件

gcc -shared -o libxxx.so *.o

3> 使用

方法一

gcc main.c libxxx.so -o app 

方法二

gcc main.c -L. -l xxx -o app 

使用ldd 可執行文件名查看依賴的共享庫

解決方案

1.將自己的庫文件放到/lib或/lib64里面(不建議)

2.配置LD_LIBRARY_PATH變量

export LD_LIBRARY_PATH = ./lib

2(或).修改配置文件

vi ~/.bashrc

export LD_LIBRARY_PATH=/path/to/yourlibfile


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

科尔| 雅安市| 丹江口市| 沧源| 社会| 惠东县| 济宁市| 桃园县| 隆德县| 汕头市| 丰镇市| 苍梧县| 江都市| 石棉县| 万荣县| 浦北县| 且末县| 沛县| 安阳市| 定安县| 布尔津县| 康平县| 探索| 静宁县| 渭源县| 新源县| 康定县| 顺昌县| 仙居县| 灵丘县| 达日县| 成都市| 颍上县| 沽源县| 江达县| 新化县| 菏泽市| 桑日县| 乌拉特前旗| 屯昌县| 额尔古纳市|