使用语法:
gcc [ option | filename ]...
g [ option | filename ]...

其中 option 为 gcc 使用时的选项(后面会再详述),而 filename 为欲以 gcc 处理的文档
说明:
这 C 和 C 的 compiler 已将产生新程式的相关程式整合起来。产生一个新的程式需要经过四个阶段:预处理、编译、汇编,连结,而这两个编译器都能将输入的文档做不同阶段的处理。虽然原始程式的扩展名可用来分辨编写原始程式码所用的语言,但不同的 compiler ,其预设的处理程式却各不相同:

gcc 预设经由预处理过(扩展名为.i)的文档为 C 语言,并於程式连结阶段以 C 的连结方式处理。

g 预设经由预处理过(扩展名为.i)的文档为 C 语言,并於程式连结阶段以 C 的连结方式处理。

使用语法:
gcc [ option | filename ]...
g [ option | filename ]...

其中 option 为 gcc 使用时的选项(后面会再详述),而 filename 为欲以 gcc 处理的文档
说明:
这 C 和 C 的 compiler 已将产生新程式的相关程式整合起来。产生一个新的程式需要经过四个阶段:预处理、编译、汇编,连结,而这两个编译器都能将输入的文档做不同阶段的处理。虽然原始程式的扩展名可用来分辨编写原始程式码所用的语言,但不同的 compiler ,其预设的处理程式却各不相同:

gcc 预设经由预处理过(扩展名为.i)的文档为 C 语言,并於程式连结阶段以 C 的连结方式处理。

g 预设经由预处理过(扩展名为.i)的文档为 C 语言,并於程式连结阶段以 C 的连结方式处理。


原始程式码的扩展名指出所用编写程式所用的语言,连同相对应的处
理方法:

.c C 原始程式 ; 预处理、编译、汇编
.C C 原始程式 ; 预处理、编译、汇编
.cc C 原始程式 ; 预处理、编译、汇编
.cxx C 原始程式 ; 预处理、编译、汇编
.m Objective-C 原始程式 ; 预处理、编译、汇编
.i 已过预处理之 C 原始程式 ; 编译、汇编
.ii 已过预处理之 C 原始程式 ; 编译、汇编
.s 组合语言原始程式 ; 汇编
.S 组合语言原始程式 ; 预处理、汇编
.h 预处理文档(标头文档) ; (不常出现在指令行)


其他扩展名的文档是由连结程式来处理,通常有:

.o Object file
.a Archive file


除非编译过程出现错误,否则 "连结" 一定是产生一个新程式的最後阶段。然而您也能够以 -c、-s 或 -E 等选项,将整个过程自四个阶段中的其中一个停止。在连结阶段,任何和源代码相对应的.o 文档、程式库、和其他无法自文档名辨明属性的文档(包括不以 .o 为扩展名的 object file 连同扩展名为 .a 的 archive file)都会交由连结程式来处理(在指令行将那些文档当作连结程式的参数传给连结程式)。


选项:
不同的选项必须分开来下:例如 `-dr' 这个选项就和 `-d -r' 大不相同。

绝大部份的 `-f' 及 `-W' 选项都有正反两种形式:-fname 及-fno-name (或 -Wname 及 -Wno-name)。以下只列出非预设的那个形式。

以下是任何选项的摘要。以形式来分类。选项的意义将另辟小节说明。

一般性(概略、常用的)选项
-c -S -E -o file -pipe -v -x language

程式语言选项
-ansi -fall-virtual -fcond-mismatch
-fdollars-in-identifiers -fenum-int-equiv
-fexternal-templates -fno-asm -fno-builtin
-fno-strict-prototype -fsigned-bitfields
-fsigned-char -fthis-is-variable
-funsigned-bitfields -funsigned-char
-fwritable-strings -traditional -traditional-cpp
-trigraphs

编译时的警告选项
-fsyntax-only -pedantic -pedantic-errors -w -W
-Wall -Waggregate-return -Wcast-align -Wcast-qual
-Wchar-subscript -Wcomment -Wconversion
-Wenum-clash -Werror -Wformat -Wid-clash-len
-Wimplicit -Winline -Wmissing-prototypes
-Wmissing-declarations -Wnested-externs -Wno-import
-Wparentheses -Wpointer-arith -Wredundant-decls
-Wreturn-type -Wshadow -Wstrict-prototypes -Wswitch
-Wtemplate-debugging -Wtraditional -Wtrigraphs
-Wuninitialized -Wunused -Wwrite-strings

除错选项
-a -dletters -fpretend-float -g -glevel -gcoff
-gxcoff -gxcoff -gdwarf -gdwarf -gstabs -gstabs
-ggdb -p -pg -save-temps -print-file-name=library
-print-libgcc-file-name -print-prog-name=program

最好化选项
-fcaller-saves -fcse-follow-jumps -fcse-skip-blocks
-fdelayed-branch -felide-constructors
-fexpensive-optimizations -ffast-math -ffloat-store
-fforce-addr -fforce-mem -finline-functions
-fkeep-inline-functions -fmemoize-lookups
-fno-default-inline -fno-defer-pop

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!