溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

GCC參數(shù)是什么

發(fā)布時(shí)間:2021-10-14 16:22:04 來源:億速云 閱讀:248 作者:柒染 欄目:編程語言

這篇文章給大家介紹GCC參數(shù)是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

  gcc與g++分別是gnu的c&c++編譯器gcc/g++在執(zhí)行編譯工作的時(shí)候,總共需要4步:

  1、預(yù)處理,生成.i的文件[預(yù)處理器cpp]

  2、將預(yù)處理后的文件轉(zhuǎn)換成匯編語言,生成文件.s[編譯器egcs]

  3、有匯編變?yōu)槟繕?biāo)代碼(機(jī)器代碼)生成.o的文件[匯編器as]

  4、連接目標(biāo)代碼,生成可執(zhí)行程序[鏈接器ld]

參數(shù)詳解

  -xlanguagefilename

  設(shè)定文件所使用的語言,使后綴名無效,對(duì)以后的多個(gè)有效。也就是根據(jù)約定C語言的后綴名稱是.c的,而C++的后綴名是.C或者.cpp,如果你很個(gè)性,決定你的C代碼文件的后綴名是.pig哈哈,那你就要用這個(gè)參數(shù),這個(gè)參數(shù)對(duì)他后面的文件名都起作用,除非到了下一個(gè)參數(shù)的使用??梢允褂玫膮?shù)嗎有下面的這些:'c','objective-c','c-header','c++','cpp-output','assembler',與'assembler-with-cpp'。

看到英文,應(yīng)該可以理解的。

  xnonefilename

關(guān)掉上一個(gè)選項(xiàng),也就是讓gcc根據(jù)文件名后綴,自動(dòng)識(shí)別文件類型。

  c

  只激活預(yù)處理,編譯,和匯編,也就是他只把程序做成obj文件

  S

  只激活預(yù)處理和編譯,就是指把文件編譯成為匯編代碼。

  E

  只激活預(yù)處理,這個(gè)不生成文件,你需要把它重定向到一個(gè)輸出文件里面。

  o

  制定目標(biāo)名稱,默認(rèn)的時(shí)候,gcc編譯出來的文件是a.out,很難聽,如果你和我有同感,改掉它。

  pipe

  使用管道代替編譯中臨時(shí)文件,在使用非gnu匯編工具的時(shí)候,可能有些問題。

  GCC可同時(shí)用來編譯C程序和C++程序。一般來說,C編譯器通過源文件的后綴名來判斷是C程序還是C++程序。在Linux中,C源文件的后綴名為.c,而C++源文件的后綴名為.C或.cpp。但是,gcc命令只能編譯C++源文件,而不能自動(dòng)和C++程序使用的庫連接。因此,通常使用g++命令來完成C++程序的編譯和連接,該程序會(huì)自動(dòng)調(diào)用gcc實(shí)現(xiàn)編譯。

關(guān)于GCC參數(shù)是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

gcc
AI