91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

深圳市| 漾濞| 西昌市| 吴江市| 常熟市| 巴东县| 开封市| 青阳县| 柳河县| 高要市| 禄劝| 福建省| 吴忠市| 宣城市| 洛南县| 湖南省| 日喀则市| 修水县| 兴义市| 汤阴县| 乐山市| 满城县| 射阳县| 崇义县| 上犹县| 宝山区| 历史| 宁河县| 安国市| 镇沅| 香格里拉县| 沈丘县| 呼玛县| 和静县| 毕节市| 阜阳市| 布尔津县| 永年县| 荣昌县| 涟水县| 噶尔县|