格式 gcc [option] [sourcefilename]
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括靜樂網(wǎng)站建設(shè)、靜樂網(wǎng)站制作、靜樂網(wǎng)頁制作以及靜樂網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,靜樂網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到靜樂省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
介紹一些常用的選項(xiàng):最簡(jiǎn)單的是:gcc hello.c
默認(rèn)的情況下將生成a.out的可執(zhí)行性文件,你只需要在終端上輸入./a.out就可以看到執(zhí)行的結(jié)果.
如果你想指定生成目標(biāo)文件的名字那么你可以加上 -o選項(xiàng),命令如下:
gcc -o hello hello.c
命令如下:
gcc -c hello hello.c
編譯方法:格式 gcc [option] [sourcefilename]常用的選項(xiàng)最簡(jiǎn)單的是:gcc hello.c默認(rèn)的情況下將生成a.out的可執(zhí)行性文件,
只需要在終端上輸入./a.out就可以看到執(zhí)行的結(jié)果,如果你想指定生成目標(biāo)文件的名字那么你可以加上 -o選項(xiàng),命令如下:gcc -o hello hello.c
命令:gcc -c hello hello.c
擴(kuò)展資料:
gcc命令的基本用法
gcc[options]?[filenames] ?
其中,filenames為文件名;options為編譯選項(xiàng)。
當(dāng)不使用任何編譯選項(xiàng)編譯hello.c時(shí),gcc將會(huì)自動(dòng)編譯產(chǎn)生一個(gè)a.out的可執(zhí)行文件:
[root@localhost?c]#?ls ?
hello.c ?
[root@localhost?c]#?gcc?hello.c ?
[root@localhost?c]#?ls ?
a.out??hello.c?
執(zhí)行:
[root@localhost?c]#?./a.out ?
Hello,?World!?
使用-o編譯選擇,可以為編譯后的文件指定一個(gè)名字:
[root@localhost?c]#?ls ?
a.out??hello.c ?
[root@localhost?c]#?gcc?hello.c?-o?hello ?
[root@localhost?c]#?ls ?
a.out??hello??hello.c ?
執(zhí)行:
[root@localhost?c]#?./hello ?
Hello,?World!?
注意:使用-o選項(xiàng)時(shí),-o后面必須跟一個(gè)文件名,即:-o outfile。
為了便于描述后面的選項(xiàng),刪除hello和a.out可執(zhí)行文件。
linux gcc編譯c文件頭文件
linux gcc編譯c文件頭文件,使用GCC編譯器編譯C語言
兇豬下山
轉(zhuǎn)載
關(guān)注
0點(diǎn)贊·1047人閱讀
GCC編譯C源代碼有四個(gè)步驟:預(yù)處理—-編譯—-匯編—-鏈接。
可以利用GCC的參數(shù)來控制執(zhí)行的過程,這樣就可以更深入的了解編譯C程序的過程。
下面將通過對(duì)一個(gè)程序的編譯來演示整個(gè)過程。
#include
int main()
{
printf("happy new year!\n");
return 0;
}
1:預(yù)處理:編譯器將C程序的頭文件編譯進(jìn)來,還有宏的替換,可以用gcc的參數(shù)-E來參看。
預(yù)處理 命令:gcc -E hello.c -o hello.i
作用:將hello.c預(yù)處理輸出hello.i
2:編譯:這個(gè)階段編譯器主要做詞法分析、語法分析、語義分析等,在檢查無錯(cuò)誤后后,把代碼翻譯成匯編語言。可用gcc的參數(shù)-S來參看。
編譯器(ccl)將文本文件hello.i 翻譯成文本文件hello.s, 它包含一個(gè)匯編語言程序。匯編語言程序中的每條語句都以一種標(biāo)準(zhǔn)的文本格式描述了一條低級(jí)機(jī)器語言指令。
編譯命令:gcc -S hello.i -o hello.s
作用:將預(yù)處理輸出文件hello.i匯編成hello.s文件
3:匯編:把編譯階段生成的.s 文件轉(zhuǎn)換為二進(jìn)制目標(biāo)代碼??捎胓cc的參數(shù)-c來參看。匯編器(as)將hello.s翻譯成機(jī)器語言指令,把這些指令打包成可重定位目標(biāo)程序的格式, 并將結(jié)果保存在目標(biāo)文件hello.o中。hello.o文件是一個(gè)二進(jìn)制文件,它的字節(jié)編碼是機(jī)器語言。
匯編 命令:gcc -c hello.s -o hello.o
作用:作用:將匯編輸出文件hello.s編譯輸出hello.o文件
4:鏈接:把obj文件鏈接為可執(zhí)行的文件:鏈接器(ld)負(fù)責(zé).o文件的并入。結(jié)果就是hello文件,它是一個(gè)課執(zhí)行的目標(biāo)文件,可以加載到存儲(chǔ)器后由系統(tǒng)調(diào)用。
鏈接命令:gcc hello.o -o hello
一步操作的話是: (-o必須在hello之前 )
$gcc hello.c -o hello
$./hello或者:(會(huì)默認(rèn)生成a.out文件)
$gcc hello.c
$./a.out