gcc 参数中文手册

来源:百度文库 编辑:神马文学网 时间:2024/04/29 13:32:23
NAMEBSD爱好者乐园FtwBZ!U;R

gcc,g++-GNU工程的C和C++编译器(egcs-1.1.2)
'kGs^4X O^总览(SYNOPSIS)
(QW"jgg/M]6]d\gcc[option|filename]...
PijRmdg++[option|filename]...BSD爱好者乐园6jk;prJ'gu&nh
BSD爱好者乐园\ K"X;TbP`n"L6XH
警告(WARNING)
lR P/uT*p本手册页内容摘自GNU C编译器的完整文档,仅限于解释选项的含义.BSD爱好者乐园/Mo0K7A/h6M

WH/C*Eh!Qa(H |JR除非有人自愿维护,否则本手册页不再更新.如果发现手册页和软件之间有所矛盾,请查对Info文件, Info文件是权威文档.
PZItxM3}TbCBSD爱好者乐园T\1uE?
如果我们发觉本手册页的内容由于过时而导致明显的混乱和抱怨时,我们就停止发布它.不可能有其他选择,象更新Info文件同时更新man手册,因为其他维护GNUCC的工作没有留给我们时间做这个. GNU工程认为man手册是过时产物,应该把时间用到别的地方.
M/e,R.t*P3@8WG"T
M6S]m3\r`o*~如果需要完整和最新的文档,请查阅Info文件`gcc'或Using and Porting GNU CC (for version 2.0)(使用和移植GNU CC 2.0) 手册.二者均来自Texinfo原文件 gcc.texinfo.
&b(\#k4[-X^BSD爱好者乐园5e}.MQD'd1y
描述(DESCRIPTION)
$w7J?Q2tz;Y2z?uhC和C++编译器是集成的.他们都要用四个步骤中的一个或多个处理输入文件:预处理(preprocessing),编译(compilation),汇编(assembly)和连接(linking).源文件后缀名标识源文件的语言,但是对编译器来说,后缀名控制着缺省设定:
o"FZ)jVc
'ZLX#a D)Gp_ DgccBSD爱好者乐园mT X@s3I*L3B6_
    认为预处理后的文件(.i)是C文件,并且设定C形式的连接.BSD爱好者乐园*ni3Ql c
g++BSD爱好者乐园!n\/T6G8_o?e
    认为预处理后的文件(.i)是C++文件,并且设定C++形式的连接.
X8L)l1c/w%s%mABSD爱好者乐园:Hw?jz4_(rr
源文件后缀名指出语言种类以及后期的操作:
4wn~.V|J^Z"h
nKv9[J,^m?.c     C源程序;预处理,编译,汇编.C      C++源程序;预处理,编译,汇编.cc     C++源程序;预处理,编译,汇编.cxx   C++源程序;预处理,编译,汇编.m      Objective-C源程序;预处理,编译,汇编.i    预处理后的C文件;编译,汇编.ii    预处理后的C++文件;编译,汇编.s     汇编语言源程序;汇编.S    汇编语言源程序;预处理,汇编.h     预处理器文件;通常不出现在命令行上BSD爱好者乐园&V1[$|a)^
BSD爱好者乐园^&`*Zc8c0\8y*p
其他后缀名的文件被传递给连接器(linker).通常包括:
B/T4Wi.D3q+p
.ZyapuJ2U7|.o     目标文件(Object file).a    归档库文件(Archive file)BSD爱好者乐园3| D{/{pqK w

$iH$s{Rj除非使用了-c,-S,或-E选项(或者编译错误阻止了完整的过程),否则连接总是 最后的步骤.在连接阶段中,所有对应于源程序的.o文件,-l库文件,无法识别的文件名(包括指定的 .o目标文件和.a库文件)按命令行中的顺序传递给连接器.
B JJ(L].|3L{ xBSD爱好者乐园f%xwJ l7b5rC_o
选项(OPTIONS)BSD爱好者乐园vk$wGup
选项必须分立给出: `-dr'完全不同于`-d -r '.
JD?fJ0c1@1~Vu
;KO.Y#A!q)D2Gj)Aek大多数`-f'和`-W'选项有两个相反的格式: -fname和 -fno-name (或-Wname和-Wno-name).这里只列举不是默认选项的格式.BSD爱好者乐园8?$L;p*]m4L ?+q)vp

:QLY$EE下面是所有选项的摘要,按类型分组,解释放在后面的章节中.BSD爱好者乐园M&{E#^ B4Ix5i(A
BSD爱好者乐园)\Xw@u$yR~
总体选项(OverallOption)
br#U*J"u{$qJ
7pvrv9g6L    -c -S -E -o file -pipe -v-x language
OnLdt1M U(__语言选项(Language Option)
&\(_z B8gF(ad    -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 -trigraphsBSD爱好者乐园7zuMg/F/y |WK)?
警告选项(Warning Option)
)OI}:v#_?f   -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
^0Q wY2Y'dZU3m调试选项(Debugging Option)
hg|6X2i"NTG    -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
@ Zs^:c8s5v;}优化选项(Optimization Option)BSD爱好者乐园?6z4NT9~q
   -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
yK/Z%E%g4\Dj预处理器选项(Preprocessor Option)BSD爱好者乐园L5Gu&u@sA
   -Aassertion -C -dD -dM -dN -Dmacro[=defn] -E -H -idirafter dir -includefile -imacros file -iprefix file -iwithprefix dir -M -MD -MM -MMD-nostdinc -P -Umacro -undef
-m1E[$n%S3}3d汇编器选项(Assembler Option)
'f#J8C2t N;X#] Xu   -Wa,option
3?#\%B(b^s7? j连接器选项(Linker Option)
y/lCN g2tH:fD   -llibrary -nostartfiles -nostdlib -static -shared -symbolic -Xlinkeroption -Wl,option -u symbolBSD爱好者乐园(d7g:~*`_4X tg
目录选项(Directory Option)BSD爱好者乐园].S?rh9m,q8zII
    -Bprefix-Idir -I- -LdirBSD爱好者乐园\/M)k/}?Tb
目标机选项(Target Option)BSD爱好者乐园.s[Jf_r2JY
   -b machine -V versionBSD爱好者乐园KP?X3L8zgIR
配置相关选项(Configuration Dependent Option)BSD爱好者乐园?W3d2O(LR;zO
    M680x0 选项
deH:eKA-e,h*RN_    -m68000 -m68020-m68020-40 -m68030 -m68040 -m68881 -mbitfield -mc68000 -mc68020 -mfpa-mnobitfield -mrtd -mshort -msoft-floatBSD爱好者乐园Hh6[(Jvoca3S0`J3I
BSD爱好者乐园:i7jt;L` o1b3rd
    VAX选项BSD爱好者乐园wlGx(r
    -mg -mgnu -munixBSD爱好者乐园Ujjnc3Yu
BSD爱好者乐园$D%rPZ2dKnG
    SPARC选项BSD爱好者乐园0W#q!cS}*D%h)[7I0[
    -mepilogue -mfpu -mhard-float-mno-fpu -mno-epilogue -msoft-float -msparclite -mv8 -msupersparc-mcypressBSD爱好者乐园]O%yiu*|8mS

D0`#kMK8v8^Q8j    Convex选项BSD爱好者乐园zsv PTUG5Z^
    -margcount -mc1 -mc2 -mnoargcountBSD爱好者乐园6W'C+G\C2g

Bmp[w*v Y    AMD29K选项BSD爱好者乐园M;h(E$gd6@K
    -m29000 -m29050 -mbw -mdw -mkernel-registers -mlarge-mnbw -mnodw -msmall -mstack-check -muser-registers
6I;J'[[[`GUW-m
gUiP(~9j8kz#Tq    M88K选项
o$OX7k+R~U&h    -m88000 -m88100 -m88110 -mbig-pic-mcheck-zero-division -mhandle-large-shift -midentify-revision-mno-check-zero-division -mno-ocs-debug-info -mno-ocs-frame-position-mno-optimize-arg-area -mno-serialize-volatile -mno-underscores-mocs-debug-info -mocs-frame-position -moptimize-arg-area-mserialize-volatile -mshort-data-num -msvr3 -msvr4 -mtrap-large-shift-muse-div-instruction -mversion-03.00 -mwarn-passed-structs
O?{G0C'W#qBSD爱好者乐园 MK:`'?9hE(h b
    RS6000选项BSD爱好者乐园V$vd|jC&fv:nWp
    -mfp-in-toc-mno-fop-in-tocBSD爱好者乐园t:Y2T9^M-C@?
BSD爱好者乐园4}MuJ_v5X(FV#H-ugI
   RT选项BSD爱好者乐园c v3f9Cv4@#e2tT
   -mcall-lib-mul -mfp-arg-in-fpregs -mfp-arg-in-gregs -mfull-fp-blocks-mhc-struct-return -min-line-mul -mminimum-fp-blocks-mnohc-struct-return
9di"y6XJf
'I/OEbA8R p0U$KF    MIPS选项BSD爱好者乐园#q6Cck3p
    -mcpu=cpu type -mips2 -mips3 -mint64 -mlong64-mmips-as -mgas -mrnames -mno-rnames -mgpopt -mno-gpopt -mstats-mno-stats -mmemcpy -mno-memcpy -mno-mips-tfile -mmips-tfile-msoft-float -mhard-float -mabicalls -mno-abicalls -mhalf-pic-mno-half-pic -G num -nocpp
u8Vjl:oBSD爱好者乐园Ku&~m.u7t&y\I4p
    i386选项
4D:eFg|T"{6}x$yt    -m486 -mno-486 -msoft-float-mno-fp-ret-in-387
#d/U7P#w%j
J1E1r0Y*O3V&s;tp/[Q    HPPA选项BSD爱好者乐园?k _2p;f&[)fwe
   -mpa-risc-1-0 -mpa-risc-1-1 -mkernel -mshared-libs -mno-shared-libs-mlong-calls -mdisable-fpregs -mdisable-indexing -mtrailing-colon
.}D9K?v(`K
$o6|'e6l8h    i960选项
/_Y4WH3X,D BO-F   -mcpu-type -mnumerics -msoft-float -mleaf-procedures-mno-leaf-procedures -mtail-call -mno-tail-call -mcomplex-addr-mno-complex-addr -mcode-align -mno-code-align -mic-compat-mic2.0-compat -mic3.0-compat -masm-compat -mintel-asm -mstrict-align-mno-strict-align -mold-align -mno-old-align
2iO RP@/IBSD爱好者乐园'e^5D{?t q"nj9~
    DEC Alpha选项BSD爱好者乐园Y h!? LsT
    -mfp-regs -mno-fp-regs -mno-soft-float -msoft-floatBSD爱好者乐园^*p q7_X5I?}N.Y
BSD爱好者乐园x0soZ`IL-I
    System V选项BSD爱好者乐园*H#bB3u pc ?"`kk
    -G-Qy -Qn -YP,paths -Ym,dir
NzE#Ly代码生成选项(Code Generation Option)
/J/B M5ky   -fcall-saved-reg -fcall-used-reg -ffixed-reg -finhibit-size-directive-fnonnull-objects -fno-common -fno-ident -fno-gnu-linker-fpcc-struct-return -fpic -fPIC -freg-struct-return -fshared-data-fshort-enums -fshort-double -fvolatile -fvolatile-global -fverbose-asm
&^yFFS?Lk
zmY @8N$mBSD爱好者乐园Y2Z(f-Yef?}
总体选项(Overall Option)
.{lSMf?ia.nBSD爱好者乐园"Di2Lpsk|
-x language
qyJ[H D[    明确指出后面输入文件的语言为language(而不是从文件名后缀得到的默认选择).这个选项应用于后面 所有的输入文件,直到遇着下一个`-x'选项. language的可选值有`c',`objective-c', `c-header', `c++', `cpp-output',`assembler',和`assembler-with-cpp'.
sTF4O"k-]-x noneBSD爱好者乐园Aq_Z^
   关闭任何对语种的明确说明,因此依据文件名后缀处理后面的文件(就象是从未使用过`-x'选项).
`-I|]/m-j{B
Y @6c o*b如果只操作四个阶段(预处理,编译,汇编,连接)中的一部分,可以使用`-x'选项(或文件名后缀)告诉 gcc从哪里开始,用`-c', `-S',或`-E'选项告诉gcc到哪里结束.注意,某些选项组合(例如, `-x cpp-output -E')使gcc不作任何事情.BSD爱好者乐园Gj)^2b3k8~#K5j5{N
BSD爱好者乐园&B{$vN!X
-c
MPB,U-H"`jm-R    编译或汇编源文件,但是不作连接.编译器输出对应于源文件的目标文件.BSD爱好者乐园5]^:s!H1Y:Nf?pt}J

AW6dsEB/Q-`_R    缺省情况下, GCC通过用`.o'替换源文件名后缀`.c', `.i',`.s',等等,产生目标文件名.可以使用-o选项选择其他名字.
+fg)z,u"}
0zaP2b(c(sH y*K@R   GCC忽略-c选项后面任何无法识别的输入文件(他们不需要编译或汇编).

3DELE&i