gcc
section: gnu tools (1)gcc 【程序编程相关:Linux 系统安全必要保护措施实例】 【推荐阅读:Linux 目录结构及主要内容】 section: gnu tools (1) 【扩展信息:安装Linux系统的五种方法以及心得】 updated: 2003/12/05 index return to main contents name gcc,g++-gnu工程的c与c++编译器(egcs-1.1.2) 总览(synopsis) gcc[option|filename ]... g++[option|filename ]... 警告(warning) 本手册页内容摘自gnu c编译器的完整文档,仅限于解释选项的含义. 除非有人自愿维护,否则本手册页不再更新.如果发现手册页与软件之间有所矛盾,请查对info文件, info文件是权威文档. 如果我们发觉本手册页的内容由于过时而导致明显的混乱与抱怨时,我们就停止发布它.不可能有其他选择,象更新info文件同时更新man手册,因为其他维护gnu cc的工作没有留给我们时间做这个. gnu工程认为man手册是过时产物,应该把时间用到别的地方. 如果需要完整与最新的文档,请查阅info文件`gcc或using and porting gnu cc (for version 2.0) (使用与移植gnu cc 2.0) 手册.二者均来自texinfo原文件 gcc.texinfo. 描述(description) c与c++编译器是集成的.他们都要用四个步骤中的一个或多个处理输入文件: 预处理(preprocessing),编译(compilation), 汇编(assembly)与连接(linking).源文件后缀名标识源文件的 语言,但是对编译器来说,后缀名控制着缺省设定: 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 预处理器文件;通常不出现在命令行上 其他后缀名的文件被传递给连接器(linker).通常包括: .o 目标文件(object file) .a 归档库文件(archive file) 除非使用了-c, -s,或-e选项(或者编译错误阻止了完整的过程),否则连接总是 最后的步骤.在连接阶段中,所有对应于源程序的.o文件, -l库文件,无法识别的文件名(包括指定的 .o目标文件与.a库文件)按命令行中的顺序传递给连接器. 选项(options) 选项必须分立给出: `-dr完全不同于`-d -r . 大多数`-f与`-w选项有两个相反的格式: -fname与 -fno-name (或-wname与-wno-name).这里 只列举不是默认选项的格式. 下面是所有选项的摘要,按类型分组,解释放在后面的章节中. 总体选项(overall option) -c -s -e -o file -pipe -v -x language 语言选项(language option) -ansi -fall-virtual -fcond-mismatch -fdollars-in-identifiers -fenum-int-equiv -fexternal-templates -fno-asm -fno-builtin -fhosted -fno-hosted -ffreestanding -fno-freestanding -fno-strict-prototype -fsigned-bitfields -fsigned-char -fthis-is-variable -funsigned-bitfields -funsigned-char -fwritable-strings -traditional -traditional-cpp -trigraphs 警告选项(warning option) -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 -wimplicit-int -wimplicit-function-declaration -winline -wlong-long -wmain -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 调试选项(debugging option) -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 优化选项(optimization option) -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 -fno-function-cse -fno-inline -fno-peephole -fomit-frame-pointer -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fstrength-reduce -fthread-jumps -funroll-all-loops -funroll-loops -o -o2 -o3 预处理器选项(preprocessor option) -aassertion -c -dd -dm -dn -dmacro[=defn] -e -h -idirafter dir -include file -imacros file -iprefix file -iwithprefix dir -m -md -mm -mmd -nostdinc -p -umacro -undef 汇编器选项(assembler option) -wa,option 连接器选项(linker option) -llibrary -nostartfiles -nostdlib -static -shared -symbolic -xlinker option -wl,option -u symbol 目录选项(directory option) -bprefix -idir -i- -ldir 目标机选项(target option) -b machine -v version 配置相关选项(configuration dependent option) m680x0 选项 -m68000 -m68020 -m68020-40 -m68030 -m68040 -m68881 -mbitfield -mc68000 -mc68020 -mfpa -mnobitfield -mrtd -mshort -msoft-float vax选项 -mg -mgnu -munix sparc选项 -mepilogue -mfpu -mhard-float -mno-fpu -mno-epilogue -msoft-float -msparclite -mv8 -msupersparc -mcypress convex选项 ... 下一页