📄 invoke.texi
字号:
@emph{SPARC Options}
@gccoptlist{
-mcpu=@var{cpu-type} @gol
-mtune=@var{cpu-type} @gol
-mcmodel=@var{code-model} @gol
-m32 -m64 @gol
-mapp-regs -mbroken-saverestore -mcypress @gol
-mepilogue -mfaster-structs -mflat @gol
-mfpu -mhard-float -mhard-quad-float @gol
-mimpure-text -mlive-g0 -mno-app-regs @gol
-mno-epilogue -mno-faster-structs -mno-flat -mno-fpu @gol
-mno-impure-text -mno-stack-bias -mno-unaligned-doubles @gol
-msoft-float -msoft-quad-float -msparclite -mstack-bias @gol
-msupersparc -munaligned-doubles -mv8}
@emph{Convex Options}
@gccoptlist{
-mc1 -mc2 -mc32 -mc34 -mc38 @gol
-margcount -mnoargcount @gol
-mlong32 -mlong64 @gol
-mvolatile-cache -mvolatile-nocache}
@emph{AMD29K Options}
@gccoptlist{
-m29000 -m29050 -mbw -mnbw -mdw -mndw @gol
-mlarge -mnormal -msmall @gol
-mkernel-registers -mno-reuse-arg-regs @gol
-mno-stack-check -mno-storem-bug @gol
-mreuse-arg-regs -msoft-float -mstack-check @gol
-mstorem-bug -muser-registers}
@emph{ARM Options}
@gccoptlist{
-mapcs-frame -mno-apcs-frame @gol
-mapcs-26 -mapcs-32 @gol
-mapcs-stack-check -mno-apcs-stack-check @gol
-mapcs-float -mno-apcs-float @gol
-mapcs-reentrant -mno-apcs-reentrant @gol
-msched-prolog -mno-sched-prolog @gol
-mlittle-endian -mbig-endian -mwords-little-endian @gol
-malignment-traps -mno-alignment-traps @gol
-msoft-float -mhard-float -mfpe @gol
-mthumb-interwork -mno-thumb-interwork @gol
-mcpu=@var{name} -march=@var{name} -mfpe=@var{name} @gol
-mstructure-size-boundary=@var{n} @gol
-mbsd -mxopen -mno-symrename @gol
-mabort-on-noreturn @gol
-mlong-calls -mno-long-calls @gol
-msingle-pic-base -mno-single-pic-base @gol
-mpic-register=@var{reg} @gol
-mnop-fun-dllimport @gol
-mpoke-function-name @gol
-mthumb -marm @gol
-mtpcs-frame -mtpcs-leaf-frame @gol
-mcaller-super-interworking -mcallee-super-interworking }
@emph{MN10200 Options}
@gccoptlist{
-mrelax}
@emph{MN10300 Options}
@gccoptlist{
-mmult-bug -mno-mult-bug @gol
-mam33 -mno-am33 @gol
-mno-crt0 -mrelax}
@emph{M32R/D Options}
@gccoptlist{
-mcode-model=@var{model-type} -msdata=@var{sdata-type} @gol
-G @var{num}}
@emph{M88K Options}
@gccoptlist{
-m88000 -m88100 -m88110 -mbig-pic @gol
-mcheck-zero-division -mhandle-large-shift @gol
-midentify-revision -mno-check-zero-division @gol
-mno-ocs-debug-info -mno-ocs-frame-position @gol
-mno-optimize-arg-area -mno-serialize-volatile @gol
-mno-underscores -mocs-debug-info @gol
-mocs-frame-position -moptimize-arg-area @gol
-mserialize-volatile -mshort-data-@var{num} -msvr3 @gol
-msvr4 -mtrap-large-shift -muse-div-instruction @gol
-mversion-03.00 -mwarn-passed-structs}
@emph{RS/6000 and PowerPC Options}
@gccoptlist{
-mcpu=@var{cpu-type} @gol
-mtune=@var{cpu-type} @gol
-mpower -mno-power -mpower2 -mno-power2 @gol
-mpowerpc -mpowerpc64 -mno-powerpc @gol
-mpowerpc-gpopt -mno-powerpc-gpopt @gol
-mpowerpc-gfxopt -mno-powerpc-gfxopt @gol
-mnew-mnemonics -mold-mnemonics @gol
-mfull-toc -mminimal-toc -mno-fop-in-toc -mno-sum-in-toc @gol
-m64 -m32 -mxl-call -mno-xl-call -mthreads -mpe @gol
-msoft-float -mhard-float -mmultiple -mno-multiple @gol
-mstring -mno-string -mupdate -mno-update @gol
-mfused-madd -mno-fused-madd -mbit-align -mno-bit-align @gol
-mstrict-align -mno-strict-align -mrelocatable @gol
-mno-relocatable -mrelocatable-lib -mno-relocatable-lib @gol
-mtoc -mno-toc -mlittle -mlittle-endian -mbig -mbig-endian @gol
-mcall-aix -mcall-sysv -mprototype -mno-prototype @gol
-msim -mmvme -mads -myellowknife -memb -msdata @gol
-msdata=@var{opt} -mvxworks -G @var{num}}
@emph{RT Options}
@gccoptlist{
-mcall-lib-mul -mfp-arg-in-fpregs -mfp-arg-in-gregs @gol
-mfull-fp-blocks -mhc-struct-return -min-line-mul @gol
-mminimum-fp-blocks -mnohc-struct-return}
@emph{MIPS Options}
@gccoptlist{
-mabicalls -mcpu=@var{cpu-type} @gol
-membedded-data -muninit-const-in-rodata @gol
-membedded-pic -mfp32 -mfp64 -mgas -mgp32 -mgp64 @gol
-mgpopt -mhalf-pic -mhard-float -mint64 -mips1 @gol
-mips2 -mips3 -mips4 -mlong64 -mlong32 -mlong-calls -mmemcpy @gol
-mmips-as -mmips-tfile -mno-abicalls @gol
-mno-embedded-data -mno-uninit-const-in-rodata @gol
-mno-embedded-pic -mno-gpopt -mno-long-calls @gol
-mno-memcpy -mno-mips-tfile -mno-rnames -mno-stats @gol
-mrnames -msoft-float @gol
-m4650 -msingle-float -mmad @gol
-mstats -EL -EB -G @var{num} -nocpp @gol
-mabi=32 -mabi=n32 -mabi=64 -mabi=eabi @gol
-mfix7000 -mno-crt0}
@emph{i386 Options}
@gccoptlist{
-mcpu=@var{cpu-type} -march=@var{cpu-type} @gol
-mintel-syntax -mieee-fp -mno-fancy-math-387 @gol
-mno-fp-ret-in-387 -msoft-float -msvr3-shlib @gol
-mno-wide-multiply -mrtd -malign-double @gol
-mreg-alloc=@var{list} -mregparm=@var{num} @gol
-malign-jumps=@var{num} -malign-loops=@var{num} @gol
-malign-functions=@var{num} -mpreferred-stack-boundary=@var{num} @gol
-mthreads -mno-align-stringops -minline-all-stringops @gol
-mpush-args -maccumulate-outgoing-args -m128bit-long-double @gol
-m96bit-long-double -momit-leaf-frame-pointer}
@emph{HPPA Options}
@gccoptlist{
-march=@var{architecture-type} @gol
-mbig-switch -mdisable-fpregs -mdisable-indexing @gol
-mfast-indirect-calls -mgas -mjump-in-delay @gol
-mlong-load-store -mno-big-switch -mno-disable-fpregs @gol
-mno-disable-indexing -mno-fast-indirect-calls -mno-gas @gol
-mno-jump-in-delay -mno-long-load-store @gol
-mno-portable-runtime -mno-soft-float @gol
-mno-space-regs -msoft-float -mpa-risc-1-0 @gol
-mpa-risc-1-1 -mpa-risc-2-0 -mportable-runtime @gol
-mschedule=@var{cpu-type} -mspace-regs}
@emph{Intel 960 Options}
@gccoptlist{
-m@var{cpu-type} -masm-compat -mclean-linkage @gol
-mcode-align -mcomplex-addr -mleaf-procedures @gol
-mic-compat -mic2.0-compat -mic3.0-compat @gol
-mintel-asm -mno-clean-linkage -mno-code-align @gol
-mno-complex-addr -mno-leaf-procedures @gol
-mno-old-align -mno-strict-align -mno-tail-call @gol
-mnumerics -mold-align -msoft-float -mstrict-align @gol
-mtail-call}
@emph{DEC Alpha Options}
@gccoptlist{
-mfp-regs -mno-fp-regs -mno-soft-float -msoft-float @gol
-malpha-as -mgas @gol
-mieee -mieee-with-inexact -mieee-conformant @gol
-mfp-trap-mode=@var{mode} -mfp-rounding-mode=@var{mode} @gol
-mtrap-precision=@var{mode} -mbuild-constants @gol
-mcpu=@var{cpu-type} @gol
-mbwx -mno-bwx -mcix -mno-cix -mmax -mno-max @gol
-mmemory-latency=@var{time}}
@emph{Clipper Options}
@gccoptlist{
-mc300 -mc400}
@emph{H8/300 Options}
@gccoptlist{
-mrelax -mh -ms -mint32 -malign-300}
@emph{SH Options}
@gccoptlist{
-m1 -m2 -m3 -m3e @gol
-m4-nofpu -m4-single-only -m4-single -m4 @gol
-mb -ml -mdalign -mrelax @gol
-mbigtable -mfmovd -mhitachi -mnomacsave @gol
-mieee -misize -mpadstruct -mspace @gol
-mprefergot -musermode}
@emph{System V Options}
@gccoptlist{
-Qy -Qn -YP\,@var{paths} -Ym\,@var{dir}}
@emph{ARC Options}
@gccoptlist{
-EB -EL @gol
-mmangle-cpu -mcpu=@var{cpu} -mtext=@var{text-section} @gol
-mdata=@var{data-section} -mrodata=@var{readonly-data-section}}
@emph{TMS320C3x/C4x Options}
@gccoptlist{
-mcpu=@var{cpu} -mbig -msmall -mregparm -mmemparm @gol
-mfast-fix -mmpyi -mbk -mti -mdp-isr-reload @gol
-mrpts=@var{count} -mrptb -mdb -mloop-unsigned @gol
-mparallel-insns -mparallel-mpy -mpreserve-float}
@emph{V850 Options}
@gccoptlist{
-mlong-calls -mno-long-calls -mep -mno-ep @gol
-mprolog-function -mno-prolog-function -mspace @gol
-mtda=@var{n} -msda=@var{n} -mzda=@var{n} @gol
-mv850 -mbig-switch}
@emph{NS32K Options}
@gccoptlist{
-m32032 -m32332 -m32532 -m32081 -m32381 @gol
-mmult-add -mnomult-add -msoft-float -mrtd -mnortd @gol
-mregparam -mnoregparam -msb -mnosb @gol
-mbitfield -mnobitfield -mhimem -mnohimem}
@emph{AVR Options}
@gccoptlist{
-mmcu=@var{mcu} -msize -minit-stack=@var{n} -mno-interrupts @gol
-mcall-prologues -mno-tablejump -mtiny-stack}
@emph{MCore Options}
@gccoptlist{
-mhardlit -mno-hardlit -mdiv -mno-div -mrelax-immediates @gol
-mno-relax-immediates -mwide-bitfields -mno-wide-bitfields @gol
-m4byte-functions -mno-4byte-functions -mcallgraph-data @gol
-mno-callgraph-data -mslow-bytes -mno-slow-bytes -mno-lsim @gol
-mlittle-endian -mbig-endian -m210 -m340 -mstack-increment}
@emph{IA-64 Options}
@gccoptlist{
-mbig-endian -mlittle-endian -mgnu-as -mgnu-ld -mno-pic @gol
-mvolatile-asm-stop -mb-step -mregister-names -mno-sdata @gol
-mconstant-gp -mauto-pic -minline-divide-min-latency @gol
-minline-divide-max-throughput -mno-dwarf2-asm @gol
-mfixed-range=@var{register-range}}
@item Code Generation Options
@xref{Code Gen Options,,Options for Code Generation Conventions}.
@gccoptlist{
-fcall-saved-@var{reg} -fcall-used-@var{reg} @gol
-ffixed-@var{reg} -fexceptions @gol
-fnon-call-exceptions -funwind-tables @gol
-finhibit-size-directive -finstrument-functions @gol
-fcheck-memory-usage -fprefix-function-name @gol
-fno-common -fno-ident -fno-gnu-linker @gol
-fpcc-struct-return -fpic -fPIC @gol
-freg-struct-return -fshared-data -fshort-enums @gol
-fshort-double -fvolatile @gol
-fvolatile-global -fvolatile-static @gol
-fverbose-asm -fpack-struct -fstack-check @gol
-fstack-limit-register=@var{reg} -fstack-limit-symbol=@var{sym} @gol
-fargument-alias -fargument-noalias @gol
-fargument-noalias-global -fleading-underscore}
@end table
@menu
* Overall Options:: Controlling the kind of output:
an executable, object files, assembler files,
or preprocessed source.
* C Dialect Options:: Controlling the variant of C language compiled.
* C++ Dialect Options:: Variations on C++.
* Objective-C Dialect Options:: Variations on Objective-C.
* Language Independent Options:: Controlling how diagnostics should be
formatted.
* Warning Options:: How picky should the compiler be?
* Debugging Options:: Symbol tables, measurements, and debugging dumps.
* Optimize Options:: How much optimization?
* Preprocessor Options:: Controlling header files and macro definitions.
Also, getting dependency information for Make.
* Assembler Options:: Passing options to the assembler.
* Link Options:: Specifying libraries and so on.
* Directory Options:: Where to find header files and libraries.
Where to find the compiler executable files.
* Spec Files:: How to pass switches to sub-processes.
* Target Options:: Running a cross-compiler, or an old version of GCC.
@end menu
@node Overall Options
@section Options Controlling the Kind of Output
Compilation can involve up to four stages: preprocessing, compilation
proper, assembly and linking, always in that order. The first three
stages apply to an individual source file, and end by producing an
object file; linking combines all the object files (those newly
compiled, and those specified as input) into an executable file.
@cindex file name suffix
For any given input file, the file name suffix determines what kind of
compilation is done:
@table @gcctabopt
@item @var{file}.c
C source code which must be preprocessed.
@item @var{file}.i
C source code which should not be preprocessed.
@item @var{file}.ii
C++ source code which should not be preprocessed.
@item @var{file}.m
Objective-C source code. Note that you must link with the library
@file{libobjc.a} to make an Objective-C program work.
@item @var{file}.mi
Objective-C source code which should not be preprocessed.
@item @var{file}.h
C header file (not to be compiled or linked).
@item @var{file}.cc
@itemx @var{file}.cp
@itemx @var{file}.cxx
@itemx @var{file}.cpp
@itemx @var{file}.c++
@itemx @var{file}.C
C++ source code which must be preprocessed. Note that in @samp{.cxx},
the last two letters must both be literally @samp{x}. Likewise,
@samp{.C} refers to a literal capital C.
@item @var{file}.f
@itemx @var{file}.for
@itemx @var{file}.FOR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -