日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]C語言從代碼變成可執(zhí)行程序的步驟:預(yù)處理?----->?編譯?----->?匯編?----->?鏈接⒈預(yù)處理:去掉注釋,加載頭文件,代替宏定義,條件編譯需要文件:.c文件生成產(chǎn)物:預(yù)

C語言從代碼變成可執(zhí)行程序的步驟:

預(yù)處理?----->?編譯?----->?匯編?----->?鏈接

⒈預(yù)處理:去掉注釋,加載頭文件,代替宏定義,條件編譯

需要文件:.c文件

生成產(chǎn)物:預(yù)處理文件(以.i結(jié)尾)

使用方法:gcc hello.c -E -o hello.i

可以使用vim打開預(yù)處理文件來查看生成產(chǎn)物

⒉編譯:使用編譯器進(jìn)行C語言的語法檢查,如果有語法錯誤,報錯,并結(jié)束編譯過程;如果沒有語法錯誤,把C的源程序轉(zhuǎn)變?yōu)閰R編代碼;

需要文件:.i文件

生成產(chǎn)物:匯編文件(以.s結(jié)尾)

使用方法:gcc hello.i -S -o hello.s

可以使用vim打開匯編文件來查看生成產(chǎn)物

⒊匯編:把匯編源文件通過匯編器生成目標(biāo)文件(二進(jìn)制機(jī)器語言)

需要文件:.s文件

生成產(chǎn)物:機(jī)器碼(或稱為“目標(biāo)代碼”,以.o結(jié)尾)

使用方法:gcc hello.s -c -o hello.o

可以使用vim打開目標(biāo)代碼文件來查看生成產(chǎn)物(不過只會看到亂碼)

⒋鏈接:把目標(biāo)文件執(zhí)行所依賴的所有二進(jìn)制的其他目標(biāo)文件及C的庫文件都整合成一個可執(zhí)行文件的過程;

需要文件:.o文件及各種動態(tài)庫或靜態(tài)庫

生成產(chǎn)物:可執(zhí)行程序

使用方法:gcc hello.o -o hello

-o:指定生成的產(chǎn)物的名字

-Wall:讓編譯器報告全部錯誤

我們要養(yǎng)成良好習(xí)慣,在編譯過程中添加-o指定生成產(chǎn)物名稱,添加-Wall報告所有的error和warning方便我們調(diào)試程序。完整的編譯指令如下:

gcc hello.c -o hello -Wall

?

編譯完成后(無error,無warning),會生成-o之后的文件(如沒有加-o則會生成a.out文件)

執(zhí)行文件:

./hello(./a.out)

1、#define?在預(yù)處理階段

???typedef?在編譯階段

2、和shell編程一樣

C語言的main(int argc, const char *argv[])中兩個參數(shù)分別代表命令行參數(shù)個數(shù),和存放參數(shù)的指針常量數(shù)組


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉