中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站在其他地區(qū)備案買友情鏈接

網(wǎng)站在其他地區(qū)備案,買友情鏈接,光明區(qū)住房和建設(shè)局網(wǎng)站,網(wǎng)站緊急升級維護(hù)中2.使用尖括號包括 如果要使用尖括號包括頭文件,有兩種方法 1.將頭文件移動到標(biāo)準(zhǔn)頭文件目錄,linux為/usr/local/include.windows下為C:\MinGW\include 2.編譯時指定頭文件目錄,gcc -I/頭文件目錄 … 編譯時-I參數(shù)就是用于指定頭文件目錄 3.靜態(tài)庫 將文件編譯為靜態(tài)庫,可以…
2.使用尖括號包括

如果要使用尖括號包括頭文件,有兩種方法

1.將頭文件移動到標(biāo)準(zhǔn)頭文件目錄,linux為/usr/local/include.windows下為C:\MinGW\include

2.編譯時指定頭文件目錄,gcc -I/頭文件目錄 … 編譯時-I參數(shù)就是用于指定頭文件目錄

3.靜態(tài)庫

將文件編譯為靜態(tài)庫,可以將多個目標(biāo)文件保存為一個存檔,在linux中存檔命令為"ar",例如

ar -rcs libmylib.a source1.o source2.o

參數(shù)r表示如果.a文件存在,則更新它,c表示創(chuàng)建存檔時不反饋信息,s表示在.a文件開頭建立索引,文檔名必須以lib開頭,否則編譯器無法找到該存檔

編譯時使用靜態(tài)庫的方法為使用-l參數(shù),如果該靜態(tài)庫處在標(biāo)準(zhǔn)目錄(linux下為/usr/local/lib)中,則無需指定目錄,如果不在標(biāo)準(zhǔn)目錄中,需要使用-L參書指定靜態(tài)庫所處的目錄,例如

gcc test.c -L/my_lib -lmylib -o test

3.使用靜態(tài)庫實例

創(chuàng)建頭文件hellow.h,how.h,c文件hellow.c,how.c,main.c,以及一個Makefile文件

  • hellow.h

void hellow();

  • how.h

void how();

做完之后可以將兩個頭文件移動到標(biāo)準(zhǔn)頭文件目錄下,如果不移動,后面的makefile文件需要使用-I參數(shù),指定頭文件目錄為當(dāng)前目錄

  • hellow.c

#include<hellow.h>

#include<stdio.h>

void hellow()

{

printf(“hellow world\n”);

}

  • how.c

#include<how.h>

#include<stdio.h>

void how()

{

printf(“how are you\n”);

}

  • main.c

#include<stdio.h>

#include<hellow.h>

#include<how.h>

int main()

{

hellow();

how();

return 0;

}

  • Makefile文件

#include<hellow.h>

#include<how.h>

hellow.o:hellow.c

gcc -c hellow.c -o hellow.o

how.o:how.c

gcc -c how.c -o how.o

libgreet.a:hellow.o how.o

ar -rcs libgreet.a hellow.o how.o

run:main.c libgreet.a

gcc main.c -L. -lgreet -o run

  • 運行make run

[root@izhqmn61154vmrz libTest]# make run

gcc -c hellow.c -o hellow.o

gcc -c how.c -o how.o

ar -rcs libgreet.a hellow.o how.o

gcc main.c -L. -lgreet -o run

  • 運行run

[root@izhqmn61154vmrz libTest]# ./run

hellow world

how are you

  • 由上面的實例可以看出,靜態(tài)庫是由不同的目標(biāo)代碼組件而成的,需要先編譯.o文件,再創(chuàng)建.a文檔,再將它們鏈接成可執(zhí)行程序,一旦用這些獨立的目標(biāo)代碼創(chuàng)建了可執(zhí)行程序,就沒辦法修改組成靜態(tài)庫的目標(biāo)文件,除非重新編譯.o文件,創(chuàng)建.a文檔…,這也是它被稱為靜態(tài)庫的原因
4.動態(tài)庫

靜態(tài)庫在生成執(zhí)行文件后無法修改組成執(zhí)行文件中的目標(biāo)代碼,而動態(tài)庫通過將目標(biāo)代碼分別保存在單獨的文件中,在程序運行時才將之動態(tài)的鏈接到一起,從而實現(xiàn)了可以修改目標(biāo)文件的目的

  • 創(chuàng)建動態(tài)庫

將目標(biāo)代碼轉(zhuǎn)換為動態(tài)庫之前,需要先將它編譯為.o目標(biāo)文件:

gcc -fPIC -c source.c -o source.o

-fPIC表示想創(chuàng)建位置無關(guān)代碼,在linux中必須加這個參數(shù),然后創(chuàng)建動態(tài)庫

gcc -shared source.o -o source.so

-shared選項將.o文件轉(zhuǎn)化為動態(tài)庫,在linux中動態(tài)庫被稱為共享目標(biāo)文件,后綴名為.so,而在windows中,動態(tài)庫被稱為動態(tài)鏈接庫,后綴名為.dll

  • 動態(tài)庫使用實例

創(chuàng)建頭文件hellow.h,c文件hellow.c,main.c將頭文件放在上一級目錄的includes目錄中,同時創(chuàng)建libs目錄,文件內(nèi)容與靜態(tài)庫使用的文件相同

  • 將hellow.c文件編譯為.o文件
http://www.risenshineclean.com/news/1028.html

相關(guān)文章:

  • 最便宜做公司網(wǎng)站app營銷策劃方案
  • 如何進(jìn)入微網(wǎng)站同城引流用什么軟件
  • 怎樣建設(shè)網(wǎng)站是什么意思全網(wǎng)推廣費用
  • 網(wǎng)站發(fā)布初期的推廣seo每天一貼
  • wordpress 編輯器 視頻教程東莞seo優(yōu)化方案
  • 怎樣買網(wǎng)站建設(shè)濟南seo網(wǎng)站排名優(yōu)化工具
  • 醫(yī)療美容培訓(xùn)網(wǎng)站建設(shè)搜索引擎培訓(xùn)班
  • 織夢網(wǎng)站推廣插件無憂軟文網(wǎng)
  • 網(wǎng)站代碼修改某個產(chǎn)品營銷推廣方案
  • 自己的網(wǎng)站如何做快照劫持搜索引擎外部優(yōu)化有哪些渠道
  • wordpress登錄安全插件下載網(wǎng)站優(yōu)化策劃書
  • 網(wǎng)站建設(shè)編輯部搜索網(wǎng)站的瀏覽器
  • 工業(yè)軟件開發(fā)技術(shù)就業(yè)前景seo代做
  • 體育類網(wǎng)站 設(shè)計百度下載2022新版安裝
  • 外貿(mào)電子商務(wù)網(wǎng)站建設(shè)軟件外包公司排行
  • 天津網(wǎng)站開發(fā)公司 智善美科技網(wǎng)絡(luò)廣告營銷策略
  • google提交網(wǎng)站入口關(guān)鍵詞推廣優(yōu)化外包
  • h5游戲中心seo優(yōu)化需要多少錢
  • 昆明seo公司網(wǎng)站不用流量的地圖導(dǎo)航軟件
  • 一個網(wǎng)站用兩個域名谷歌搜索引擎為什么打不開
  • 開發(fā)一個網(wǎng)站多少錢友鏈查詢站長工具
  • 佛山網(wǎng)站優(yōu)化運營房地產(chǎn)銷售
  • 合肥市網(wǎng)站建設(shè)優(yōu)化營商環(huán)境條例心得體會
  • 網(wǎng)站模板下載器成都關(guān)鍵詞排名推廣
  • 大氣的企業(yè)網(wǎng)站模板視頻推廣
  • 怎么用dw做地圖網(wǎng)站百度推廣需要什么條件
  • 做網(wǎng)站 除了域名怎么聯(lián)系百度客服
  • 住建培訓(xùn)網(wǎng)站線上宣傳有哪些好的方式方法
  • 如何做網(wǎng)站商城2345網(wǎng)址導(dǎo)航安裝
  • 新網(wǎng)頁游戲開服表seo推廣軟件下載