|
一.運行 gcc/egcs
清單 main.c
利用如下的命令可編譯生成可執(zhí)行文件,并執(zhí)行程序:
GCC 可同時用來編譯 C 程序和 C++ 程序。一般來說,C 編譯器通過源文件的后綴名來判斷是 C 程序還是 C++ 程序。在 linux 中,C 源文件的后綴名為 .c,而 C++ 源文件的后綴名為 .C 或 .cpp。 但是,gcc 命令只能編譯 C++ 源文件,而不能自動和 C++ 程序使用的庫連接。因此,通常使用 g++ 命令來完成 C++ 程序的編譯和連接,該程序會自動調(diào)用 gcc 實現(xiàn)編譯。 假設(shè)我們有一個如下的 C++ 源文件(hello.C):
則可以如下調(diào)用 g++ 命令編譯、連接并生成可執(zhí)行文件:
二.gcc/egcs 的主要選項 -ansi 只支持 ANSI 標(biāo)準(zhǔn)的 C 語法。這一選項將禁止 GNU C 的某些特色,例如 asm 或 typeof 關(guān)鍵詞。 -c 只編譯并生成目標(biāo)文件。 -DMACRO 以字符串“1”定義 MACRO 宏。 -DMACRO=DEFN 以字符串“DEFN”定義 MACRO 宏。 -E 只運行 C 預(yù)編譯器。 -g 生成調(diào)試信息。GNU 調(diào)試器可利用該信息。 -IDIRECTORY 指定額外的頭文件搜索路徑DIRECTORY。 -LDIRECTORY 指定額外的函數(shù)庫搜索路徑DIRECTORY。 -lLIBRARY 連接時搜索指定的函數(shù)庫LIBRARY。 -m486 針對 486 進(jìn)行代碼優(yōu)化。 -o FILE 生成指定的輸出文件。用在生成可執(zhí)行文件時。 -O0 不進(jìn)行優(yōu)化處理。 -O 或 -O1 優(yōu)化生成代碼。 -O2 進(jìn)一步優(yōu)化。 -O3 比 -O2 更進(jìn)一步優(yōu)化,包括 inline 函數(shù)。 -shared 生成共享目標(biāo)文件。通常用在建立共享庫時。 -static 禁止使用共享連接。 -UMACRO 取消對 MACRO 宏的定義。 -w 不生成任何警告信息。 -Wall 生成所有警告信息。
|
|
|