那么我們可以通過(guò)下面兩個(gè)命令將這兩個(gè)函數(shù)編譯成靜態(tài)庫(kù)。那么我們可以通過(guò)下面的命令(任選一種)將main.cpp與靜態(tài)庫(kù)進(jìn)行編譯。

創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供定州網(wǎng)站建設(shè)、定州做網(wǎng)站、定州網(wǎng)站設(shè)計(jì)、定州網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、定州企業(yè)網(wǎng)站模板建站服務(wù),10余年定州做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
靜態(tài)庫(kù)不能被打包到.o 文件 在C編譯中, 是.c編譯成.o,然后若干個(gè).o打包成.a .a要比.o高一級(jí)的。
在編譯命令行中,將使用的靜態(tài)庫(kù)文件放在源文件后面就可以了。
就我的感覺(jué),靜態(tài)庫(kù)是編譯好的.o文件,你只要將靜態(tài)庫(kù)(mylib.a)放置于 /lib 以及/usr/lib 文件夾下,然后在gcc編譯器的變量中 加上 -lmylib,就可以了。
由于動(dòng)態(tài)庫(kù)節(jié)省空間,linux下進(jìn)行連接的缺省操作是首先連接動(dòng)態(tài)庫(kù),也就是說(shuō),如果同時(shí)存在靜態(tài)和動(dòng)態(tài)庫(kù),不特別指定的話,將與動(dòng)態(tài)庫(kù)相連接。兩種庫(kù)的編譯產(chǎn)生方法:第一步要把源代碼編繹成目標(biāo)代碼。
ar -tv test.a 解壓靜態(tài)庫(kù): ar -x test.a 查看程序依賴的動(dòng)態(tài)庫(kù): readelf -a xxx|grep library 如:可以看到,下面的交叉程序hello執(zhí)行依賴于如下兩個(gè)動(dòng)態(tài)庫(kù)。
給gcc的鏈接器加上-static-libstdc++ -static-libgcc -static參數(shù),讓它靜態(tài)鏈接libgcc,前提是不使用其它第三方動(dòng)態(tài)庫(kù),如boost。
gcc ao ao ao aa aa -o canrun.bin 按此格式就可以將很多不管是什么名字的目標(biāo)文件鏈接為一個(gè)可執(zhí)行的文件,在運(yùn)行時(shí)在SHELL下輸入:./canrun.bin就可以運(yùn)行了。
就我的感覺(jué),靜態(tài)庫(kù)是編譯好的.o文件,你只要將靜態(tài)庫(kù)(mylib.a)放置于 /lib 以及/usr/lib 文件夾下,然后在gcc編譯器的變量中 加上 -lmylib,就可以了。
1、libc 和 lib-linux 這兩個(gè)最基本的庫(kù)都沒(méi)有,請(qǐng)問(wèn)其他電腦上跑的是linux嗎?沒(méi)有這兩個(gè)庫(kù),沒(méi)有一個(gè)程序可以運(yùn)行。另外,不可能把已有的動(dòng)態(tài)庫(kù)“直接”轉(zhuǎn)換成靜態(tài)庫(kù),你只能從源碼編譯出靜態(tài)庫(kù)。
2、原因是rcS 比/etc/profile先運(yùn)行,rcS是一開(kāi)機(jī)第一個(gè)運(yùn)行的,這時(shí)候你的庫(kù)還沒(méi)有被連進(jìn)來(lái)。建議把./myXX 放在/etc/profile 的末尾。
3、在程序更新、部署、發(fā)布的時(shí)候,使用靜態(tài)庫(kù)相對(duì)麻煩,如果一個(gè)靜態(tài)庫(kù)更新了,那它的應(yīng)用程序都需要重新編譯,再發(fā)送給用戶,有的時(shí)候可能只是一個(gè)小的改動(dòng),但對(duì)于用戶來(lái)說(shuō),會(huì)導(dǎo)致整個(gè)程序重新下載。
分享名稱(chēng):linux靜態(tài)鏈接庫(kù)命令 linux 靜態(tài)庫(kù)后綴
本文地址:http://chinadenli.net/article4/deeepie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、手機(jī)網(wǎng)站建設(shè)、服務(wù)器托管、軟件開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)