新聞中心
/**
成都創(chuàng)新互聯(lián)專注于察雅網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供察雅營(yíng)銷型網(wǎng)站建設(shè),察雅網(wǎng)站制作、察雅網(wǎng)頁(yè)設(shè)計(jì)、察雅網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造察雅網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供察雅網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
* 此處的例子中所有的文件都在同一個(gè)目錄下
* 若不在同一個(gè)路徑下,請(qǐng)自行修改
**/
靜態(tài)庫(kù):
1> 編譯源文件生成目標(biāo)文件
gcc -c file1.c [file2.c ...] //單文件注意文件名
2> 使用ar命令打包
ar -crv libxxx.a *.o //庫(kù)文件必須以lib開頭,后綴為.a
-c 創(chuàng)建
-v 顯示過(guò)程
-r 插入文件
3> 使用靜態(tài)庫(kù)
方式一:將庫(kù)文件當(dāng)普通.o文件一樣對(duì)待
gcc -o [execfilename] *.o libxxx.a
方式二:指定庫(kù)文件路徑與名稱
gcc -o [execfilename] *.o [-L.] -lxxx
其中
-L:指定庫(kù)文件路徑(使用系統(tǒng)庫(kù)文件可不指定)
-l:指定庫(kù)文件名(去掉lib前綴與.a后綴)
4> 查看庫(kù)文件、目標(biāo)文件、可執(zhí)行文件包含的函數(shù)
nm filename
共享庫(kù):
1> 生成與位置無(wú)關(guān)的.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 可執(zhí)行文件名查看依賴的共享庫(kù)
解決方案
1.將自己的庫(kù)文件放到/lib或/lib64里面(不建議)
2.配置LD_LIBRARY_PATH變量
export LD_LIBRARY_PATH = ./lib
2(或).修改配置文件
vi ~/.bashrc
export LD_LIBRARY_PATH=/path/to/yourlibfile
本文名稱:c語(yǔ)言靜態(tài)庫(kù)與共享庫(kù)的制作
鏈接URL:http://fisionsoft.com.cn/article/gojiho.html