Provided by:
manpages-ja_0.5.0.0.20060115-1_all 
FreeBSDåçœäœãéããå»ãèœãè
ã³
-pthread
ã¹ã¬ããåãŠãŒã¶ããã»ã¹ã« libc ã®ä»£ãã« libc_r ããªã³ã¯ããŸãã
ã¹ã¬ããåãŠãŒã¶ããã»ã¹ã«ãªã³ã¯ããããªããžã§ã¯ãã¯
-D_THREAD_SAFE ä»ã ã³ã³ãã€ã«ããå¿
èŠããããŸãã
-kthread
ã¹ã¬ããåã«ãŒãã«ããã»ã¹ã« libc ã«å ã㊠libpthread
ããªã³ã¯ããŸãã
ã¹ã¬ããåã«ãŒãã«ããã»ã¹ã«ãªã³ã¯ããããªããžã§ã¯ãã¯
-D_THREAD_SAFE ä»ã ã³ã³ãã€ã«ããå¿
èŠããããŸãã
å
æŸäœççãæ·ããå»ãèœãè
ã³
-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
-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
èæåéããå»ãèœãè
ã³
-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
ãåŠãäžãå¥ãåããå»ãèœãè
ã³
-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
ææéåæããå»ãèœãè
ã³
-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 -O0
-Os
ãå»ãèãå»ãè¹ãæãå¥ãæ±ããå»ãèœãè
ã³
-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
ãâãæãéµãå±ãèããå»ãèœãè
ã³
-Wa,option
ãèãéµãããå»ãèœãè
ã³
-llibrary -nostartfiles -nostdlib -static -shared -symbolic
-Xlinker option -Wl,option -u symbol
ãåŠããèããèãèããå»ãèœãè
ã³
-Bprefix -Idir -I- -Ldir
ãæãçãæ®ãå¥ãèããå»ãèœãè
ã³
-b machine -V version
ãçãéµãäŸãããçµãèãçãèœãè
ãé¶äŸé åçããå»ãèœãè
ã³
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 _
-margcount -mc1 -mc2 -mnoargcount
AMD29K _
-m29000 -m29050 -mbw -mdw -mkernel-registers -mlarge -mnbw
-mnodw -msmall -mstack-check -muser-registers
M88K _
-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
RS6000 _
-mfp-in-toc -mno-fop-in-toc
RT _
-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
MIPS _
-mcpu=cpu type -mips2 -mips3 -mint64 -mlong64 -mlonglong128
-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
i386 _
-m386 -m486 -mpentium -mpentiumpro -mno-486 -mcpu=cpu type
-march=cpu type -msoft-float -mrtd -mregparm -msvr3-shlib
-mno-ieee-fp -mno-fp-ret-in-387 -mfancy-math-387
-mno-wide-multiply -mdebug-addr -mno-move -mprofiler-epilogue
-reg-alloc=LIST
HPPA _
-mpa-risc-1-0 -mpa-risc-1-1 -mkernel -mshared-libs
-mno-shared-libs -mlong-calls -mdisable-fpregs
-mdisable-indexing -mtrailing-colon
i960 _
-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
DEC Alpha _
-mfp-regs -mno-fp-regs -mno-soft-float -msoft-float
System V _
-G -Qy -Qn -YP,paths -Ym,dir
ãéãçãå»çèšæããå»ãèœãè
ã³
-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
å
æŸäœççãæ·ããå»ãèœãè
ã³
-x language
ãã®ãªãã·ã§ã³ã«ç¶ãå
¥åãã¡ã€ã«ã®èšèªã language
ã§ãããšæç€ºçã«æå®ããŸã
(æ¡åŒµåã«åºã¥ãããã©ã«ãã®éžæãããåªå
ãããŸã)ããã®ãªãã·ã§ã³ã¯ã
次㮠`-x'
ãªãã·ã§ã³ãåºãŠãããŸã§ãåŸç¶ããå
šãŠã®å
¥åãã¡ã€ã«ã«å¯ŸããŠ
é©çšãããŸããlanguage ãšããŠã¯ã `c', `objective-c',
`c-header', `c++', `cpp-output', `assembler',
`assembler-with-cpp' ãæå®ããããšãå¯èœã§ãã
-x none
èšèªã®æå®ãè§£é€ããŸãããã®ãªãã·ã§ã³ã®ããšã«ç¶ããã¡ã€ã«ã¯ããããã®æ¡åŒµåã«
åºã¥ã㊠(ããããäœã® `-x'
ãªãã·ã§ã³ã䜿çšãããããšããªãããã«) åŠçãããŸãã
ããã4 ã€ã®ã¹ããŒãž (ããªããã»ã¹ãã³ã³ãã€ã«ãã¢ã»ã³ãã«ããªã³ã¯) ã®
ãã¡ã®äžéšã®ã¿ãå¿
èŠãªå Žåã¯ã `-x' ãªãã·ã§ã³
(ãŸãã¯ãã¡ã€ã«åã®æ¡åŒµå) ã䜿çšã㊠gcc
ã«å¯ŸããŠã©ã®ã¹ããŒãžããéå§ããããäŒããããã« `-c', `-S', `-E'
ã®ãªãã·ã§ã³ã®ãã¡ã®ã©ããã䜿çšã㊠gcc
ã«å¯ŸããŠã©ãã§åŠçã忢ãããããæå®ããŸããããã§ã
ããã€ãã®çµã¿åãã (äŸãã° `-x cpp-output -E') 㯠gcc
ã«å¯ŸããŠäœã®åäœãè¡ãªããªãããã«æå®ããããšã«ãªãããšã«æ³šæããŠãã ããã
-c ãœãŒã¹ãã¡ã€ã«ããã³ã³ãã€ã«ãŸãã¯ã¢ã»ã³ãã«ãŸã§ã¯ããŸããããªã³ã¯ã¯ããŸããã
ã³ã³ãã€ã©ã®åºåã¯ãããããã®ãœãŒã¹ãã¡ã€ã«ã«å¯Ÿå¿ãããªããžã§ã¯ããã¡ã€ã«
ãšãªããŸãã
ããã©ã«ãã§ã¯ãGCC ã¯ãªããžã§ã¯ããã¡ã€ã«ã®ãã¡ã€ã«åãšããŠã
ãœãŒã¹ãã¡ã€ã«ã®æ¡åŒµå `.c', `.i', `.s' çã `.o' ã§çœ®-
æãããã®ã䜿çšããŸãã -o
ãªãã·ã§ã³ã䜿çšããããšã«ãã£ãŠãä»ã®ååãæå®ããããšãå¯èœã§ãã
GCC 㯠-c ãªãã·ã§ã³ã䜿çšããå Žåã¯ãçè§£ã§ãèŠãŠåãã¡ã€ã«
(ã³ã³ãã€ã«ãã¢ã»ã³ãã« ãå¿
èŠãšããªããã¡ã€ã«) ãç¡èŠããŸãã
-S ã³ã³ãã€ã«ãçµã£ãæã§åŠçã忢ããã¢ã»ã³ãã«ã¯è¡ããŸããã
ã¢ã»ã³ãã©ã³ãŒãã§ã¯ãªãå
¥åãã¡ã€ã«ãæ
å®ãããå Žåã¯ãåºåã¯ã¢ã»ã³ãã©ã³ãŒãã®ãã¡ã€ã«ã«ãªããŸãã
ããã©ã«ãã§ã¯ãGCC ã¯ã¢ã»ã³ãã©ãã¡ã€ã«ã®ãã¡ã€ã«åãšããŠã
ãœãŒã¹ãã¡ã€ã«ã®æ¡åŒµå `.c', `.i' çã `.s' ã§çœ®-
æãããã®ã䜿çšããŸãã -o
ãªãã·ã§ã³ã䜿çšããããšã«ãã£ãŠãä»ã®ååãæå®ããããšãå¯èœã§ãã
GCC ã¯ã³ã³ãã€ã«ãå¿
èŠãšããªãå
¥åãã¡ã€ã«ãå
šãŠç¡èŠããŸãã
-E ããªããã»ã¹åŠçãçµäºãããšããã§åæ¢ããŸããã³ã³ãã€ã«ã¯ããŸããã
åºåã¯ããªããã»ã¹æžã¿ã®ãœãŒã¹ã³ãŒãã§ãããæšæºåºåãžãšéãããŸãã
GCC ã¯ããªããã»ã¹ãå¿
èŠãšããªãå
¥åãã¡ã€ã«ãå
šãŠç¡èŠããŸãã
-o file
åºåå
ã file ã«æå®ããŸãããã®ãªãã·ã§ã³ã¯ GCC
ãå®è¡å¯èœãã¡ã€ã«ã
ãªããžã§ã¯ããã¡ã€ã«ãã¢ã»ã³ãã©ãã¡ã€ã«ãããªããã»ã¹æžã¿ C
ã³ãŒããªã©ã®ã ãããªãçš®é¡ã®åºåãè¡ãªãå Žåã«ãé©çšå¯èœã§ãã
åºåãã¡ã€ã«ã¯ 1 ã€ããæå®ã§ãèŠãçç `-o'
ãè€æ°ã®å
¥åãã¡ã€ã«ãã³ã³ãã€ã«ããéã«äœ¿çšããããšã¯ãå®è¡ãã¡
ã€ã«ãåºåããæä»¥å€ã¯ç¡æå³ã§ãã
`-o'ãªãã·ã§ã³ãæå®ããªãã£ãå Žåã®ããã©ã«ãã¯ãå®è¡ãã¡ã€ã«ãäœãå Ž
å㯠`a.out' ãšããååã§ããã`source.suffix'
ã®åœ¢åŒã®ãã¡ã€ã«åãæã£ããœãŒã¹ãã¡ã€ã«ã®ãªããžã§ã¯ããã¡ã€ã«ã¯
`source.o' ã§ãããã¢ã»ã³ãã©ã®ãã¡ã€ã«ã¯ `source.s' ã§ãã
ããªããã»ã¹æžã¿ã® C èšèªã¯ãå
šãŠæšæºåºåã«éãããŸãã
-v (æšæºãšã©ãŒåºåã«å¯ŸããŠ)
ã³ã³ãã€ã«ã®åã¹ããŒãžã§å®è¡ãããã³ãã³ãã
衚瀺ããŸããã³ã³ãã€ã©ãã©ã€ããããªããã»ããµããã³æ¬æ¥ã®ã³ã³ãã€ã©ã®
åããŒãžã§ã³çªå·ã衚瀺ããŸãã
-pipe ã³ã³ãã€ã«æã®ã¹ããŒãžã®éã®ããŒã¿ã®åãæž¡ãã«ããã³ãã©ãªãã¡ã€ã«ã§ã¯ãªã
ãã€ãã䜿çšããŸããããã€ãã®ã·ã¹ãã ã§ã¯ã¢ã»ã³ãã©ããã€ãããã®å
¥åãåã
ä»ããããšãã§-
ãªãããã«ããã®ãªãã·ã§ã³ãæå®ãããšå€±æããŸãã GNU
ã¢ã»ã³ãã©ã§ã¯åé¡ãªã䜿çšã§ãæ³å
èšçèªèããå»ãèœãè
ã³
以äžã®ãªãã·ã§ã³ã¯ãã³ã³ãã€ã©ãåãä»ãã C
ã®æ¹èšã«é¢ããå¶åŸ¡ãè¡ãªããŸã:
-ansi å
šãŠã® ANSI æšæºã® C ããã°ã©ã ããµããŒãããŸãã
ãã®ãªãã·ã§ã³ã¯ãGNU C ãæã€ ANSI C
ãšã®éäºæãªæ©èœãå
šãŠæé€ããŸãã äŸãã°ãasm, inline, typeof
ãªã©ã®ã¡çœéçœå¹çºunix ã vax
ãªã©ã®çŸåšäœ¿çšããŠããã·ã¹ãã ãèŠå®ããå®çŸ©æžã¿ãã¯ããªã©ãæå¶ãããŸãã
ããã«ã奜ãŸãããªããã€ã»ãšãã©äœ¿çšãããªã ANSI
ã®ãã©ã€ã°ã©ãã®æ©èœã䜿 çšå¯èœãšããããã« `$'
ãèå¥åã®äžéšãšããŠäœ¿çšã§ãèŠãè²Îç ²éŽæ³å
代æ¿ã¡çœéçœå¹ä»»â³__asm__, __extension__, __inline__,
__typeof__ ã¯ã `-ansi'
ãæå®ãããå Žåã§ã䜿çšããããšãå¯èœã§ãããã¡ããã ãããã
ANSI C
ããã°ã©ã ã§äœ¿çšããããšãæãŸãããªãã®ã¯åœç¶ã§ããã`-ansi'
ãã€ããŠã³ã³ãã€ã«ãããå Žåã§ããã€ã³ã¯ã«ãŒããããããããã¡ã€ã«äžã«
ããããæ¬ºåŒä»»ããšããããšã¯æ§åä»»å __unix__ ã __vax__
ãªã©ã®ä»£æ¿å®çŸ©æžã¿ãã¯ãã¯ã `-ansi'
ãæå®ããå Žåã§ãæå®ããªãå Žåã§ããå©çšå¯èœãšãªã£ãŠããŸãã
`-ansi' ãªãã·ã§ã³ã¯ãANSI
æºæ ã§ãªãããã°ã©ã ãäžå¿
èŠã«æåŠããããšã¯
ãããŸããããããã®ãããªåäœãè¡ãªããããå Žåã«ã¯`-ansi'ã«å ããŠ-pedantic'
ãªãã·ã§ã³ãæå®ããå¿
èŠããããŸãã
ããªããã»ããµå®çŸ©æžã¿ãã¯ã __STRICT_ANSI__ ã `-ansi'
ãªãã·ã§ã³ã䜿çšããéã«ã¯å®çŸ©ãããŸããããã€ãã®ããããã¡ã€ã«ã¯ããã®
ãã¯ããèå¥ããŠãANSI
æšæºãæãŸãªã颿°ããã¯ãã®å®çŸ©ãæå¶ããŸãã ããã¯ã
ãããã®é¢æ°ããã¯ããšåãååãå¥ã®ç®çã§äœ¿çšããããã°ã©ã
ãæ··ä¹±ãããªãããã«ããããã§ãã
-fno-asm
asm, inline, typeof ãã¡çœéçœå¹ç®žéŽå é®ç©éŽæ³æŠéµ
ãããã®åèªã¯èå¥åãšããŠè§£éãããããã«ãªããŸãããããã®ä»£çšãšããŠ
__asm__, __inline__, __typeof__ ã䜿çšã§ãæ³å `-ansi'
ãæå®ãããšãæé»ã®ãã¡ã« `-fno-asm'
ãæå®ãããã®ãšã¿ãªãããŸãã
-fno-builtin
ãã«ãã€ã³é¢æ°ã®ãã¡ã2
ã€ã®ã¢ã³ããŒã¹ã³ã¢ã§å§ãŸããã®ä»¥å€ãèªèããªããªã
ãŸããçŸåšããã®æå®ã¯_exit, abort, abs, alloca, cos, exit,
fabs, labs, memcmp, memcpy, sin, sqrt, strcmp, strcpy, strlen
ã®é¢æ°ã«åœ±é¿ãåãŒããŸãã
`-ansi' ãªãã·ã§ã³ãæå®ãããšãalloca ãš _exit
ã¯ãã«ãã€ã³é¢æ°ãšããŠæ±ãããªããªããŸãã
-fhosted
ãã¹ãå®è¡ç° (hosted environment) çšã«ã³ã³ãã€ã«ãè¡ããŸãã
ããã«ããã`-fbuiltin' ãªãã·ã§ã³ãéã«ãªãããŸããäžå¯©ãª main
宣èšã«å¯ŸããŠèŠåãçºããããã«ãªããŸãã
-ffreestanding
ããªãŒã¹ã¿ã³ãã£ã³ã°å®è¡ç° (freestanding environment) çšã«
ã³ã³ãã€ã«ãè¡ããŸãã ããã«ããã`-fno-builtin' ãªãã·ã§ã³ã-
å¹ã«ãªãããŸãã main ã«ç¹å¥ãªæ¡ä»¶ã¯äžèŠãšã¿ãªããŸãã
-fno-strict-prototype
`int foo ();' ã®ãããªãåŒæ°ãæå®ããªã颿°å®£èšããC
èšèªã®ããã«åŒæ°ã®æ°ã
åã«ã€ããŠäœã®ä»®å®ãããªããšããæ±ãã«ããŸã (C++
ã®ã¿)ãéåžžã¯ãã®ãã ãªå®£èšã¯ãC++ ã§ã¯ foo ãšãã颿°ã 1
ã€ãåŒæ°ããšããªãããšãæå³ããŸãã
-trigraphs
ANSI C ã®ãã©ã€ã°ã©ãã䜿çšå¯èœãšããŸãã`-ansi'
ãªãã·ã§ã³ãæå®ãããšãæé»ã®ãã¡ã« `-trigraphs'
ãæå®ãããã®ãšã¿ãªãããŸãã
-traditional
äŒçµ±ç㪠C ã³ã³ãã€ã©ã®ããã€ãã®ç¹åŸŽããµããŒãããŸãã詳ããã¯
GNU C ã®
ããã¥ã¢ã«ãåç
§ããŠãã ããã以åã¯ããã«ãã®ãªã¹ãã®è€è£œãèŒããŠããŸãããã
ããããå®å
šã«æä»£é
ãã«ãªã£ãæã«æã
ã«æå¥ãæ¥ãªãããã«åé€ããŠããŸããŸ
ããã
ããããC++ ã®ããã°ã©ã ã ãã«ã€ã㊠(C ã§ã¯ãããŸãã) ç¹-
ããŠããããš ã 1 ã€ãããŸãã `-traditional' ãªãã·ã§ã³ã¯ C++
ã«å¯Ÿã㊠1 ã€ã ãç¹å¥ãªå¹æãæã¡ãŸããããã¯ã this
ãžã®ä»£å
¥ãèš±å¯ãããšãããã®ã§ããããã¯
`-fthis-is-variable'ãªãã·ã§ã³ã®æå®ãåãŒã广ãšåäžã®ãã®ã§ãã
-traditional-cpp
äŒçµ±ç㪠C
ããªããã»ããµã®ããã€ãã®ç¹åŸŽããµããŒãããŸããããã¯äžã«æ
ããäžã§ç¹ã«ããªããã»ããµã«é¢ä¿ãããã®ãå«ã¿ãŸããã
`-traditional' ã®æå®ã«ãã£ãŠåŒ-
èµ·ãããã以å€ã®å¹æãåãŒãããšã¯ãããŸããã
-fdollars-in-identifiers
èå¥åäžã® `$' ã®äœ¿çšãèš±å¯ããŸã (C++ ã®ã¿)ã
`-fno-dollars-in-identifiers' ã䜿çšããããšã«ãã£ãŠãæç€ºçã«
`$'ã®äœ¿çšãçŠæ¢ããããšãå¯èœã§ãã(GNU C++ ã§ã¯ãããã©ã«ãã§
`$' ãèš±å¯ããŠããã·ã¹ãã ãšçŠæ¢ããŠããã·ã¹ãã ããããŸã)ã
-fenum-int-equiv
int ããåæåãžã®æé»ã®å€æãèš±å¯ããŸã (C++ ã®ã¿)ãé垞㯠GNU
C++ 㯠enum ãã int ãžã®å€æã¯èš±å¯ããŠããŸããã
éã¯èš±ããŠããŸããã
-fexternal-templates
ãã³ãã¬ãŒã颿°ã«ã€ããŠããã®é¢æ°ãå®çŸ©ãããå Žæã«ã®ã¿åäžã®ã³ããŒ
ãçæããããšã«ãã£ãŠããã³ãã¬ãŒã宣èšã«å¯ŸããŠããå°ããªã³ãŒããçæ
ããŸã (C++
ã®ã¿)ããã®ãªãã·ã§ã³ã䜿çšããŠæ£ããã³ãŒããåŸãããã«ã¯ã
ãã³ãã¬ãŒãã䜿çšããå
šãŠã®ãã¡ã€ã«ã«ãããŠã`#pragma
implementation' (å®çŸ©) ãŸã㯠`#pragma interface' (宣èš) ã-
è¿°ããŠããå¿
èŠããããŸãã
`-fexternal-templates'
ãæå®ããŠã³ã³ãã€ã«ãè¡ãªãå Žåã«ã¯ãå
šãŠã®ãã³ãã¬ãŒãã®
å®äœã¯ external
ãšãªããŸããå
šãŠã®äœ¿çšãããå®äœã¯ã€ã³ããªã¡ã³ããŒã·ã§ã³
ãã¡ã€ã«äžã«ãŸãšããŠ-
è¿°ããŠãããªããã°ãªããŸãããããã¯ãã®å¿
èŠãšãã
ãå®äœã«å¯Ÿå¿ãã typedef 宣èšãè¡ãªãããšã«ãã£ãŠå®çŸã§ãæ³å
éã«ãããã©ã«ãã®ãªãã·ã§ã³ `-fno-external-templates'
ã§ã³ã³ãã€ã«ããå Žåã«ã¯å
šãŠã®ãã³ãã¬ãŒãã®å®äœã¯ internal ãš
ãªããŸãã
-fall-virtual
å¯èœãªéãå
šãŠã®ã¡ã³ã颿°ãæé»ã®ãã¡ã«ä»®æ³é¢æ°ãšããŠæ±ããŸãã
å
šãŠã®ã¡ã³ã颿° (ã³ã³ã¹ãã©ã¯ã¿ãš new , delete
ã¡ã³ãæŒç®åãé€ãæ³)
ã¯ãåºçŸããæç¹ã§ãã®ã¯ã©ã¹ã®ä»®æ³é¢æ°ãšã ãŠæ±ãããŸãã
ããã¯ããããã®ã¡ã³ã颿°ãžã®å
šãŠã®åŒã³åºããä»®æ³é¢æ°ã®ããã®å
éš
ããŒãã«ãåç
§ããŠéæ¥çã«æ±ºå®ããããšããããšãæå³ããŸãããç¹å®ã®ç¶æ³
ã«ãããŠã¯ãã³ã³ãã€ã©ã¯äžããããä»®æ³é¢æ°ãžã®åŒã³åºããçŽæ¥æ±ºå®ã§-
ãŸãã
ãã®ãããªå Žåã«ã¯ãã®é¢æ°åŒã³åºãã¯åžžã«çŽæ¥åŒã³åºããšãªããŸãã
-fcond-mismatch
æ¡ä»¶æŒç®åã®ç¬¬ 2, 第 3 åŒæ°ã®åãç°ãªã-
è¿°ãèš±ããŸãããã®ãããªåŒã®å㯠void ãšãªããŸãã
-fthis-is-variable
this ãžã®ä»£å
¥ãèš±å¯ããŸã (C++ ã®ã¿)ããŠãŒã¶å®çŸ©ã«ãã-
æ¶ç®¡çãå¯ èœãšãªã£ãçŸåšã§ã¯ã `this'
ãžã®ä»£å
¥ã¯æä»£é
ãã®ãã®ãšãªããŸãããåŸã£ãŠããã©ã«ãã§ã¯ãã¯ã©ã¹ã®
ã¡ã³ã颿°ããã® this
ãžã®ä»£å
¥ã¯äžåœãªãã®ãšããŠæ±ãããŠããŸããããããåŸæ¹äºæ-
ã®ããã«ã `-fthis-is-variable'
ãæå®ããããšã«ãã£ãŠãã®å¹æãåŸãããšãã§ãæ³å
-funsigned-char
char åã unsigned char ã®ããã«ç¬Šå·ç¡ããšããŠæ±ããŸãã
ããããã®ãã·ã³ã«ã¯ char ãã©ã¡ãã§ããã¹-
ããšããããã©ã«ãããããŸãã ããã©ã«ãã§ unsigned char
ã§ããããšãããã°ãããã©ã«ãã§ signed char
ã§ããããšããããŸãã
çæ³çã«ã¯ã坿¬äžéâ³è¥¯å»è¹åèçè®â²ããžã§ã¯ãã®ç¬Šå·ã®æ¥æ°é£œ
åããæ¬ºåŒé®åèŠå Žåã«ã¯åžžã« signed charãããã㯠unsigned
char ã䜿çšãã¹ãä»»å ãããå®éã«ã¯å€ãã®ããã°ã©ã ãåãªã
char ãçšããŠæ¬ºåŒæ°èŽèšããããã«ãã®ããã°ã©ã ãæ¬ºåŒéŽ ç°-
ã«äŸåããŠã笊å·ä»-
ã§ããããããã¯ç¬Šå·ç¡ãã§ãããšããæé»ã®ä»®å®ã
è¡ãªãããŠããŸãããã®ãªãã·ã§ã³ããããã¯ãã®éã®ãªãã·ã§ã³ã¯ãããã©ã«
ããšéã®åäœãè¡ãªãããããšã«ããããããã®ããã°ã©ã ãæ£ããåäœãã
ãããšãå¯èœã«ããŸãã
char åã¯åžžã« signed char ããã㯠unsigned char
ãšã¯åºå¥ãããåãšããŠæ±ãããŸããåžžã«ãããã®æ¯èãããã®ã©ã¡
ãããšå
šãåãã§ãããšããããšã«é¢ãããããã®ãããªæ±ããè¡ããŸãã
-fsigned-char
char åã signed char åã®ããã«ç¬Šå·ä»ã箞éŽåéŽãæ³å
ãã ãããã®ãªãã·ã§ã³ã¯ `-fno-unsigned-char' ãšç䟡ã§ããããã¯
`-funsigned-char'ã®åŠå®åœ¢ã§ããåæ§ã« `-fno-signed-char' ã¯
`-funsigned-char' ãšç䟡ã§ãã
-fsigned-bitfields
-funsigned-bitfields
-fno-signed-bitfields
-fno-unsigned-bitfields
ãããã®ãªãã·ã§ã³ã¯ãæç€ºçã« `signed' ãŸã㯠`unsigned'
ã®æå®ãè¡ãªãããŠããªãããããã£ãŒã«ãã«å¯ŸããŠã笊å·ã€-
ã§ããããã
ãã¯ç¬Šå·ãªãã§ããããå¶åŸ¡ããŸããããã©ã«ãã§ã¯ãã®ãããªããããã£ãŒã«
ãã¯ç¬Šå·ã€ã箞èŠèŸ°èšãæ³åãªããªãã int
ã®ãããªåºæ¬çãªåã¯ç¬Šå·ã€ãä»»â³è¥ªç®žãεäžåŠâªå§è-
ããšããããã§ãã
ãã ãã`-traditional'
ãæå®ããå Žåã¯ãããããã£ãŒã«ãã¯åžžã«å
šãŠç¬Šå·ç¡ãã§ãããšãããŸãã
-fwritable-strings
æåå宿°ãæž-
蟌ã¿å¯èœãªããŒã¿ã»ã°ã¡ã³ãã«é
眮ããåå
å®¹ã®æååã 1 ã€ã®å
±-
ãªããžã§ã¯ãã«ããåŠçãè¡ããŸãããããã¯ãæå宿°ã«æžãã
ããšãã§ãè¥ªæµ·ç®žéæžè
éŽç¥éé¢å»è¹åèç箞æ
®æŸ³æµ©-
ããšãããã«æäŸãã ãŠããŸãã`-traditional'
ãªãã·ã§ã³ãåæ§ã®å¹æãå«ã¿ãŸãã
æå宿°ã«æžãããšããèãã¯éåžžã«ãããªãèãã§ãã"宿°"
ã¯ãŸãã«å®æ°ã§ãããå€åãã¹ãä»»åâ³è
æ³æŠéµ
ãå»ãèãå»ãè¹ãæãå¥ãæ±ããå»ãèœãè
ã³
ãããã®ãªãã·ã§ã³ã¯ C ããªããã»ããµãå¶åŸ¡ããŸãã å C
ãœãŒã¹ãã¡ã€ã«ã¯ãå®éã«ã³ã³ãã€ã«ããåã«ãC ããªããã»ããµã«
ãããããŸãã
`-E' ãªãã·ã§ã³ã䜿çšãããšãGCC ã¯ããªããã»ã¹ä»¥å€ã®åŠçãè¡ããŸããã
以äžã«ç€ºããªãã·ã§ã³ã®ãã¡ã®ããã€ãã¯ã`-E'
ãšåæã«äœ¿çšãããæã®ã¿æå³ããã¡ãŸãããªããªãã°ããããã®ãªãã·ã§ã³
ã«ãã£ãŠãå®éã®ã³ã³ãã€ã«ã«ã¯äžé©åœãªããªããã»ããµåºåãçæãããããã§ãã
-include file
file ããéåžžã®å
¥åãã¡ã€ã«ãåŠçãããåã«åŠçããŸããçµæçã«
file
ã«å«ãŸããå
容ã¯ãäžçªæåã«ã³ã³ãã€ã«ãããããšã«ãªããŸããã³ãã³ãã©
ã€ã³ã«æå®ããããã¹ãŠã® `-D' ã `-U' ãªãã·ã§ã³ã¯ããã®-
è¿°ãããé çªã«é¢ãããåžžã« `-include file'
ãåŠçãããåã«åŠçãããŸããå
šãŠã® `-include' ã `-imacros'
ãªãã·ã§ã³ã¯ãããããæ¬ºåŒæ°èŽç³è 厢æªè
æŽè¢ãããŸãã
-imacros file
éåžžã®å
¥åãã¡ã€ã«ãåŠçããåã«file
ãå
¥åãšããŠåŠçããŸããããã®çµæã®åºåãæšãŠãŸãã file
ã«ãã£ãŠçæãããåºåã¯æšãŠãããããã`-imacros file'
ã®åŠççµæã®åœ±é¿ã¯ãfile äžã«-
è¿°ããããã¯ããã¡ã€ã³ã®å
¥åãã¡ã€ã«äžã§äœ¿çšå¯èœã«ãªãããšã ãã§ãã
ããªããã»ããµã¯ã`-imacros file' ã-
è¿°ãããé çªã«é¢ãããããããåŠçããåã«ã
ã³ãã³ãã©ã€ã³ããäžããããå
šãŠã® `-D' ã `-U'
ãªãã·ã§ã³ãè©äŸ¡ããŸããå
šãŠã® `-include' ããã³ `-imacros'
ãªãã·ã§ã³ã¯ãããããæ¬ºåŒæ°èŽç³è 厢æªè
æŽè¢ãããŸãã
-idirafter dir
ãã£ã¬ã¯ã㪠dir ã第 2 ã€ã³ã¯ã«ãŒããã¹ã«å ããŸãã第 2
ã€ã³ã¯ã«ãŒããã¹äžã®ãã£ã¬ã¯ããªã¯ã ã¡ã€ã³ã€ã³ã¯ã«ãŒããã¹
(ãªãã·ã§ã³ `-I' ã«ãã£ãŠè¿œå ãããŸã)
äžã«ããããã¡ã€ã«ãæ¢ããçµæçºèŠã§ã
ãã£ãå Žåã«æ€çŽ¢ãããŸãã
-iprefix prefix
prefix ãããã®åŸã«ç¶ã `-iwithprefix'
ãªãã·ã§ã³çšã®ãã¬ãã£ãã¯ã¹ãšããŠäœ¿çšããŸãã
-iwithprefix dir
ãã£ã¬ã¯ããªã第 2
ã€ã³ã¯ã«ãŒããã¹ã«è¿œå ããŸãããã£ã¬ã¯ããªå㯠prefix ãš dir
ãé£çµããããšã«ãã£ãŠåŸãããŸããããã§ prefix ã¯ã`-iprefix'
ãªãã·ã§ã³ã«ãã£ãŠæå®ããããã®ã§ãã
-nostdinc
ããããã¡ã€ã«ã®ããã®æšæºã®ã·ã¹ãã ãã£ã¬ã¯ããªãæ€çŽ¢ããŸããã`-I'
ãªãã·ã§ã³ã«ãã£ãŠæå®ãããã£ã¬ã¯ã㪠(ãŸãã¯ã«ã¬ã³ããã£ã¬ã¯ã
ãª) ã®ã¿ãæ€çŽ¢ããŸãã
`-nostdinc' ãš
`-I-'ã䜿çšããããšã«ãããã€ã³ã¯ã«ãŒããã¡ã€ã«ã®æ€çŽ¢ãã¹ãæç€ºçã«æ
å®ãããã£ã¬ã¯ããªã®ã¿ã«éå®ããããšãå¯èœãšãªããŸãã
-nostdinc++
ããããã¡ã€ã«ã®æ€çŽ¢ã«ãC++-åº-
ã®æšæºãã£ã¬ã¯ããªãçšããŸããããã
ããã以å€ã®æšæºãã£ã¬ã¯ããªã¯æ€çŽ¢ãããŸãã (ãã®ãªãã·ã§ã³ã¯
`libg++' ã®æ§ç¯ã«äœ¿çšãããŸãã)
-undef æšæºã§ãªãå®çŸ©æžã¿ãã¯ã(ã¢ãŒ-
ãã¯ãã£ãã©ã°ãå«ããŠ)ãå®çŸ©ããŸããã
-E C ããªããã»ããµã®åŠçã®ã¿ãè¡ããŸããæå®ãããå
šãŠã® C
ã®ãœãŒã¹ãã¡ã€ã«
ã«å¯ŸããŠããªããã»ã¹ãè¡ãªããæšæºåºåããŸãã¯æå®ãããåºåãã¡ã€ã«ã«
察ããŠåºåãè¡ããŸãã
-C ããªããã»ããµã«å¯ŸããŠã³ã¡ã³ãã®åé€ãè¡ãªããªãããã«æç€ºããŸãã
`-E' ãªãã·ã§ã³ãšãšãã«äœ¿çšãããŸãã
-P ããªããã»ããµã«å¯Ÿã㊠`#line'
ã³ãã³ããçæããªãããã«æç€ºããŸãã `-E'
ãªãã·ã§ã³ãšãšãã«äœ¿çšãããŸãã
-M [ -MG ]
ããªããã»ããµã«å¯ŸããŠmake
ã§äœ¿çšå¯èœãªããªããžã§ã¯ãéã®äŸåé¢ä¿ã-
è¿°ããåºåãçæããããã«æç€º
ããŸããããããã®ãœãŒã¹ãã¡ã€ã«ã«å¯ŸããŠãããªããã»ããµã¯make
ã®ããã®èŠåã 1 ã€åºåããŸãããã®åºåã¯ãã¿ãŒã²ãããšããŠ
ãã®ãœãŒã¹ãã¡ã€ã«ããçæããããªããžã§ã¯ããã¡ã€ã«ã®ãã¡ã€ã«åããšãã
äŸåãããã¡ã€ã«ã®ãªã¹ããšããŠã¯ `#include'
ã«ãã£ãŠãœãŒã¹ãã¡ã€ã«ã«
èªã¿èŸŒãŸããå
šãŠã®ãã¡ã€ã«ã®ååã䞊ã³ãŸãããã® èŠå㯠1
è¡ããããã¯é·ãå Žåã«ã¯`\'
ãšæ¹è¡ãå
¥ããŠè€æ°è¡ã§åºåãããŸãããã®èŠåã®ãªã¹ãã¯ãããªããã»ã¹æž
ã¿ã® C ããã°ã©ã ã®ãããã«ãæšæºåºåãžãšåºåãããŸãã
`-M' ã¯æé»ã®ãã¡ã« `-E' ãå«ã¿ãŸãã
`-MG'
ãæå®ãããšãèŠã€ãããªãããããã¡ã€ã«ã¯çæããããã¡ã€ã«ã§ããã
ãããã¯ãœãŒã¹ãã¡ã€ã«ãšåããã£ã¬ã¯ããªã«ååšãããšã¿ãªããŸãã
ãã㯠`-M' ãšåæã«æå®ããªããã°ãªããŸããã
-MM [ -MG ]
`-M' ãšäŒŒãŠããŸããã`#include
"file"'ã«ãã£ãŠã€ã³ã¯ã«ãŒãããããŠãŒã¶å®çŸ©ã®ããããã¡ã€ã«ã®ã¿ã察象ã«
ããåºåãã¡ã€ã«ãçæããŸãã`#include <file>'
ã«ãã£ãŠã€ã³ã¯ã«ãŒããããã·ã¹ãã ããããã¡ã€ã«ã¯çç¥ãããŸãã
-MD `-M' ãšäŒŒãŠããŸãããäŸåæ
å ±ã¯åºåãã¡ã€ã«åã®æåŸã® `.o' ã
`.d' ã«çœ®ãå¢âç¹äŸ«ïŒã
è©å¬é¢äŸ«ïŒã
襪玡䞪éŽå³ äŸåæ°èŽæ³å `-MD'
ãæå®ãããã¡ã€ã«ã®ã³ã³ãã€ã«ãããã«å ããŠè¡ãªããã `-M'
ã®ããã«éåžžã®ã³ã³ãã€ã«ãæå¶ããããšã¯ãããŸããã
Mach ã®ãŠãŒãã£ãªãã£ã§ãã`md' ã¯ããããã®è€æ°ã® `.d'
ãã¡ã€ã«ã `make' ã³ãã³ãã«ãã£ãŠäœ¿çšã§ãèšç¢èŽçé å
-
è¿°ãã¡ã€ã«ãžãšããŒãžããã®ã«äœ¿çš ããããšãã§ãæ³å
-MMD `-MD'
ãšäŒŒãŠããŸããããŠãŒã¶ããããã¡ã€ã«ã®ã¿ã察象ãšããã·ã¹ãã ããã
ãã¡ã€ã«ãç¡èŠããŸãã
-H éåžžã®åäœã«å ããŠã䜿çšãããããããã¡ã€ã«ã®ååã衚瀺ããŸãã
-Aquestion(answer)
questionã«å¯Ÿããã¢ãµãŒã·ã§ã³ answer ãå®çŸ©ããŸãããã㯠`#if
#question(answer)'
ã®ãããªããªããã»ããµæ¡ä»¶ç¯ã«ãã£ãŠãã¹ããããŸãã`-A-'
ã¯æšæºã®ã¢ãµãŒã·ã§ã³(éåžžã¯ã¿ãŒã²ãããã·ã³ã«é¢
ããæ
å ±ã衚ããŠãã)ãçŠæ¢ããŸãã
-Dmacro
ãã¯ã macro ã«å¯ŸããŠæåå `1' ãå®çŸ©ãšããŠäžããŸãã
-Dmacro=defn
ãã¯ã macro ã defn ãšããŠå®çŸ©ããŸããã³ãã³ãã©ã€ã³äžã®å
šãŠã®
`-D' ãªãã·ã§ã³ã¯ `-U'
ãªãã·ã§ã³ã®åŠçãè¡ãªãåã«åŠçãããŸãã
-Umacro
ãã¯ã macro ã®å®çŸ©ãç¡å¹ã«ããŸãã`-U' ãªãã·ã§ã³ã¯å
šãŠã® `-D'
ãªãã·ã§ã³ã®åŠçãçµäºããåŸã`-include' ãš `-imacros'
ãªãã·ã§ã³ã®åŠçã®åã«åŠçãããŸãã
-dM ããªããã»ããµã«å¯ŸããŠãããªããã»ã¹çµäºæã«-
å¹ã§ãã£ããã¯ãã®å®çŸ©ã® ã¿ãåºåããããã«æç€ºããŸãã`-E'
ãªãã·ã§ã³ãšãšãã«äœ¿çšããŸãã
-dD ããªããã»ããµã«å¯ŸããŠãå
šãŠã®ãã¯ãå®çŸ©ãé©åãªé çªã§åºåäžã«ãã®ãŸãŸ
åºåããããã«æç€ºããŸãã
-dN `-dD' ãšäŒŒãŠããŸããããã¯ãã®åŒæ°ãšå
容ãåé€ããŸãã
åºåã«ã¯`#define name' ã®ã¿ãå«ãŸããŸãã
ãâãæãéµãå±ãèããå»ãèœãè
ã³
-Wa,option
option ãã¢ã»ã³ãã©ã«å¯Ÿãããªãã·ã§ã³ãšããŠæž¡ããŸããoption
ãã³ã³ããå«ãå Žåã¯ããã®ã³ã³ãã§åºåãããè€æ°ã®ãªãã·ã§ã³ãšããŠäžã
ãããŸãã
ãèãéµãããå»ãèœãè
ã³
ãããã®ãªãã·ã§ã³ã¯ãã³ã³ãã€ã©ããªããžã§ã¯ããã¡ã€ã«çŸ€ããªã³ã¯ã㊠1
ã€
ã®å®è¡å¯èœãã¡ã€ã«ãåºåããéã«äœ¿çšããããã®ã§ãããããã¯ã³ã³ãã€ã©ã
ãªã³ã¯ã¹ããããè¡ãªããªãå Žåã«ã¯æå³ãæã¡ãŸããã
object-file-name
ç¹å¥ã«èªèãããæ¡åŒµåã§çµã£ãŠããªããã¡ã€ã«åã¯ããªããžã§ã¯ããã¡ã€ã«ã
ãŸãã¯ã©ã€ãã©ãªã§ãããšèªèãããŸãã(ãªããžã§ã¯ããã¡ã€ã«ãšã©ã€ãã©ãª
ã¯ãªã³ã«ããã®å
容ãåç
§ããããšã§åºå¥ãããŸãã) GCC
ããªã³ã¯ã¹ãããã
è¡ãªãå Žåã¯ããããã®ãã¡ã€ã«ã¯ãªã³ã«ãžã®å
¥åãšããŠäœ¿çšãããŸãã
-llibrary
ååã library ã§ããã©ã€ãã©ãªããªã³ã¯æã«äœ¿çšããŸãã
ãªã³ã«ã¯ãæšæºã®ã©ã€ãã©ãªçšãã£ã¬ã¯ããªã®ãªã¹ãäžããã
å®éã®ãã¡ã€ã«åã `liblibrary.a'
ã§ãããã¡ã€ã«ãæ€çŽ¢ããŸãããªã³ã«ã¯ãã®ãã¡ã€ã«ãããã¡ã€ã«
åã§çŽæ¥æå®ããå Žåãšåæ§ã«äœ¿çšããŸãã
æ€çŽ¢ãããã£ã¬ã¯ããªã«ã¯ãããã€ãã®æšæºã·ã¹ãã ãã£ã¬ã¯ããªãšã`-L'
ã«ãã£ãŠæå®ãããã£ã¬ã¯ããªãå«ãŸããŸãã
éåžžããã®æ¹æ³ã§çºèŠããããã¡ã€ã«ã¯ã©ã€ãã©ãªãã¡ã€ã«ãã€ãŸãããã€ãã®
ãªããžã§ã¯ããã¡ã€ã«ãã¡ã³ããšããŠå«ãã¢ãŒã«ã€ããã¡ã€ã«ã§ãã
ãªã³ã«ã¯ãã¢ãŒã«ã€ããã¡ã€ã«ã®äžãæ€çŽ¢ããŠã
åç
§ãããŠãããå®çŸ©ãããŠããªãã·ã³ãã«ãå®çŸ©ããŠããã¡ã³ãã
æ¢ãåºããŸãã
ãããããããªã³ã«ãã©ã€ãã©ãªã§ãªãéåžžã®ãªããžã§ã¯ããã¡ã€ã«ãçºèŠãã
å Žåã¯ããã®ãªããžã§ã¯ããã¡ã€ã«ãéåžžã®æ¹æ³ã§ãªã³ã¯ããŸãã`-l'
ãªãã·ã§ã³ã䜿çšããå Žåãšãã¡ã€ã«åãçŽæ¥æå®ããå Žåã®éãã¯ã`-l'
ã®å Žåã library ã `lib' ãš `.a'
ã§å²ã¿ãããã€ãã®ãã£ã¬ã¯ããªãæ€çŽ¢ããããšã ãã§ãã
-lobjc Objective C ã®ããã°ã©ã ããªã³ã¯ããå Žåã¯ããã®ç¹å¥ãª -l
ãªãã·ã§ã³ãæå®ããå¿
èŠããããŸãã
-nostartfiles
ãªã³ã¯æã«ãæšæºã®ã·ã¹ãã ã¹ã¿ãŒãã¢ãããã¡ã€ã«ã䜿çšããŸããã
æšæºã©ã€ãã©ãªã¯éåžžéãã«äœ¿çšãããŸãã
-nostdlib
ãªã³ã¯æã«ãæšæºã®ã·ã¹ãã ã©ã€ãã©ãªãšã¹ã¿ãŒãã¢ãããã¡ã€ã«ã䜿çšããŸããã
æå®ãããã¡ã€ã«ã®ã¿ããªã³ã«ã«æž¡ãããŸãã
-static
ãã€ãããã¯ãªã³ã¯ããµããŒãããã·ã¹ãã ã«ãããŠããã®ãªãã·ã§ã³ã¯å
±-
ã©ã€ãã©ãªãšã®ãªã³ã¯ãæå¶ããŸãããã以å€ã®ã·ã¹ãã ã§ã¯ãã®ãªãã·ã§ã³ã¯
æå³ãæã¡ãŸããã
-shared
ä»ã®ãªããžã§ã¯ããšãªã³ã¯ããŠå®è¡å¯èœããã°ã©ã ã圢æãåŸãå
±-
ãªããžã§ã¯ãã
çæããŸããããå°æ°ã®ã·ã¹ãã ã§ã®ã¿ããã®ãªãã·ã§ã³ã¯ãµããŒããã
ãŠããŸãã
-symbolic
å
±-
ãªããžã§ã¯ããæ§ç¯ããéã«ãã°ããŒãã«ãªã·ã³ãã«ãžã®åç
§ããã€ã³ã
ããŸããå
šãŠã®è§£æ±ºã§ãèŠã£ãåç
§ã«å¯ŸããŠèŠåãäžããŸã
(ãã ããªã³ã¯ãšãã£ã¿ãªãã·ã§ã³ `-Xlinker -z -Xlinker defs'
ã«ãã£ãŠãããç¡å¹åããå Žåãé€-
ãŸã)ãããå°æ°ã®ã·ã¹ãã ã§ã®ã¿ã
ãã®ãªãã·ã§ã³ã¯ãµããŒããããŠããŸãã
-Xlinker option
ãªãã·ã§ã³ option
ããªã³ã«ã«å¯ŸããŠæž¡ããŸãããªã³ã«ã«æž¡ãã·ã¹ãã åº-
ã®ãªãã·ã§ã³ãã GNU CC ãçè§£ã§ãèŠãçŒéä»»â³èšè±ºè
åçšã§-
ãŸãã
åŒæ°ãæã£ããªãã·ã§ã³ãæž¡ãããå Žåã¯ã `-Xlinker' ã 2
床䜿çšããã°å¯èœã§ãã1 床ç®ã§ãªãã·ã§ã³ãæž¡ãã2 床ç®ã§åŒæ°ã
æž¡ããŸããäŸãã° `-assert definitions' ãæž¡ãã«ã¯ã `-Xlinker
-assert -Xlinker definitions' ã®ããã«æ¬ºåŒå¢èŽäºæ€ä¿®ä»»å
`-Xlinker "-assert definitions"'
ã®ããã«æå®ããå Žåã¯æ£åžžã«åäœããŸããããªããªãããã¯ãæååå
š
äœã 1
ã€ã®åŒæ°ãšããŠæž¡ããŠããŸãããªã³ã«ã®æåŸ
ãã圢åŒãšç°ãªã£ãŠããŸ
ãããã§ãã
-Wl,option
ãªãã·ã§ã³ option ããªã³ã«ã«æž¡ããŸããoption
ãã³ã³ããå«ãå Žåã¯ããããã®ã³ã³ãã§è€æ°ã®ãªãã·ã§ã³ãšããŠåå²ãããŸãã
-u symbol
ã·ã³ãã« symbol
ãæªå®çŸ©ã§ãããã®ããã«æ¯èããŸããããã¯åŒ·å¶çã«ãã®ã·ã³ãã«ãå®çŸ©ããŠã
ãã©ã€ãã©ãªã¢ãžã¥ãŒã«ããªã³ã¯ããããã«äœ¿çšããŸãã`-u'
ã¯ç°ãªã£ãã·ã³ãã«ã«å¯ŸããŠè€æ°å䜿çšããããšãã§-
ãŸããããã«ãã£
ãŠãããã«å€ãã®ã©ã€ãã©ãªã¢ãžã¥ãŒã«ãèªã¿èŸŒãŸããããšãã§-
ãŸãã
ãåŠããèããèãèããå»ãèœãè
ã³
ãããã®ãªãã·ã§ã³ã¯ãããããã¡ã€ã«ãã©ã€ãã©ãªãã³ã³ãã€ã©ã®äžéšãæ€
玢ãããã£ã¬ã¯ããªãæå®ããããã«äœ¿çšãããŸãã
-Idir ãã£ã¬ã¯ã㪠dir
ããã€ã³ã¯ã«ãŒããã¡ã€ã«ã®æ€çŽ¢ãããã£ã¬ã¯ããªã®ãªã¹ãäžã«è¿œå ããŸãã
-I- `-I-' ãªãã·ã§ã³æå®åã« `-I'
ãªãã·ã§ã³ã«ãã£ãŠæå®ãããå
šãŠã®ãã£ã¬ã¯ããªã¯ã`#include
"file"' ã®åœ¢åŒã«ãã£ãŠã®ã¿æ€çŽ¢ãããŸãã ãããã®ãã£ã¬ã¯ããªã¯
`#include <file>' ã«ãã£ãŠã¯æ€çŽ¢ãããŸããã
` -I-' ãªãã·ã§ã³æå®åŸã« `-I' ã§æå®ãããã£ã¬ã¯ããªã¯ãå
šãŠã®
`#include' åœä»€ã«ãã£ãŠæ€çŽ¢ãããŸãã(é垞㯠_-I'
ã§æå®ããããã£ã¬ã¯ããªã¯ ãã®æ¹æ³ã§æ€çŽ¢ãããŸãã)
ããã«å ã㊠`-I-' ãªãã·ã§ã³ã¯ãã«ã¬ã³ããã£ã¬ã¯ããª
(çŸåšã®å
¥åãã¡ã€ã«ãååšãã ãã£ã¬ã¯ããª) ã `#include "file"'
ã«å¯Ÿããæåã®æ€çŽ¢å¯Ÿè±¡ãšãªãããšãæå¶ããŸãã`-I-'
ã«ãããã®å¹æãäžæžãå¢è©æ³ã¯ãããŸããã`-I.'
ãæå®ããããšã«ãã£ãŠãã³ã³ãã€ã©ãèµ·åããããã£ã¬ã¯ããªãæ€çŽ¢
ãããããšãæå®ããããšã¯å¯èœã§ããããã¯ããªããã»ããµãè¡ãªã
ããã©ã«ãã®åäœãšã¯ç°ãªããŸããããããŠãã¯ããã§ååã§ãã
`-I-'
ã¯ãããããã¡ã€ã«ã®æ€çŽ¢ã«æšæºã®ã·ã¹ãã ãã£ã¬ã¯ããªã䜿ãããšãæå¶
ããããã§ã¯ãããŸããã åŸã£ãŠã`-I-' ãš `-nostdinc' ã¯
ç¬ç«ã§ãã
-Ldir ãã£ã¬ã¯ããªdir ã `-l'
ã«ããæ€çŽ¢ãè¡ãªããããã£ã¬ã¯ããªã®ãªã¹ãã«å ããŸãã
-Bprefix
ãã®ãªãã·ã§ã³ã¯ã³ã³ãã€ã©èªèº«ã®å®è¡åœ¢åŒãã©ã€ãã©ãªãããŒã¿ãã¡ã€ã«ã®
æ€çŽ¢å Žæãæå®ããŸãã
ã³ã³ãã€ã©ãã©ã€ãã¯ãµãããã°ã©ã `cpp', `cc1' (ãŸã㯠C++
ã«ãããŠã¯ `cc1plus'), `as', ãã㊠`ld' ã 1
ã€ããããã¯ãã以äžèµ·åããŸããã³ã³ãã€ã©ãã©ã€ãã¯ã
èµ·åããããã°ã©ã ã®ãã¬ãã£ãã¯ã¹ãšã㊠prefix ã«
`machine/version/' ãã€ãããã®ãšã€ããªããã®ã®åæ¹ã
䜿çšããŸãã
ã³ã³ãã€ã©ãã©ã€ãã¯åãµãããã°ã©ã ã®èµ·åæã«ã `-B'
ãã¬ãã£ãã¯ã¹ã®æå®ãããå Žåã¯ããããæåã«å©çšããŸãããããã®
ååãèŠã€ãããªããã°ããŸã㯠`-B'
ãæå®ãããŠããªããã°ããã©ã€ã㯠2 ã€ã®æšæºãã¬ãã£ãã¯ã¹
`/usr/lib/gcc/' ãš `/usr/local/lib/gcc-lib/'
ã詊ããŸãããã®ã©ã¡ãã«ãèŠã€ãããªããã°ãã³ã³ãã€ã©ãã©ã€ãã¯ã
ç°æ²ç«ž `PATH'
ã®ãã£ã¬ã¯ããªãªã¹ããå©çšããŠããã®ããã°ã©ã åãæ€çŽ¢ããŸãã
ã©ã³ã¿ã€ã ãµããŒããã¡ã€ã« `libgcc.a' ããå¿
èŠãªãã° `-B'
ãã¬ãã£ãã¯ã¹ãçšããŠæ€çŽ¢ãããŸããããããã«èŠã€ãããªããã°ã
å 2
ã€ã®æšæºãã¬ãã£ãã¯ã¹ã詊ã¿ãããŸãããããã§çµãã§ãããã®å Žåã¯
ãªã³ã¯ã®å¯Ÿè±¡ããå€ãããŸããã»ãšãã©ã®å ŽåããŸãã»ãšãã©ã®ãã·ã³ã§ã¯ã`libgcc.a'
ã¯å®éã«ã¯å¿
èŠã§ã¯ãããŸããã
ãããšåã广ããç°æ²ç«ž GCC_EXEC_PREFIX
ã«ãã£ãŠãåŸãããšãã§ãæ³åãããã®ç°-
倿°ãå®çŸ©ãããŠããã°ãã
ã®å€ããã¬ãã£ãã¯ã¹ãšããŠåæ§ã«äœ¿çšãããŸãããã `-B'
ãªãã·ã§ã³ãš GCC_EXEC_PREFIX ç°æ²ç«žç€æäœãååšããå Žåã¯ã`-B'
ãªãã·ã§ã³ãæåã«äœ¿çšãããç°æ²ç«žç€éºïŒå¿è©åæ°èŽæ³å
èæåéããå»ãèœãè
ã³
èŠåã¯ãæ¬è³ªçã«ééãã§ããããã§ã¯ãããŸããããå±éºãªæ§é ãå ±åãããã
ãšã©ãŒããããããããªããããªéšåã瀺åãã蚺æã¡ãã»ãŒãžã§ãã
以äžã®ãªãã·ã§ã³ã¯ãGNU CC ãçæããèŠåã®éãšçš®é¡ãå¶åŸ¡ããŸãã
-fsyntax-only
ã³ãŒãã®ææ³ãšã©ãŒããã§ãã¯ããŸãããäžååºåã¯è¡ããŸããã
-w å
šãŠã®èŠåã¡ãã»ãŒãžãæå¶ããŸãã
-Wno-import
#import ã®å©çšã«ããèŠåã¡ãã»ãŒãžãæå¶ããŸãã
-pedantic
å³å¯ãª ANSI æšæº C
èšèªã§èŠå®ããŠããå
šãŠã®èŠåã衚瀺ããèš±ãããŠããªãæ¡åŒµã
䜿çšããããã°ã©ã ãå
šãŠæåŠããŸãã
æ£åœãª ANSI æšæº C ããã°ã©ã ã¯ããã®ãªãã·ã§ã³ã®æ¥æ°äº¡æé£è
ã³ã³ãã€ã«ã§ã襪æ®ã§ã (ãã£ãšããã»ãã®ãããã§ã¯ãããŸãã
`-ansi'
ãå¿
èŠãšãããã®ã¯ãããŸã)ããããããã®ãªãã·ã§ã³ã䜿çšããªãå Žåã
GNU æ¡åŒµãäŒçµ±ç㪠C
ã®ç¹åŸŽããããã«å ããŠãµããŒããããŸãããã®ãªãã·ã§ã³
ã䜿çšããã°ããããã¯æçµ¶ãããŸãããã®ãªãã·ã§ã³ã_-pedantic' ã¯ãå§ãŸããšçµããšã `__' ã§ãã代æ¿-
ãŒã¯ãŒãã®äœ¿çšã«ã€ããŠã¯ãèŠåããŸããã åæ§ã« __extension__
ã«ç¶ã衚çŸã«ã€ããŠãèŠåããŸãããããããã·ã¹ãã ããããã¡ã€ã«ã®ã¿
ããã®æãéã䜿çšãã¹-
ã§ãããã¢ããªã±ãŒã·ã§ã³ããã°ã©ã ã¯ãããé¿ã ãã¹ãä»»å
-pedantic-errors
`-pedantic' ãšäŒŒãŠããŸãããèŠåã®ãããã«ãšã©ãŒãåºããŸãã
-W 以äžã®ã€ãã³ãã«å¯ŸããŠãç¹å¥ãªèŠåã¡ãã»ãŒãžã衚瀺ããŸãã
o volatile ã§ãªãèªå倿°ã longjmp
ã®åŒã³åºãã«ãã£ãŠå€æŽããåŸãå Žåã§ãããããã®èŠåã¯ãæé©åã³ã³ãã€ã«
ã®æã®ã¿åé¡ã«ãªãåŸãŸãã
ã³ã³ãã€ã©ã¯ setjmp
ã®åŒã³åºãã®ã¿ãèŠãŠããŸããã³ã³ãã€ã©ã¯ãã©ãã§ longjmp
ãåŒã³åºãããããç¥ãããšã¯ã§-
ãŸãããå®éã«ã¯ãã·ã°ãã«ãã³ãã©ã¯ ã³ãŒãäžã®ä»»æã®å Žæã§
longjmp ãåŒã³åºãããšãã§ãæ³ååŸã£ãŠãå®éã«ã¯ longjmp
ãžã®åŒã³åºããå±éºãªéšåããã¯ãããªãããŠããªãããã«åé¡ã®ãªãã
ãã°ã©ã ã§ãã£ãŠããèŠåãçºããããããšã«ãªããŸãã
o 颿°ããå€ã䌎ã£ãŠãªã¿ãŒã³ããå Žåãšãå€ã䌎ããã«ãªã¿ãŒã³ããå Žåã®äž¡æ¹
ãèµ·ããããå Žåã§ãã
(颿°ã®æåŸãæããŠããããšã¯ãå€ã䌎ããã«é¢æ°ããªã¿ãŒã³ãããšã¿ãªãããŸãã)
äŸãã°ã次ã®é¢æ°ããã®çš®é¡ã®èŠåãåŒããããŸãã
foo (a)
{
if (a > 0)
return a;
}
ãã颿° (abort ãlongjmp ãå«ã)
ãæ±ºããŠãªã¿ãŒã³ããªããšããããšã GNU CC ãçè§£ã§-
ãªãããã«ãã«ãã®èŠå ãçºçãããããããŸããã
o åŒæ (expression-statement) ãŸãã¯ã³ã³ãåŒã®å·Šéšåã
äžåã®å¯äœçšãå«ãŸãªãå Žåã§ãã
èŠåãæå¶ããã«ã¯ã䜿çšããªãåŒã void ã«ã¥ç€å¥œç®žéŽå çŸæ°ã
äŸãã° `x[i,j]' ãšãã£ãåŒã¯èŠåãããŸããã`x[(void)i,j]'
ã¯èŠåãããŸããã
o 笊å·ç¡ãã®å€ã 0 ãš `>' ãŸã㯠`<=' ã§æ¯èŒãããå Žåã§ãã
-Wimplicit-int
åãæå®ããŠããªã宣èšã«å¯ŸããŠèŠåããŸãã
-Wimplicit-function-declaration
宣èšã«å
ç«ã£ãŠçšãããã颿°ã«å¯ŸããŠèŠåããŸãã
-Wimplicit
-Wimplicit-int ããã³ -Wimplicit-function-declaration
ãšåãã§ãã
-Wmain main
颿°ãäžå¯©ãªåã§å®£èšãããã¯å®çŸ©ãããŠããå Žåã«èŠåããŸãã
éåžžãmain ã¯å€éšãªã³ã±ãŒãžãæã¡ã int ãè¿ãã0 åãŸã㯠2
åã®åŒæ°ããšã颿°ã§ãã
-Wreturn-type
颿°ã®æ»ãå€ã®åããããã©ã«ãã§ãã int
ã«å®çŸ©ãããæã«åžžã«èŠåããŸãããŸããæ»ãå€ã®åã
voidã§ãªã颿°å
ã«ãæ»ãå€ã®ãªã return
æãããå Žåã«ãåžžã«èŠåããŸãã
-Wunused
ããŒã«ã«å€æ°ã宣èšãããã«ãé¢ããã䜿çšãããŠããªãå Žåãéçã«å®£èšã
ãã颿°ã®å®äœãå®çŸ©ãããŠããªãå Žåãèšç®çµæãæããã«
å©çšãããŠããªãå Žåã«åžžã«èŠåããŸãã
-Wswitch
switch
æãã€ã³ããã¯ã¹ãšããŠåæåããšã£ãŠããæããã®åæåäžã®ããã€
ãã®å€ã«å¯Ÿãã case ãæ¬ ããŠããå Žåã«åžžã«èŠåããŸãã(default
ã©ãã«ãååšããå Žåããã®èŠåã¯åºãŸããã)
ãã®ãªãã·ã§ã³ã䜿çšããå Žå ã«ã¯ãåæåã®ç¯å²ãè¶ãã case
ã©ãã«ããåžžã«èŠåãããŸãã
-Wcomment
ã³ã¡ã³ãã®éå§æåå `/*'
ãã³ã¡ã³ãäžã«çŸããæã«åžžã«èŠåããŸãã
-Wtrigraphs
ãã©ã€ã°ã©ãã®åºçŸãåžžã«èŠåããŸã
(ãã©ã€ã°ã©ãã䜿çšå¯èœã§ãããšä»®å®ããŸã)ã
-Wformat
printf, scanf
ãªã©ãžã®åŒã³åºãã«å¯ŸããŠãäžããããåŒæ°ãããã©ãŒãããæååã®æ
å®ãæºé å¢è§çé®ã£ãŠããããæ€æ»ããŸãã
-Wchar-subscripts
é
åã®æ·»åã®åã char
ã§ãã£ãå Žåã«èŠåããŸããããã¯ããããééãã®ããšã§ãã
ããã€ãã®ãã·ã³ã«ãããŠã¯ãã®åã笊å·ä»ãä»»â³è¥ªæµ·ç®žé«»
ããã°ã©ãã¯ãã°ãã°å¿ããŠããŸããŸãã
-Wuninitialized
åæåãããŠããªãèªå倿°ã䜿çšãããŠããŸãã
ãããã®èŠåã¯ãæé©åã³ã³ãã€ã«ãè¡ãªãæã®ã¿çºçããŸãããªããªãã
ã³ã³ãã€ã©ã¯æé©åãè¡ãªãæã«ã®ã¿ããŒã¿ãããŒæ
å ±ãå¿
èŠãšããããã§ãã
ãã `-O' ãæå®ããªãã£ãå Žåã¯ããã®èŠåãåŸãããšã¯ã§-
ãŸããã
ãããã®èŠåã¯ãã¬ãžã¹ã¿å²ãåœãŠã®å¯Ÿè±¡ãšãªã£ã倿°ã«ã€ããŠã®ã¿çºçããŸãã
åŸã£ãŠãvolatile
ã§ãããšå®£èšããã倿°ããã¢ãã¬ã¹äžã«å²ãåœãŠããã倿°ããµã€ãºã
1, 2, 4, 8
ãã€ã以å€ã®å€æ°ã«é¢ããŠã¯ãããã®èŠåã¯çºçããŸããã
ããã«ãæ§é äœãå
±çšäœãé
åã«ã€ããŠã¯ãããšãããããã¬ãžã¹ã¿ã«
å²ãåœãŠããããšããŠãããããã®èŠåã¯çºçããŸããã
ãã倿°ã«ãã£ãŠèšç®ãããå€ãçµå±äœ¿çšãããªããããªå€æ°ã«ã€ããŠã¯ãäžåã®
èŠåãçããªãããšã«æ³šæããŠäžããããã®ãããªèšç®ã¯ãèŠåã衚瀺ãããåã«
ããŒã¿ãããŒè§£æã«ãã£ãŠåé€ãããŸãã
ãããã®èŠåããªãã·ã§ã³ã«ããçç±ã®äžã€ã¯ãGNU CC
ããŸã ããŸãç¬ãªããŠã
ããã³ãŒããäžèŠééããå«ããã®ããã«èŠããŠã
ããã¯å®ã¯æ£ãããã®ãããããªãã ãšããããšã GNU CC
ãçè§£ã§ãèŠãâ³ç®žãÎçŒéä»»å ããã«ãã® 1 ã€ã®äŸãæããŸãã
{
int x;
switch (y)
{
case 1: x = 1;
break;
case 2: x = 4;
break;
case 3: x = 5;
}
foo (x);
}
ãã y ã®å€ãåžžã« 1, 2 ããã㯠3 ã§ããéã㯠x ã¯åžžã«
åæåãããŸããããã GNU CC ã¯ãããç¥ãããšã¯ã§ãæ³æŠéµãã
1 ã€ã®äžè¬ çãªäŸãæããŸãã
{
int save_y;
if (change_y) save_y = y, y = new_y;
...
if (change_y) y = save_y;
}
ããã¯ãã°ãå«ã¿ãŸããããªããªã save_y
ã¯ããã®å€ãèšå®ãããæã®ã¿äœ¿çšãããããã§ãã
ããã€ãã®ã«ãã®èŠåã¯ã䜿çšããŠããæ±ºããŠãªã¿ãŒã³ããªã颿°å
šãŠã«å¯ŸããŠ
volatile ãšå®£èšããããšã«ãã£ãŠé²ãããšãå¯èœã§ãã
-Wparentheses
ããç¹å®ã®æèäžã§æ¬åŒ§ãçç¥ãããŠããå Žåã«èŠåããŸãã
-Wtemplate-debugging
C++
ããã°ã©ã ã«ãããŠãã³ãã¬ãŒãã䜿çšããŠããéã«ããããã°ãå®å
šã«
å¯èœã§ãªãå ŽåãèŠåããŸã (C++ ã®ã¿)ã
-Wall å
šãŠã®äžã«æãã `-W'
ãªãã·ã§ã³ãçµåãããã®ã§ãããããã®ãªãã·ã§ã³ã¯å
šãŠã
ããšããã¯ããšã®çµã¿åãã
ã§ãã£ãŠããé¿ããã»ãããããšæã
ãæšå¥šããçšæ³ãã
ç°¡åã«é¿ããããšãã§ã襪äŒçœ
å¢ä¿¡ããŠããçšæ³ã«é¢ãããã®ã§ãã
æ®ãã® `-W...' ãªãã·ã§ã³ã¯ `-Wall'
ã«ãã£ãŠã¯æé»ã®ãã¡ã«æå®ãããŸããããªããªããããã¯ãã¯ãªãŒã³ãªã
ãã°ã©ã ã«ãããŠããããç¶æ³ã«ãããŠã¯äœ¿çšããããšã劥åœã§ãããšæã
ã
èããæ§é ã«ã€ããŠã®èŠåãè¡ãªããªãã·ã§ã³ã ããã§ãã
-Wtraditional
äŒçµ±ç㪠C ãš ANSI C
ã«ãããŠç°ãªã£ãæ¯èããããç¹å®ã®æ§é ã«ã€ããŠèŠ åããŸãã
o ãã¯ãåŒæ°ããã¯ãæ¬äœå
ã®æåå宿°ã«çŸãããã®ã§ããããã¯ãäŒçµ±çãª
C ã« ãããŠã¯ãã®åŒæ°ã§çœ®æããŸããããANSI C
ã«ãããŠã¯å®æ°ã®äžéšãšããŠæ±ã ããŸãã
o ãããã¯å
ã§å€éšå®£èšã§ãããšå®£èšããããã€ãã®ãããã¯ã®çµç«¯ã®åŸã§
䜿çšãããŠãã颿°ã§ãã
o ãªãã©ã³ããšã㊠long åããšã switch æã§ãã
-Wshadow
ããŒã«ã«å€æ°ãä»ã®ããŒã«ã«å€æ°ãé ããŠããæã«åžžã«èŠåããŸãã
-Wid-clash-len
2 ã€ã®å
šãå¥ã®èå¥åã®æåã® len
æåãäžèŽããæã«èŠåããŸããããã¯ããçš®ã®æ§åŒãª
ãã°ãããã³ã³ãã€ã©ã§ã³ã³ãã€ã«ããåŸãããã°ã©ã ãäœãå Žåã«åœ¹ã«ç«ã¡ãŸãã
-Wpointer-arith
颿°åã void ã® "ãµã€ãº" ã«äŸåãããã®ãå
šãŠèŠåããŸããGNU C
ã¯ãããã«å¯ŸããŠã ãµã€ãº 1 ãå²ãåœãŠãŠããŸãããã㯠void *
ãã€ã³ã¿ãšé¢æ°ãžã®ãã€ã³ã¿ã«ãããèšç®ã簡䟿ã«ããããã§ãã
-Wcast-qual
ãã€ã³ã¿ããå修食åãåé€ãããããã«-
ã£ã¹ããããå
šãŠã®å Žåã«èŠåããŸãã äŸãã° const char * ã
æ®éã® char * ã«ã¥ç€å¥œç®žéŽç¹è±ºè
åæé²ãªãããŸãã
-Wcast-align
ãã€ã³ã¿ã®ã¥ç€å¥œç®žç ²ããŠããã®ã¿ãŒã²ããã«èŠæ±ãããææ¡ä»¶ã
倧ããªããããªã¥ç€å¥œç®žé¯çŠç³æé²éŽæ³å磎â char * ã int *
ãžãšã¥ç€å¥œç®žæ°èŽè¥ªåœâªæç€ 2ãããã㯠4 ãã€ã-
çã§ããã¢ã¯ã»ã¹ã§ ãèŠã
泪蜡éµç ²ããŠã¯èŠåãçºããããŸãã
-Wwrite-strings
æå宿°ã«å¯ŸããŠãå const char[length] ãäžããé-const ã® char
*
ãã€ã³ã¿ãžã®ã¢ãã¬ã¹ã®ã³ããŒã«å¯ŸããŠèŠåããããã«ããŸãããã®èŠåã¯ã
宣èšãšãããã¿ã€ãã«ãã㊠const
ã®äœ¿çšãéåžžã«æ³šææ·±ããããªã£ãŠãããããã°ã æåå宿°ã«æž-
蟌ã¿ãããããªã³ãŒããã³ã³ãã€ã«æã«çºèŠããããšãå©ããŸããã
ããã§ãªãå Žåã¯ç±æèŒå»äœµæ
è
ä»»åããããæã
ããã®èŠåã
`-Wall' ã®ãªã¯ãšã¹ãã«å«ããªãã£ãçç±ã§ãã
-Wconversion
åãåŒæ°ãäžããããæã«ããããã¿ã€ããååšããå Žåãšãããã¿ã€ãã
ååšããªãå Žåãšã§ãç°ãªã£ãå倿ãåŒ-
èµ·ããå Žåã«ã€ããŠèŠåããŸãã
ããã¯åºå®å°æ°ç¹ããæµ®åå°æ°ç¹ãžã®å€æããã®éãããã©ã«ãã®åäœãšç°ãªãåºå®
å°æ°ç¹åŒæ°ã®å¹
ã笊å·ã®æ¥æ°è«å¡å¢å«ãŸããŸãã
-Waggregate-return
æ§é äœãå
±çšäœãè¿ã颿°ãå®çŸ©ããå Žåãã
ããããåŒã³åºãå
šãŠã®å Žåã«èŠåããŸãã (é
åãè¿ãããšãã§-
ãèšèªã«ãããŠããããã¯èŠåãåŒããããŸãã)
-Wstrict-prototypes
åŒæ°ã®åãæå®ããã«é¢æ°ã宣èšããããã¯å®çŸ©ããå Žåã«èŠåããŸãã
(以åã«åŒæ°ã®åãæå®ãã宣èšãååšããå Žåã«ã¯ãæ§åŒã®é¢æ°å®£èšã«å¯ŸããŠã¯
èŠåãããŸããã)
-Wmissing-declarations
ã°ããŒãã«ãªé¢æ°ãããã®åã«ãããã¿ã€ã宣èšãããã«å®çŸ©ããå Žåã«
èŠåããŸãã
ãã®èŠåã¯ãããšããã®å®çŸ©èªèº«ããããã¿ã€ããå«ãã§ãããšããŠãçºçããŸãã
ãã®èŠåã®ç®çã¯ãããããã¡ã€ã«äžã«ã°ããŒãã«é¢æ°ã®å®çŸ©ãå¿ããã
ãšãé²ãããšã«ãããŸãã
-Wredundant-decls
åäžã¹ã³ãŒãäžã§è€æ°åãåäžå¯Ÿè±¡ã宣èšããå Žåã«ãããšããããæ£åœã§äœã
å€åãããªãå Žåã§ãã£ãŠãèŠåããŸãã
-Wnested-externs
颿°å
ã§ extern 宣èšãè¡ãªã£ãå Žåã«èŠåããŸãã
-Wenum-clash
ç°ãªãåæåã®éã§å€æãè¡ãªã£ãéã«èŠåããŸã (C++ ã®ã¿)ã
-Wlong-long
long long
åã䜿çšãããŠããå Žåã«èŠåããŸããããã¯ããã©ã«ãã§ãã
ãã®èŠåã¡ãã»ãŒãžãææ¢ããã«ã¯ `-Wno-long-long'
ãã©ã°ãçšããŠäžããããã©ã° `-Wlong-long' ããã³
`-Wno-long-long' ã¯ããã©ã° `-pedantic' äœ¿çšæã®ã¿èæ
®ãããŸãã
-Woverloaded-virtual
(C++ ã®ã¿ã)
å°åºã¯ã©ã¹ã«ãããŠãä»®æ³é¢æ°ã®å®çŸ©ã¯åºåºã¯ã©ã¹ã§å®çŸ©ãããä»®æ³é¢æ°ã®å
ã®-
è¿°ãšäžèŽããŠããªããã°ãªããŸããããã®ãªãã·ã§ã³ã䜿çšããããšã«ãã£
ãŠãåºåºã¯ã©ã¹ã«ãããä»®æ³é¢æ°ãšåäžã®ååãæã¡ãåºåºã¯ã©ã¹ã®ãããªã
ä»®æ³é¢æ°ãšãç°ãªã£ãåã®-
è¿°ãæã€é¢æ°ã«å¯ŸããŠèŠåãè¡ãããŸããããã«
ãã£ãŠãå°åºã¯ã©ã¹ãä»®æ³é¢æ°ãå®çŸ©ããããšããŠå€±æããå ŽåãèŠåããã
ãšãã§ãæ³å
-Winline
颿°ãã€ã³ã©ã€ã³å®£èšãããŠãããããã㯠-finline-functions
ãªãã·ã§ã³ãäžããããŠããå Žåã«ã颿°ãã€ã³ã©ã€ã³å±éã§-
ãªãã£ãå Žå ã«èŠåããŸãã
-Werror
èŠåããšã©ãŒãšããŠæ±ããŸããèŠåã®åŸã«ã³ã³ãã€ã«ãäžæããŸãã
ãåŠãäžãå¥ãåããå»ãèœãè
ã³
GNU CC ã¯ããŠãŒã¶ã®ããã°ã©ã ã GCC ã®åæ¹ããããã°ããããã«ã
å€ãã®ãªãã·ã§ã³ãåããŠããŸãã
-g ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ãã€ãã£ãã®ãã©ãŒããã (stabs, COFF,
XCOFF, DWARF) ã§ãããã°æ
å ±ãçæããŸããGDB
ã¯ãã®ãããã°æ
å ±ã«åºã¥ã ãŠåäœããããšãã§ãæ³å
stabs ãã©ãŒãããã䜿çšããã»ãšãã©ã®ã·ã¹ãã ã«ãããŠã¯ã`-g'
ãæå®ãããšãGDB ã ãã䜿çšã§ã詬çãªãããã°æ
å ±ã䜿çšå¯èœã«
ãªããŸãã ãã®ç¹å¥ã®æ
å ±ã¯ GDB
ã«å¯ŸããŠã¯ãããããããã°ãè¡ãªãããšãå¯èœ
ãšããŸãããããããä»ã®ãããã¬ã«å¯ŸããŠã¯ã¯ã©ãã·ã¥ããããã¯ãã®ããã°ã©ã ã
èªããªãããŠããŸããŸãããã®ç¹å¥ãªæ
å ±ã®çæãå¶åŸ¡ããããã«ã¯
`-gstabs+', `-gstabs', `-gxcoff+', `-gxcoff', `-gdwarf+',
`-gdwarf' ã䜿çšããŠãã ãã (äžæä»®)ã
ä»ã®å€ãã® C ã³ã³ãã€ã©ãšç°ãªããGNU CC 㯠`-g' ã `-O'
ãšãšãã«äœ¿çšããããšãèš±ããŠããŸããæé©åãããã³ãŒããéãè¿éã¯ã
æã«ã¯é©ãã¹ã芯æªé®Žç¬æ¿¬äžªå¢ããããŸããã
å®çŸ©ããã¯ãã®å€æ°ãååšããªãã£ããã
å¶åŸ¡ã®æµããäºæ³ãããªãã£ãå Žæã«ç§»åããããçµæã宿°ãšãããèšç®ãã
çµæããã§ã«æå
ã«ããæã¯å®è¡ãããªããªããããæãã«ãŒãã®å€ã«è¿œãåºãããŠ
å¥ã®å Žæã§å®è¡ããããããŸãã
ããã«ãé¢ãããããã®ãªãã·ã§ã³ã¯æé©åãããåºåã®ãããã°ãå¯èœãšã
ãŠããŸããããã«ãã£ãŠããã°ãå«ããããããªãããã°ã©ã ã«å¯ŸããŠ
ãªããã£ãã€ã¶ã䜿çšããããšãã§ã襪è²Îç ²èŠè
æ³å
以äžã®ãªãã·ã§ã³ã¯ãGNU CC ã 1 ã€ä»¥äžã®ãããã°ãã©ãŒããããæ±
ããããã«äœæããŠããå Žåã«ç¶å»ä»»å
-ggdb (ãããµããŒããããŠããã°)ãã€ãã£ãã®ãã©ãŒãããã§ãããã°æ
å ±ãçæ
ããŸããããã¯å¯èœãªéãã®å
šãŠã® GDB æ¡åŒµãå«ã¿ãŸãã
-gstabs
(ãããµããŒããããŠããã°) stabs
ãã©ãŒãããã§ãããã°æ
å ±ãçæããŸãã ãã ã GDB
æ¡åŒµã¯å«ã¿ãŸããããã®ãã©ãŒãããã¯ã»ãšãã©ã® BSD ã·ã¹ãã äž ã®
DBX ã§å©çšã§ã襯䟫ãŒãããã§ãã
-gstabs+
(ãããµããŒããããŠããã°) stabs
ãã©ãŒãããã§ãããã°æ
å ±ãçæããŸãã ãã ã GNU ãããã¬
(GDB) ã§ããçè§£ã§ãèŠ GNU æ¡åŒµã䜿çšããŸãã
ãã®æ¡åŒµã䜿çšãããšãä»ã®ãããã¬ã§ã¯ãã¯ã©ãã·ã¥ã
ããã°ã©ã ãèªããªããªããªã©ã®åœ±é¿ãããããåºãŸãã
-gcoff (ãµããŒããããŠããã°) COFF
ãã©ãŒãããã§ãããã°æ
å ±ãçæããŸãã ããã¯ãSystem V
Release 4 ããåã® ã»ãšãã©ã® System V äžã® SDB ã§å©çšã§-
ããã©ãŒãããã§ãã
-gxcoff
(ãµããŒããããŠããã°) XCOFF
ãã©ãŒãããã§ãããã°æ
å ±ãçæããŸããã ã㯠IBM RS/6000
ã·ã¹ãã ã«ãã㊠DBX ãããã¬ã«ãã£ãŠäœ¿çšããã
ãã©ãŒãããã§ãã
-gxcoff+
(ãããµããŒããããŠããã°) XCOFF
ãã©ãŒãããã§ãããã°æ
å ±ã®çæãè¡ ããŸãããã ããGNU
ããã㬠(GDB) ã«ãã£ãŠã®ã¿çè§£ããåŸã GNU æ¡åŒµã䜿
çšããŸãããããã®æ¡åŒµã䜿çšãããšãä»ã®ãããã¬ã«å¯ŸããŠã¯ã¯ã©ãã·ã¥ãã
ãã°ã©ã ãèªã¿ãšãäžèœã«ãããªã©ã®åœ±é¿ãåãŒãåŸãŸãã
-gdwarf
(ãããµããŒããããŠããã°) DWARF
ãã©ãŒãããã§ãããã°æ
å ±ã®çæãè¡ ããŸããããã¯ã»ãšãã©ã®
System V Release 4 ã·ã¹ãã ã«ãã㊠SDB ã«ãã£
ãŠäœ¿çšããã圢åŒã§ãã
-gdwarf+
(ãããµããŒããããŠããã°) DAWRF
ãã©ãŒãããã§ãããã°æ
å ±ã®çæãè¡ ããŸãããã ããGNU
ããã㬠(GDB) ã«ãã£ãŠã®ã¿çè§£ããåŸã GNU æ¡åŒµã䜿
çšããŸãããããã®æ¡åŒµã䜿çšãããšãä»ã®ãããã¬ã«å¯ŸããŠã¯ã¯ã©ãã·ã¥ã
ããã°ã©ã ãèªã¿ãšãäžèœã«ãããªã©ã®åœ±é¿ãåãŒãåŸãŸãã
-glevel
-ggdblevel
-gstabslevel
-gcofflevel -gxcofflevel
-gdwarflevel
ãããã°æ
å ±ãèŠæ±ããŸãããåæã« level
ã«ãã£ãŠã©ã®çšåºŠã®æ
å ±ãå¿
èŠããæå®ããŸããããã©ã«ãã®ã¬ãã«ã¯
2 ã§ãã
ã¬ãã« 1
ã¯ããããã°ãäºå®ããªãããã°ã©ã ã®éšåã«å¯ŸããŠããã¯ãã¬ãŒã¹
ãçæããã«ååãªæäœéã®æ
å ±ãçæããŸããããã¯é¢æ°ãšå€éšå€æ°ã®-
è¿° ãå«ã¿ãŸãããããŒã«ã«å€æ°ãè¡çªå·ã«é¢ããæ
å ±ã¯å«ã¿ãŸããã
ã¬ãã« 3
ã¯ããã°ã©ã ã«å«ãŸããå
šãŠã®ãã¯ãå®çŸ©ãªã©ã®ç¹å¥ãªæ
å ±ãå«ã¿ãŸãã
ããã€ãã®ãããã¬ã¯ `-g3'
ã®äœ¿çšã«ãã£ãŠãã¯ãã®å±éããµããŒãããŸãã
-p ããã°ã©ã prof ã«ãã£ãŠäœ¿çšããããããã¡ã€ã«æ
å ±ãæž-
蟌ãç¹å¥ãªã³ãŒããçæããŸãã
-pg ããã°ã©ã gprof ã«ãã£ãŠäœ¿çšããããããã¡ã€ã«æ
å ±ãæž-
蟌ãç¹å¥ãªã³ãŒããçæããŸãã
-a åºæ¬ãããã¯ã®ãããã¡ã€ã«æ
å ±ãæž-
蟌ãç¹å¥ãªã³ãŒããçæããŸããããã¯
ããããã®ãããã¯ãäœåå®è¡ãããããæµçéŽæ³åãã®ããŒã¿ã¯
tcov
ã®ãããªããã°ã©ã ã«ãã£ãŠè§£æãããŸãããã ãããã®ããŒã¿ãã©ãŒãããã¯
tcov ãæåŸ
ãããã®ãšã¯ç°ãªã£ãŠããŸããæçµçã«ã¯ãGNU gprof
ãåŠçã§ã襪è²Î乿¿ã€æ°èŽè¥ªæ®ã§ãã
-ax ãã¡ã€ã« `bb.in'
ããåºæ¬ãããã¯ãããã¡ã€ã«ãã©ã¡ãŒã¿ãèªã¿åºãã ãã¡ã€ã«
`bb.out' ã«ãããã¡ã€ã«çµæãæžã䞪å¢çç©ç¢
ç¹å¥ãªã³ãŒããçæããŸãã `bb.in'
ã¯é¢æ°ã®ãªã¹ããä¿æããŠããŸãã
ãã®ãªã¹ãã«å«ãŸãã颿°ã«å
¥ããšããããã¡ã€ãªã³ã°ããªã³ã«ãªããŸãã
æå€åŽé¢æ°ãæãããšããããã¡ã€ãªã³ã°ã¯ãªãã«ãªããŸãã
颿°åã `-' ã§å§ãŸã£ãŠããå Žåããã®é¢æ°ã¯ãããã¡ã€ã«å¯Ÿè±¡å€ã«
ãªããŸãããã颿°åãå¯äžã«å®ãŸããªãå Žåã¯ã
`/path/filename.d:functionname' ãšæ¬ºåŒå¢è¥ªæµ·ç®žä»»æµ·èŽèéè æªä»»-
ãŸãã `bb.out' ã«ã¯ãããã€ãã®å©çšå¯èœãªé¢æ°ããªã¹ããããŸãã
ç¹å¥ãªæå³ããã€é¢æ°ã 4 ã€ãããŸã: `__bb_jumps__'
ã¯ãžã£ã³ãé »åºŠã `bb.out' ã«æžãäžªéŽæ³å `__bb_trace__'
ã¯åºæ¬ãããã¯åã `gzip' ã«ãã€ããã ãã¡ã€ã« `bbtrace.gz'
ã«æžãäžªéŽæ³å `__bb_hidecall__' 㯠call
åœä»€ããã¬ãŒã¹ããé€å€ããŸãã `__bb_showret__' 㯠return
åœä»€ããã¬ãŒã¹ã«å«ããããã«ããŸãã
-dletters
ã³ã³ãã€ã«äžã® letters
ã§æå®ãããã¿ã€ãã³ã°ã«ããããã°çšã®ãã³ããçæããããã«æç€ºããŸãã
ããã¯ã³ã³ãã€ã©ããããã°ããããã«äœ¿çšãããŸããã»ãšãã©ã®ãã³ãã®ãã¡ã€ã«
åã¯ãœãŒã¹ãã¡ã€ã«åã« 1
åèªãã€ãªãããã®ã«ãªããŸãã(äŸãã°ã`foo.c.rtl' ã
`foo.c.jump' ãªã©ã§ã)ã
-dM å
šãŠã®ãã¯ãå®çŸ©ããã³ãããããªããã»ã¹çµäºæã«åºåã«æž-
åºããŸãã ãã®ä»ã«ã¯äœãæžãäžªéŽæ³æŠéµ
-dN å
šãŠã®ãã¯ãåããã³ãããããªããã»ã¹çµäºæã«åºåã«æž-
åºããŸãã
-dD å
šãŠã®ãã¯ãå®çŸ©ãããªããã»ã¹çµäºæã«éåžžã®åºåã«å ããŠãã³ãããŸãã
-dy ããŒã¹äžã«ãããã°æ
å ±ãæšæºãšã©ãŒåºåã«ãã³ãããŸãã
-dr RTL çæåŸã« `file.rtl' ã«å¯ŸããŠãã³ãããŸãã
-dx 颿°ãã³ã³ãã€ã«ãããããã«ãRTL
ãçæããã®ã¿ã®åŠçãè¡ããŸããé垞㯠`r'
ãšãšãã«äœ¿çšãããŸãã
-dj æåã®ãžã£ã³ãæé©åã®åŸã«ã`file.jump' ã«å¯ŸããŠãã³ãããŸãã
-ds å
±ééšååŒåé€
(ãã°ãã°å
±ééšååŒåé€ã«ç¶ããžã£ã³ãæé©åãå«ã¿ãŸã) ã®çµäº
æã« `file.cse' ã«å¯ŸããŠãã³ãããŸãã
-dL ã«ãŒãæé©åçµäºæã« `file.loop' ã«å¯ŸããŠãã³ãããŸãã
-dt 第 2 å
±ééšååŒå逿®µé
(ãã°ãã°å
±ééšååŒåé€ã«ç¶ããžã£ã³ãæé©åã å«ã¿ãŸã)
ã®çµäºæã«ã`file.cse2' ã«å¯ŸããŠãã³ãããŸãã
-df ãããŒè§£æçµäºåŸã«ã`file.flow' ã«å¯ŸããŠãã³ãããŸãã
-dc åœä»€ã³ã³ãããŒã·ã§ã³çµäºæã« `file.combine'
ã«å¯ŸããŠãã³ãããŸãã
-dS 第 1 åœä»€ã¹ã±ãžã¥ãŒãªã³ã°æ®µéçµäºæã« `file.sched'
ã«å¯ŸããŠãã³ãããŸãã
-dl ããŒã«ã«ã¬ãžã¹ã¿å²ãåœãŠçµäºæã« `file.lreg'
ã«å¯ŸããŠãã³ãããŸãã
-dg ã°ããŒãã«ã¬ãžã¹ã¿å²ãåœãŠçµäºæã« `file.greg'
ã«å¯ŸããŠãã³ãããŸãã
-dR 第 2 åœä»€ã¹ã±ãžã¥ãŒãªã³ã°æ®µéçµäºæã« `file.sched2'
ã«å¯ŸããŠãã³ãããŸãã
-dJ æçµãžã£ã³ãæé©åçµäºæã« `file.jump2' ã«å¯ŸããŠãã³ãããŸãã
-dd é
å»¶åå²ã¹ã±ãžã¥ãŒãªã³ã°çµäºæã« `file.dbr'
ã«å¯ŸããŠãã³ãããŸãã
-dk ã¬ãžã¹ã¿ããã¹ã¿ãã¯ãžã®è»¢æçµäºæã« `file.stack'
ã«å¯ŸããŠãã³ãããŸãã
-da 以äžã®å
šãŠã®ãã³ããçæããŸãã
-dm åŠçã®çµäºæã«ãã¡ã¢ãªäœ¿çšã«é¢ããçµ±èšæ
å ±ãæšæºãšã©ãŒåºåã«åºåããŸãã
-dp ã©ã®ãããªãã¿ãŒã³ãéžæè¢ã䜿çšããããã瀺ãã³ã¡ã³ããã¢ã»ã³ãã©åºå
äžã®ã³ã¡ã³ãã§è§£èª¬ããŸãã
-fpretend-float
ã¯ãã¹ã³ã³ãã€ã©ã§åŠçãè¡ãªãéã«ããã¹ããã·ã³ãšåãæµ®åå°æ°ç¹ãã©ãŒããã
ãã¿ãŒã²ãããã·ã³ãæã€ãã®ããã«æ¯èãããŸããããã¯æµ®åå°æ°ç¹å®
æ°ã®èª€ã£ãåºåãåŒããããŸãããå®éã®åœä»€åã¯ãããã GNU CC
ã ã¿ãŒã²ãããã·ã³ã§èµ·åããå Žåãšåããã®ãšãªãã§ãããã
-save-temps
éåžžã® "äžæ" äžéãã¡ã€ã«ãæ¶å»ããã«ä¿åããŸãããããã¯
ã«ã¬ã³ããã£ã¬ã¯ããªã«çœ®ããããœãŒã¹ãã¡ã€ã«ã«åºã¥ããååãä»ããããŸãã
åŸã£ãŠã`foo.c' ã `-c -save-temps'
ã䜿çšããŠã³ã³ãã€ã«ããå Žåã¯ã `foo.cpp', `foo.s' ãã`foo.o'
ãšåæ§ã«çæãããŸãã
-print-libgcc-file-name=library
ã©ã€ãã©ãªãã¡ã€ã« `library '
ã®å®å
šãªçµ¶å¯Ÿåã衚瀺ããŸãããã®ãã¡ã€ã«ã¯ãªã³ã¯ã®éã®ã¿ã«äœ¿çšããã
ãã以å€ã®åãåâ³è
æ³æŠéµãã®ãªãã·ã§ã³ãæå®ãããå Žåã¯ãGNU
CC ã¯
ã³ã³ãã€ã«ããªã³ã¯ãäœãè¡ãªããããã ãã¡ã€ã«åã衚瀺ããã®ã¿ã§ãã
-print-libgcc-file-name
`-print-file-name=libgcc.a' ãšåãã§ãã
-print-prog-name=program
`-print-file-name' ãšäŒŒãŠããŸããã`cpp' ã®ãã㪠program
ãæ€çŽ¢ããŸãã
ææéåæããå»ãèœãè
ã³
ãããã®ãªãã·ã§ã³ã¯æ§ã
ãªçš®é¡ã®æé©ååŠçãå¶åŸ¡ããŸãã
-O
-O1 æé©åãè¡ããŸããæé©åã³ã³ãã€ã«ã¯å¹Ÿåé·ãã®åŠçæéãšã倧-
ãªé¢æ°ã«å¯Ÿ ããéåžžã«å€ãã®ã¡ã¢ãªãå¿
èŠãšããŸãã
`-O'
ãæå®ãããªãã£ãå Žåã¯ãã³ã³ãã€ã©ã®ç®æšã¯ã³ã³ãã€ã«ã®ã³ã¹ãã
äœæžããããšããç®çã®çµæãåŸãããã®ãããã°ãå¯èœãšããããšã«çœ®ãã
ãŸããããããã®æã¯ç¬ç«ããŠããŸããã€ãŸãããã¬ãŒã¯ãã€ã³ãã§ããã°ã©ã ã
忢ãããããšã«ãã£ãŠãä»»æã®å€æ°ã«æ°ã
ãå€ã代å
¥ããããããã°ã©ã ã«ãŠã³ã¿ãä»ã®æãžãšå€æŽããããšãå¯èœãšãã
ãã®ãœãŒã¹ã³ãŒãã«ããã°ã©ããæãæ£ããçµæãåŸãããšãå¯èœã«ããŸãã
`-O' ãæå®ããªãã£ãå Žåã¯ãregister
ãšå®£èšãã倿°ã®ã¿ãã¬ãžã¹ã¿ãžãšå²ãåœãŠãããŸããã³ã³ãã€ã«ã®çµæãš
ããŠåŸãããã³ãŒãã¯ãPCC ã `-O'
ãªãã§äœ¿çšããå Žåãšæ¯èŒããŠè¥å¹²è¯ããªããã®ãšãªããŸãã
`-O'
ãæå®ããããšãã³ã³ãã€ã©ã¯ã³ãŒãã®ãµã€ãºãšå®è¡æéãæžå°ããã
ããšã詊ã¿ãŸãã
`-O' ãæå®ããããšã«ãã£ãŠã `-fthread-jumps' ãš `-fdefer-pop'
ã®ãã©ã°ãæå®ãããŸããé
å»¶ã¹ãããããã€ãã·ã³ã§ã¯
`-fdelayed-branch'
ãæå®ãããŸãããã¬ãŒã ãã€ã³ã¿ã䜿ããªããããã°ããµããŒãããŠãã
ãã·ã³ã§ã¯ã`-fomit-frame-pointer'
ãæå®ãããŸãããã·ã³ã«ãã£ãŠã¯ããã«ãã®ä»ã®ãã©ã°ã
æå®ãããããšããããŸãã
-O2 ããã«æé©åãè¡ããŸãããµããŒããããŠããæé©åææ®µã®ãã¡ã
空éãšé床ã®ãã¬ãŒããªããå«ãŸãªããã®ã¯ã»ãšãã©ã®å
šãŠäœ¿çšãããŸãã
äŸãã°ã«ãŒãã®ã¢ã³ããŒãªã³ã°ã颿°ã®ã€ã³ã©ã€ã³åã¯è¡ãããŸããã
-O ãšæ¯èŒããŠããã®ãªãã·ã§ã³ã¯ã³ã³ãã€ã«æéãšçæã³ãŒãã®-
èœã®åæ¹ãå¢å ãããŸãã
-O3 ãããªãæé©åãè¡ããŸãããã㯠-O2
ãè¡ãå
šãŠã®æé©åææ®µã«å ã㊠-finline-functions ã-
å¹ã«ããŸãã
-Os ãµã€ãºåªå
ã§æé©åããŸãã
æ®éãã³ãŒããå¢å€§ãããããšã®ãªãå
šãŠã® -O2 æé©åã-
å¹ã«ãªããŸãã
æŽã«ãã³ãŒããµã€ãºãæžããããã«èšèšãããæé©åãè¡ããŸãã
-O0 æé©åãè¡ããŸããã
è€æ°ã® -O ãªãã·ã§ã³ãæå®ããå Žåã¯ãã¬ãã«çªå·ã®-
ç¡ã«é¢ããããæåŸã«æå®ãã ãã®ãéã«ãªããŸãã
`-fflag' ã®åœ¢åŒãæã£ããªãã·ã§ã³ã¯ããã·ã³ç¬ç«ã®ãã©ã°ã§ããã»ãšãã©ã®
ãã©ã°ã¯é圢åŒãšç¡å¹åœ¢åŒã®åæ¹ãæã£ãŠããŸãã`-ffoo' ã®ç¡å¹åœ¢åŒã¯
`-fno-foo'
ã§ãã以äžã®ãªã¹ãã§ã¯ãããã©ã«ãã§ã¯ãªãæ¹ã®åœ¢åŒã®ã¿ã瀺ããŸãã
ããã«å¯Ÿã㊠`no-'
ãåé€ããããããã¯è¿œå ããããšã«ãã£ãŠåæ¹ã®åœ¢åŒãçæããããš
ãå¯èœã§ãã
-ffloat-store
æµ®åå°æ°ç¹å€æ°ãã¬ãžã¹ã¿ã«æ ŒçŽããŸããããã®ãªãã·ã§ã³ã¯ 68000
ã®ããã« (68881 ã®) æµ®åå°æ°ç¹ã¬ãžã¹ã¿ã double
ãããé«ã粟床ãæã£ãŠãããšæããããã·ã³ã«ãããŠãæãŸãªãè¶
é粟床ã
æå¶ããããšãå¯èœã«ããŸãã
ã»ãšãã©ã®ããã°ã©ã ã«ãããŠã¯ãè¶
é粟床ã¯åã«è¯ãçµæãçãã ãã§ããã
ããã€ãã®ããã°ã©ã ã¯æ£ç¢ºãª IEEE
ã®æµ®åå°æ°ç¹ãã©ãŒãããå®çŸ©ã«äŸ åããŠããŸãã
ãã®ãããªããã°ã©ã ã«å¯Ÿã㊠`-ffloat-store' ã䜿çšããŸãã
-fmemoize-lookups
-fsave-memoized
ã³ã³ãã€ã«ãé«éã«è¡ãªãããã«ããã¥ãŒãªã¹ãã£ãã¯ã¹ã䜿çšããŸã
(C++ ã®ã¿)ããããã®ãã¥ãŒãªã¹ãã£ãã¯ã¹ã¯ããã©ã«ãã§ã¯-
å¹ã«ãªã£ãŠã
ãŸããããªããªããããã¯ããçš®ã®å
¥åãã¡ã€ã«ã«ãã广ããªãããã®ä»ã®
ãã¡ã€ã«ã§ã¯ããã£ãŠã³ã³ãã€ã«ãäœéã«ãªãããã§ãã
æåã«ãã³ã³ãã€ã©ã¯ã¡ã³ã颿°ãžã®åŒã³åºã
(ãããã¯ããŒã¿ã¡ã³ããžã®å ç
§) ãæ§ç¯ããŸãããã㯠(1)
ã©ã®ã¯ã©ã¹ã§ãã®ååã®ã¡ã³ã颿°ãå®è£
ã ããŠããããæ±ºå®ãã(2)
ã©ã®ã¡ã³ã颿°ãžã®åŒã³åºãã§ããããšããåé¡
(ããã¯ã©ã®çš®é¡ã®å倿ãå¿
èŠãšãªãããšããæ±ºå®ãå«ã¿ãŸã)
ã解決ãã(3) åŒã³åºãåŽã«å¯Ÿãããã®é¢æ°ã®å¯èŠ-
ãæ€æ»ãããšããäœæ¥ãè¡ãªãå¿
èŠããããŸãã
ãããã¯å
šãŠãã³ã³ãã€ã«ãããäœéã«ããŠããŸããŸããéåžžã¯ããã®ã¡ã³ã
颿°ãžã® 2
床ç®ã®åŒã³åºããèµ·ãã£ãå Žåãããã®é·ãåŠçããŸãè¡ãªãã
ãããšã«ãªããŸããããã¯æ¬¡ã®ãããªã³ãŒã
cout << "This " << p << " has " << n << " legs.\n";
ã¯ããããã® 3 ã€ã®æé ã 6
åç¹°ãè¿ããšããããšãæå³ããŸããããã«å¯Ÿã ãŠããœãããŠã§ã¢-
ã£ãã·ã¥ã䜿çšãããšããã®ã¥ç€å¥ªèœ¡çŽæ"ããã
"ã¯ãã³ã¹ããåçã«äœæžããããšãæåŸ
ã§ãæ³åå€ãªããšã«ã-
ã£ãã·ã¥
ã®å°å
¥ã«ãã£ãŠç°ãªã£ãã¬ã€ã€ã®æ©æ§ãå®è£
ããããšãå¿
èŠãšãªãããã
èªèº«ã®ãªãŒãããããçããŠããŸããŸãã`-fmemoize-lookups'
ã¯ãã®ãœãããŠã§ã¢ã¥ç€å¥ªèœ¡çŽé°ºå¹ã«ããŸãã
ã¡ã³ããšã¡ã³ã颿°ãžã®ã¢ã¯ã»ã¹ç¹æš© (å¯èŠ)
ã¯ãã颿°ã«ãããã³ã³ãã¥å¥œ
ãšå¥ã®é¢æ°ã«ããããã®ãšã§ã¯ç°ãªãã®ã§ã g++ ã¯-
ã£ãã·ã¥ããã©ãã·ã¥ããªããã°ãªããŸããã`-fmemoize-lookups'
ãã©ã°ã䜿çšãããšãå
šãŠã®é¢æ°ãã³ã³ãã€ã«ãããã³ã«æ¯å-
ã£ãã·ã¥ã ãã©ãã·ã¥ããŸãã`-fsave-memoized'
ãã©ã°ã¯åäžã®ãœãããŠã§ã¢ã¥ç€å¥ªèœ¡çŽç ²åŒãè£â²ç°éµåã
èåå
ã³ã³ãã€ã«ãã颿°ã®ã³ã³ãã¥å¥œç®žã次ã«ã³ã³ãã€ã«ããã³ã³ã-
ã¹ããšå äžã®ã¢ã¯ã»ã¹ç¹æš©ãäœéŽèšã襪箞æŸèŠæŠè§§ã«ã¯ã-
ã£ãã·ã¥ãä¿æããŸãã
ããã¯åäžã¯ã©ã¹äžã«å€ãã®ã¡ã³ã颿°ãå®çŸ©ããŠããæã«ç¹ã«-
å¹ã§ãã ä»ã®ã¯ã©ã¹ã®ãã¬ã³ãã«ãªã£ãŠããã¡ã³ã颿°ãé€-
ãåäžã®ã¯ã©ã¹ã«å±ããŠ
ããå
šãŠã®ã¡ã³ã颿°ã®ã¢ã¯ã»ã¹ç¹æš©ã¯ãå
šãŠåäžã§ãããã®ãããªå Žåã¯
ã¥ç€å¥ªèœ¡çŽé¬äŸ«è奪蜡çŽå¢è©èŠã¯ãããŸããã
-fno-default-inline
ã¯ã©ã¹ã¹ã³ãŒãäžã«å®çŸ©ãããã¡ã³ã颿°ãããã©ã«ãã§ã€ã³ã©ã€ã³é¢æ°ãšã
ãåŠçãè¡ãªããŸãã (C++ ã®ã¿)ã
-fno-defer-pop
ããããã®é¢æ°åŒã³åºãã«å¯ŸããŠã颿°ã®ãªã¿ãŒã³çŽåŸã«åžžã«åŒæ°ããããããŸãã
颿°åŒåºåŸã«åŒæ°ããããããªããã°ãªããªããã·ã³ã«ãããŠã¯ã
ã³ã³ãã€ã©ã¯éåžžãããã€ãã®é¢æ°ã®åŒæ°ãã¹ã¿ãã¯ã«ç©ãã§ã
ããããåæã«ãããããŸãã
-fforce-mem
ã¡ã¢ãªãªãã©ã³ãã«å¯ŸããŠããããã«å¯ŸããæŒç®ãè¡ãªãããåã«ã
ã¬ãžã¹ã¿ã«ã³ããŒããŸããããã¯å
šãŠã®ã¡ã¢ãªåç
§ããæœåšçãªå
±ééšååŒã§ãããš
å®ããããšã«ãã£ãŠãããè¯ãã³ãŒããçæããŸãããããããå
±ééšååŒã§ãª
ãã£ãå Žåã¯ãåœä»€ã³ã³ãããŒã·ã§ã³ã«ãã£ãŠã¬ãžã¹ã¿ãžã®èªã¿èŸŒã¿ã¯å
é€ãããŸããç§ã¯ãããã©ã®ãããªéããçã¿åºãããšããããšã«èå³ããããŸãã
-fforce-addr
ã¡ã¢ãªã¢ãã¬ã¹å®æ°ã«ã€ããŠããããã«å¯ŸããæŒç®ãè¡ãªãããåã«ã¬ãžã¹ã¿
ã«ã³ããŒããŸãããã㯠`-fforce-mem'
ãšåãææ³ã§ããè¯ãã³ãŒããçæããŸããç§ã¯ãããã©ã®ãããªéãã
çã¿åºãããšããããšã«èå³ããããŸãã
-fomit-frame-pointer
ãã¬ãŒã ãã€ã³ã¿ãã¬ãžã¹ã¿ã«æ ŒçŽããå¿
èŠã®ãªã颿°ã«ãããŠããã®åŠçã
è¡ããŸãããããã¯ãã¬ãŒã ãã€ã³ã¿ã®ä¿åãèšå®ã埩垰ã«ãããåœä»€ãçç¥
ããããã«ãå€ãã®é¢æ°ã§ã¬ãžã¹ã¿å€æ°ãšããŠäœ¿çšã§-
ãäœåãªã¬ãžã¹ã¿ã
åŸãããšãå¯èœã«ããŸãã_
Vax
ãªã©ã®ããã€ãã®ãã·ã³ã§ã¯ããã®ãã©ã°ã¯å¹æãæã¡ãŸããããªããªãã
ããã®ãã·ã³ã§ã¯æšæºã®åŒã³åºãæé ãèªåçã«ãã¬ãŒã ãã€ã³ã¿ã®èšå®ã
è¡ãªã£ãŠããŸãããããååšããªããšãããšããã§äœãç¯çŽãã§-
ãªãããã§ãã ãã·ã³æ¬ºåµæ³ªã FRAME_POINTER_REQUIRED
ããã¿ãŒã²ãããã·ã³ããã®ãã©ã°ããµããŒããããã©ãããå¶åŸ¡ããŠããŸãã
-finline-functions
å
šãŠã®åçŽãªé¢æ°ãåŒã³åºãåŽã«çµã¿èŸŒãã§ããŸããŸããã³ã³ãã€ã©ã¯
ãã¥ãŒãªã¹ãã£ãã¯ã¹ãçšããŠã ã©ã®é¢æ°ããã®æ¹æ³ã§çµã¿èŸŒãã«-
ããã»ã©åçŽããæ±ºå®ããŸãã
ããããã颿°ã«å¯Ÿããå
šãŠã®åŒã³åºããçµã¿èŸŒãããšãã§-
ããã€ãã®é¢æ°ã static ãšå®£èšãããŠããå Žåã¯ãGCC
ã¯ãã®é¢æ°ãç¬ç«ããã¢ã»ã³ãã©ã³ãŒããš ããŠã¯åºåãããŸããã
-fcaller-saves
颿°åŒã³åºãã«ãããŠç Žå£ãããã§ãããå€ããã¬ãžã¹ã¿ã«ä¿æããããšãå¯
èœãšããŸããããã¯ãã®ãããªåŒã³åºãã®åšå²ã«ã¬ãžã¹ã¿ã«å¯Ÿããä¿åã埩垰ã®
ç¹å¥ãªã³ãŒããåºåããããšã«ãã£ãŠå®çŸãããŸãããã®ãããªå²ãåœãŠã¯ãã
ããéåžžãããè¯ãã³ãŒããåºåãããšã¿ãªãããå Žåã«ã®ã¿è¡ãããŸãã
ãã®ãªãã·ã§ã³ã¯ç¹å®ã®ãã·ã³ã§ã¯ããã©ã«ãã§-
å¹ãšãªã£ãŠããŸãããããã¯
éåžžããã®ãªãã·ã§ã³ã®åŠçã®ä»£ããã«äœ¿ãããšãã§-
ãåŒã³åºãæä¿å ã¬ãžã¹ã¿ãååšããªããã·ã³ã§ãã
-fkeep-inline-functions
ãã颿°ãžã®åŒã³åºããå
šãŠåŒã³åºãåŽã«çµã¿èŸŒãããšãã§-
ãŠããã€ãã®é¢æ°ã static
ãšå®£èšãããŠãããšããŠããå®è¡æã«åŒã³åºãå¯èœãªé¢æ°ãçæããŸãã
-fno-function-cse
颿°ã®ã¢ãã¬ã¹ãã¬ãžã¹ã¿ã«çœ®-
ãŸãããã€ãŸããå®ãŸã£ã颿°ãåŒã³åºãã³ãŒãã¯ã
ããããæç€ºçãªé¢æ°ã®ã¢ãã¬ã¹ãå«ãã³ãŒããšãªããŸãã
ãã®ãªãã·ã§ã³ã¯å¹çã®äœãã³ãŒããçæããŸãããã¢ã»ã³ãã©åºåãæž-
æã
ããããªããã¯ãè¡ãªãå Žåã«ã¯ããã®ãªãã·ã§ã³ã䜿çšããªããã°
æ··ä¹±ãããããããšã§ãããã
-fno-peephole
ãã·ã³åºäœé¢åçœå»æçœè§æåãçŠæ¢ããŸãã
-ffast-math
ãã®ãªãã·ã§ã³ã¯çæã³ãŒãã®ã¹ããŒãã®ããã«ãGCC
ã«å¯ŸããŠãããã€ãã® ANSI ãŸã㯠IEEE
ã®èŠå/èŠæ Œã䟵ãããŸããäŸãã°ããã®ãªãã·ã§ã³ã¯ sqrt
颿°ã®åŒæ°ã¯éè² ã®æ°ã§ããããšãä»®å®ããŸãã
ãã®ãªãã·ã§ã³ã¯ã©ã® `-O' ãªãã·ã§ã³ã«ãã£ãŠã-
å¹ãšãããŸããããªããªãããã®ãªãã·ã§ã³ã¯æ° åŠé¢æ°ã«é¢ãã IEEE
ãŸã㯠ANSI ã®èŠå/èŠæ Œã®å³å¯ãªå®è£
ã«äŸåããŠæžããã
ããã°ã©ã ã«å¯ŸããŠèª€ã£ãåºåãäžããããã§ãã
以äžã®ãªãã·ã§ã³ã¯ç¹æ®ãªæé©åã«é¢ããå¶åŸ¡ãè¡ããŸãã`-O2'
ãªãã·ã§ã³ã¯`-funroll-loops' ãš `-funroll-all-loops'
ãé€ããããã®å
šãŠã®ãªãã·ã§ã³ãéã«ããŸãã
`-O' ãªãã·ã§ã³ã¯éåžž `-fthread-jumps' ãš `-fdelayed-branch' ã-
å¹ãšããŸãããã ããç¹æ®ãªãã·ã³ã§ã¯ããã©ã«ãã®æé©åã«å¯ŸããŠ
倿Žãå ããããŠãããããããŸããã
æé©åã«é¢ãã "ãçæ®ããã¥ãŒãã³ã°" ãå¿
èŠãªå Žåã«ã以äžã®
ãã©ã°ã䜿çšããããšãå¯èœã§ãã
-fstrength-reduce
ã«ãŒãã®ã¹ãã¬ã³ã°ã¹ãªãã¯ã·ã§ã³ãšç¹°ãè¿ã倿°ã®é€å»ãè¡ããŸãã
-fthread-jumps
åå²ãžã£ã³ãã«ãã£ãŠããå Žæã«ãžã£ã³ãããæã«ãæåã®åå²ã«å
æ¬ããã
æ¯èŒãååšããæã«ãæåã®åå²ã®ãžã£ã³ãå
ãåŸè
ã®åå²å
ã«å€æŽããŸãã
ãã®å€æŽå
ã¯ã2 çªç®ã®å岿¡ä»¶ã®çåœã«ãã£ãŠã2
çªç®ã®åå²ã®ãžã£ã³ãå
ãã ãããã¯2
çªç®ã®åå²ã®çŽåŸã«å®ããããŸãã
-funroll-loops
ã«ãŒãå±éã®æé©åãè¡ããŸããããã¯ã«ãŒãã®ç¹°ãè¿ãæ°ãã³ã³ãã€ã«æã
ãããã¯ã©ã³ã¿ã€ã ã«æ±ºå®ã§ãè§§ã«ãããŠã®ã¿ãå®è¡ãããŸãã
-funroll-all-loops
ã«ãŒãå±éã®æé©åãè¡ããŸããããã¯å
šãŠã®ã«ãŒãã«å¯ŸããŠè¡ãããŸãããã®
ãªãã·ã§ã³ã¯å€§æµãããé
ãåäœããããã°ã©ã ãçæããŸãã
-fcse-follow-jumps
å
±ééšååŒåé€ã®åŠçã«ãããŠããžã£ã³ãåœä»€ã®è¡å
ã
ä»ã®çµè·¯ããå°éã§ãèŠã豺è
è®â³ä¿®é¢ç®ç€éµåŸä»ç©éæâè¬å¥œ-
ã£ã³ãè¡ ãªããŸããäŸãã°ãå
±ééšååŒåé€åŠçäžã« else
ç¯ã䌎ã£ã if
æã«åºäŒã£ãå Žåãæ¡ä»¶ãåœãªãã°åå²å
ã«å¯ŸããŠãå
±ééšååŒåé€ãç¶ããŸãã
-fcse-skip-blocks
ãã㯠`-fcse-follow-jumps'
ã«äŒŒãŠããŸããããããã¯ãè·šããžã£ã³ãã«å¯ŸããŠãå
±ééšååŒåé€ãç¶
ç¶ããŸããå
±ééšååŒåé€åŠçäžã«ãelse ç¯ãæããªãåçŽãª if
æã«ã§ãã£ãæã `-fcse-skip-blocks' 㯠if
ã®ããã£ãè·šãã ãžã£ã³ãã«å¯Ÿããå
±ééšååŒåé€åŠçãç¶ç¶ããŸãã
-frerun-cse-after-loop
ã«ãŒãæé©åãè¡ãªãããåŸã«ãå床å
±ééšååŒåé€ã®åŠçãè¡ããŸãã
-felide-constructors
ã³ã³ã¹ãã©ã¯ã¿ãžã®åŒã³åºããçç¥ã§-
ãããã«æãããå Žåã«ããã®åŒã³åº ããçç¥ããŸã (C++
ã®ã¿)ããã®ãã©ã°ãæ å®ããå Žåã¯ãGNU C++
ã¯ä»¥äžã®ã³ãŒãã«å¯ŸããŠãäžæãªããžã§ã¯ããçµç±ããã« y ã foo
ãžã®åŒã³åºãã®çµæããçŽæ¥åæåããŸãã
A foo (); A y = foo ();
ãã®ãªãã·ã§ã³ã䜿çšããªãå Žåã¯ãGNU C++ ã¯æåã« y ãA
åã®é©åãªã³ã³ã¹ãã©ã¯ã¿ãåŒã³åºãããšã«ãã£ãŠåæåããŸãããããŠã
foo ã®çµæãäžæãªããžã§ã¯ãã«æ ŒçŽããæçµçã«ã¯ `y'
ã®å€ãäžæãªããžã§ã¯ãã®å€ã«å
¥ãæããŸãã
ããã©ã«ãã®æ¯èã (`-fno-elide-constructors') ããANSI C++
æšæºã®ãã©ããã«ã¯èŠå®ãããŠããŸããã³ã³ã¹ãã©ã¯ã¿
ãå¯äœçšãå«ãããã°ã©ã ã«å¯ŸããŠã`-felide-constructors'
ãæå®ãããšããã®ããã°ã©ã ã¯ç°ãªã£ãåäœãããå¯èœ-
ããããŸãããª
ããªããããã€ãã®ã³ã³ã¹ãã©ã¯ã¿ã®åŒã³åºããçç¥ãããããã§ãã
-fexpensive-optimizations
æ¯èŒçã³ã¹ãã®é«ãããã€ãã®äºçŽ°ãªæé©åãè¡ããŸãã
-fdelayed-branch
ã¿ãŒã²ãããã·ã³ã«ãããŠãã®ãã©ã°ããµããŒããããŠããå Žåã¯ãé
å»¶åå²
åœä»€åŸã®åœä»€ã¹ããããåœä»€ã®é çªå€æŽã«ãã£ãŠå©çšããããã«èšå®ããŸãã
-fschedule-insns
ã¿ãŒã²ãããã·ã³ã«ãããŠãã®ãã©ã°ããµããŒããããŠããå Žåã¯ãå¿
èŠãª
ããŒã¿ãå©çšå¯èœã«ãªããŸã§åŸ
ã€ããšã«ããå®è¡ã®é
æ»ãé²ãããã«ãåœä»€
ã®é çªã®å€æŽãè¡ããŸããããã¯é
ãæµ®åå°æ°ç¹åœä»€ãã¡ã¢ãªèªã¿èŸŒã¿åœä»€ã®å®
è¡ã«ãããŠããããã®çµæãå¿
èŠãšããåœä»€ã®åã«ä»ã®åœä»€ãè©°ã蟌ã¿ãŸãã
-fschedule-insns2
`-fschedule-insns'
ãšäŒŒãŠããŸãããã¬ãžã¹ã¿å²åœãŠåŠçã®åŸã«ããäžåºŠåœä»€ã¹ã±ãžã¥ãŒãªã³ã°ã®
段éã眮-
ãŸããããã¯ãæ¯èŒçã¬ãžã¹ã¿æ°ãå°ãªããã¡ã¢ãªããŒãåœä»€ ã 1
ãµã€ã¯ã«ãããå€ããèŠãããã·ã³ã«ãããŠãç¹ã«å¹æçã§ãã
ãæãçãæ®ãå¥ãèããå»ãèœãè
ã³
ããã©ã«ãã§ã¯ãGNU CC
ã³ã³ãã€ã©ã¯ãçŸåšäœ¿çšããŠãããã·ã³ãšåãã¿ã€ãã®
ã³ãŒããã³ã³ãã€ã«ããŸããããããGNU CC ã¯ã¯ãã¹ã³ã³ãã€ã©
ãšããŠãã€ã³ã¹ããŒã«ããããšãå¯èœã§ããå®éã«ã¯ãç°ãªã£ãã¿ãŒã²ãã
ãã·ã³ã®ããã®æ§ã
ãªã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã® GNU CC ã¯ãåæã«ããã€
ãã€ã³ã¹ããŒã«ããããšãå¯èœã§ããããã§ãã©ã® GNU CC ã䜿çšãããã
æå®ããããã«ã`-b' ãªãã·ã§ã³ã䜿çšããããšãã§ãæ³å
ããã«å ããŠãå€ãããããã¯ããæ°ããããŒãžã§ã³ã® GNU CC ãåæã«ãã
ã€ãã€ã³ã¹ããŒã«ããŠããããšãã§ãæ³åãããã®ãã¡ 1 〠(ãããããã£
ãšãæ°ãããã®)
ãããã©ã«ããšãªããŸããããããã²ãã£ãšãããå¥ã®ãã®ã䜿
ããããªããããããŸããã
-b machine
åŒæ° machine
ã¯ãã³ã³ãã€ã«ã®ã¿ãŒã²ãããã·ã³ãèŠå®ããŸãããã㯠GNU CC
ãã¯ãã¹ ã³ã³ãã€ã©ãšããŠã€ã³ã¹ããŒã«ããæã«æ§åä»»å
machine ã«æå®ããå€ã¯ãGNU CC
ãã¯ãã¹ã³ã³ãã€ã©ãšããŠã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³
ããæã«äžãããã·ã³ã¿ã€ããšåãã§ããäŸãã°ã80386 äžã® System
V ã§å®è¡ãããããã°ã©ã ã®ããã« `configure i386v'
ãšããã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ãè¡ãªã£ãã¯ãã¹ã³ã³ãã€ã©ãèµ·åãã
ãå Žåã¯ã`-b i386v' ãšæå®ããŸãã
`-b'
ã®èšå®ãçç¥ããå Žåã¯ãéåžžã¯äœ¿çšããŠãããã·ã³ãšåã¿ã€ãã®ãã·ã³
ã®ããã®ã³ã³ãã€ã«ãè¡ãããŸãã
-V version
åŒæ° version ã¯ãèµ·åããã GNU CC
ã®ããŒãžã§ã³ãèŠå®ããŸããããã¯è€æ°ã®ããŒãžã§ã³ã
ã€ã³ã¹ããŒã«ãããŠããå Žåã«æ§åä»»å磎âåŒ version ã `2.0'
ãªãã°ãGNU CC ããŒãžã§ã³ 2.0 ãèµ·åããããšãæå³ããŸãã
`-V' ãæå®ããªãã£ãå Žåã®ããã©ã«ãã®ããŒãžã§ã³ã¯ãGNU CC
ãã€ã³ã¹ããŒã«
ããæã«èª¿æŽå¯èœã§ããéåžžã¯ããã£ãšãäžè¬çãªäœ¿çšã«å§ããããšãã§-
ã ããŒãžã§ã³ãããã«æå®ãããŸãã
ãæ³ãèœãé¶äŸé åçããå»ãèœãè
ã³
ããããã®ã¿ãŒã²ãããã·ã³ã¿ã€ãã¯ãããããã®ç¹å¥ãªãªãã·ã§ã³ãæã€
ããšãå¯èœã§ãã`-m' ã§å§ãŸããªãã·ã§ã³çŸ€ã¯ãæ§ã
ãªããŒããŠã§ã¢ã¢ãã«ã
ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³--äŸãã° 68010 ãš 68020ã
æµ®åå°æ°ç¹ã³ããã»ããµã®æ¥-- ãªã©ãéžæã§-
ãŸãããã®ãªãã·ã§ã³ãæå®ããããšã«ãã£ãŠãã³ã³ãã€ã©ã¯ ã©ãã 1
ã€ã®ã¢ãã«ã
ãããã¯ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã«å¯Ÿããã³ã³ãã€ã«ãå¯èœã§ãã
ããã€ãã®ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã¯ãéåžžã¯ãã®ãã©ãããã©ãŒã äžã®
ä»ã®ã³ã³ãã€ã©ãšã®ã³ãã³ãã©ã€ã³ã«é¢ããã®äºæäžé¬ç®žè¥ªç
ã®ç¹å¥ãªãªãã·ã§ã³ãçšæããŠããŸãã
以äžã¯ 68000 ã·ãªãŒãºã®ããã«å®çŸ©ããã `-m' ãªãã·ã§ã³ã§ãã
-m68000
-mc68000
68000 ã®ããã®ã³ãŒããçæããŸãããã㯠68000
ããŒã¹ã®ã·ã¹ãã ã«å¯ŸããŠ
ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ãè¡ãªã£ãã³ã³ãã€ã©ã®ããã©ã«ãã§ãã
-m68020
-mc68020
(68000 ã§ã¯ãªã) 68020 ã®ããã®ã³ãŒããçæããŸãããã㯠68020
ããŒã¹ã®
ã·ã¹ãã ã«å¯ŸããŠã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ãè¡ãªã£ãã³ã³ãã€ã©ã®ããã©ã«ã
ã§ãã
-m68881
æµ®åå°æ°ç¹æŒç®ã®ããã« 68881
åœä»€ãå«ãã åºåãè¡ããŸããããã¯ã»ãšãã©ã® 68020
ããŒã¹ã®ã·ã¹ãã ã«ãããŠãã³ã³ãã€ã©ã®ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³æã«
-nfp ãæå®ãããªãã£ãå Žåã®ããã©ã«ãã§ãã
-m68030
68030 ã®ããã®ã³ãŒããçæããŸãããã㯠68030
ããŒã¹ã®ã·ã¹ãã ã«å¯ŸããŠ
ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ãè¡ãªã£ãã³ã³ãã€ã©ã®ããã©ã«ãã§ãã
-m68040
68040 ã®ããã®ã³ãŒããçæããŸãããã㯠68040
ããŒã¹ã®ã·ã¹ãã ã«å¯ŸããŠ
ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ãè¡ãªã£ãã³ã³ãã€ã©ã®ããã©ã«ãã§ãã
-m68020-40
68040
ã®ããã®ã³ãŒããçæããŸãããæ°ããåœä»€ã䜿çšããŸããããã®çµæãšã
ãŠåŸãããã³ãŒãã¯ã68020/68881, 68030, 68040
ã®ãããã®ã·ã¹ãã ã«ãããŠãã æ¯èŒçé«ãçšä¿®é®ã¡ãŸãã
-mfpa æµ®åå°æ°ç¹æŒç®ã®ããã« Sun FPA åœä»€ãå«ãã åºåãè¡ããŸãã
-msoft-float
æµ®åå°æ°ç¹æŒç®ã®ããã«ã©ã€ãã©ãªãåŒã³åºãåºåãè¡ããŸãã _-mshort
int åã short int åã®ããã« 16 ãããå¹
ãšã¿ãªããŸãã
-mnobitfield
ããããã£ãŒã«ãåœä»€ã䜿çšããŸããã`-m68000' ã¯æé»ã®ãã¡ã«
`-mnobitfield' ãå«ã¿ãŸãã
-mbitfield
ããããã£ãŒã«ãåœä»€ã䜿çšããŸãã`-m68020' ã¯æé»ã®ãã¡ã«
`-mbitfield'
ãå«ã¿ãŸããããã¯å€æŽãããŠããªããœãŒã¹ã®å Žåã®ããã©ã«ãã§ãã
-mrtd åºå®åæ°ã®åŒæ°ããšã颿°ã«å¯ŸããŠãç°ãªã£ã颿°åŒã³åºãèŠçŽã䜿çšããŸãã
ããã¯ããªã¿ãŒã³æã«åŒæ°ãããããã rtd
åœä»€ãå©çšãããã®ã§ããããã¯åŒã³åºãåŽã§åŒæ°ãããããããå¿
èŠããª
ãããã«ã1 åœä»€ãçç¥ããããšãå¯èœãšãªããŸãã
ãã®åŒã³åºãèŠçŽã¯éåžžã® Unix ã§äœ¿çšãããŠããæ¹åŒãšã¯äºæ-
ããããŸãããã ã®ãããUnix
ã³ã³ãã€ã©ã§ã³ã³ãã€ã«ãããã©ã€ãã©ãªãåŒã³åºãå¿
èŠãã
ãéãã¯ã䜿çšããããšã¯ã§ãæ³æŠéµ
ããã«ãå
šãŠã®å¯å€åŒæ°ããšãåŸã颿° ( printfãå«ã¿ãŸã)
ã«å¯ŸããŠã颿°ãããã¿ã€ããçšæããå¿
èŠããããŸãããããªããšã
ãããã®é¢æ°ã«å¯ŸããŠèª€ã£ãã³ãŒããçæãããŸãã
ããã«ã颿°ã«å¯ŸããŠå€éããåŒæ°ãã€ããŠåŒã³åºãã³ãŒããæžããå Žåãã
ãã¯æ·±å»ãªèª€ã£ãã³ãŒããçæããŸãã(éåžžã¯å€éãã倿°ã¯å®³ãåãŒãããš
ãªãç¡èŠãããŸãã)
rtd åœä»€ã¯ 68010 ãš 68020 ã«ãã£ãŠãµããŒããããŸããã 68000
ã§ã¯äœ¿çšã§ ãŸããã
以äžã¯ Vax ã®ããã«å®çŸ©ããã `-m' ãªãã·ã§ã³ã§ãã
-munix ç¹å®ã®ããã€ãã®ãžã£ã³ãåœä»€ (aobleq ç)
ãåºåããŸããããããã®åœä»€ã§é·ãã¬ã³ãžã䜿çšããå Žåã Vax
çšã® Unix ã¢ã»ã³ãã©ã¯ãããåŠçã§ãæ³æŠéµ
-mgnu ãããã®ãžã£ã³ãåœä»€ãåºåããŸããã¢ã»ã³ãã«ã«ã¯ GNU
ã¢ã»ã³ãã©ã®äœ¿çš ãä»®å®ããŸãã
-mg æµ®åå°æ°ç¹æ°ã«ã€ããŠãd-ãã©ãŒãããã§ã¯ãªããg-ãã©ãŒãããã®ããã®
ã³ãŒããåºåããŸãã
以äžã¯ SPARC ã§ãµããŒããããŠãã `-m' ã¹ã€ããã§ãã
-mfpu
-mhard-float
æµ®åå°æ°ç¹åœä»€ãå«ãåºåãè¡ããŸããããã¯ããã©ã«ãã§ãã
-mno-fpu
-msoft-float
æµ®åå°æ°ç¹ã®åŠçã®ããã«ã©ã€ãã©ãªãåŒã³åºãåºåãè¡ããŸãã
_-msoft-float ã¯åŒã³åºãèŠçŽã倿ŽããŸãããããã£ãŠã _
ã®ããã°ã©ã ããã®ãªãã·ã§ã³ã§ã³ã³ãã€ã«ããªãéãã
ãã®ãªãã·ã§ã³ã¯æå³ããªããŸããã
-mno-epilogue
-mepilogue
-mepilogue ãæå®ããããšã«ãã£ãŠ
(ããã©ã«ã)ãã³ã³ãã€ã©ã¯é¢æ°ãæãããã
ã®ã³ãŒããåžžã«é¢æ°ã®æåŸã«åºåããŸãã颿°ã®éäžã§é¢æ°ãæããã³ãŒãã¯å
šãŠã
颿°ã®æåŸã®çµäºã³ãŒããžã®ãžã£ã³ããšããŠçæãããŸãã
-mno-epilogue
ãèšå®ããããšã«ãã£ãŠãã³ã³ãã€ã©ã¯é¢æ°ããæããã³ãŒããã€ã³ã©ã€ã³å
ããããšã詊ã¿ãŸãã
-mno-v8
-mv8
-msparclite
ãããã® 3 ã€ã®ãªãã·ã§ã³ã¯ SPARC ã¢ãŒ-
ãã¯ãã£ã®ããªãšãŒã·ã§ã³ãéžæ ããããã«äœ¿çšãããŸãã
ããã©ã«ãã§ã¯ã(Fujitsu SPARClite
çšã«ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ããªãé ãã¯) GCC 㯠SPARC ã¢ãŒ-
ãã¯ã㣠v7 çšã®ã³ãŒããçæããŸãã
-mv8 ã¯ãSPARC v8 çšã³ãŒããçæããŸããv7
ã³ãŒããšã®éãã¯ãæŽæ°ã®ä¹ç®ãšæŽæ° ã®é€ç®ã v7 ã§ã¯ååšããªãã
v8 ã«ã¯ååšãããšããç¹ã®ã¿ã§ãã
-msparclite ã¯ãSPARClite çšã®ã³ãŒããçæããŸãããã㯠v7
ã«ã¯ååšãã SPARClite ã«ååšãããæŽæ°ä¹ç®ãæŽæ°é€ç®ãšã¹ã¥ç€
(ffs) åœä»€ã远å ããŸãã
-mcypress
-msupersparc
ããã 2
ã€ã®ãªãã·ã§ã³ã¯ã³ãŒãæé©å察象ã®ããã»ããµãéžæããããã®
ãã®ã§ãã
-mcypress ãçšãããš(ãããããã©ã«ã)ã ã³ã³ãã€ã©ã¯ Cypress
CY7C602 ãããçšã«ã³ãŒããæé©åããŸãã ãã®ãããã¯
SparcStation/SparcServer 3xx ã·ãªãŒãºã«çšããããŠããŸãã
ãã®ãªãã·ã§ã³ã¯å€ã SparcStation 1, 2, IPX ãªã©ã«ãé©çšã§-
ãŸãã
-msupersparc ãçšãããšãã³ã³ãã€ã©ã¯ SuperSparc CPU
çšã«ã³ãŒããæé©åããŸãã ãã®ããã㯠SparcStation 10, 1000,
2000 ã·ãªãŒãºã«çšããããŠããŸãã
ãã®ãªãã·ã§ã³ãçšãããšãSPARC v8
ã®å
šåœä»€ã»ãããçšããããã«ãªããŸãã
以äžã¯ Convex ã®ããã«å®çŸ©ããã `-m' ãªãã·ã§ã³ã§ãã
-mc1 C1 çšã®åºåãè¡ããŸããããã¯ã³ã³ãã€ã©ã C1
çšã«ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ ãè¡ãªãããæã®ããã©ã«ãã§ãã
-mc2 C2 çšã®åºåãè¡ããŸããããã¯ã³ã³ãã€ã©ã C2
çšã«ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ ãè¡ãªãããæã®ããã©ã«ãã§ãã
-margcount
åŒæ°åã®åã«ãåŒæ°ã®æ°ãã¯ãŒãã«çœ®ãã³ãŒããçæããŸããããã€ãã®å¯æ¬-
ã®ãªã Convex ã Vax
ã®ããã°ã©ã ã¯ãã®ã¯ãŒããå¿
èŠãšããŸãã(ãããã¬ã¯
äžå®é·åŒæ°ãªã¹ããæã€é¢æ°ãé€ããŠããã®ã¯ãŒããå¿
èŠãšããŸããããããã®
æ
å ±ã¯ã·ã³ãã«ããŒãã«ã«æžãããŸãã)
-mnoargcount
åŒæ°ã®æ°ã瀺ãã¯ãŒããçç¥ããŸããããã¯å€æŽãããŠããªããœãŒã¹ã䜿çšãã
å Žåã®ããã©ã«ãã§ãã
以äžã¯ãAMD Am29000 ã®ããã«å®çŸ©ããã `-m' ãªãã·ã§ã³ã§ãã
-mdw DW
ããããç«ã£ãŠããããšãä»®å®ããã³ãŒããåºåããŸããããã¯ãããŒããŠã§ã¢
ã«ãã£ãŠãã€ãæäœãããŒãã¯ãŒãæäœããµããŒããããŠãããšããããšã
æå³ããŸããããã¯ããã©ã«ãã§ãã
-mnodw DW ããããç«ã£ãŠããªãããšãä»®å®ããã³ãŒããåºåããŸãã
-mbw ã·ã¹ãã ããã€ãæäœãããŒãã¯ãŒãæž-
èŸŒã¿æäœããµããŒãããŠããããšãä»®å®ãã
ã³ãŒããçæããŸããããã¯ããã©ã«ãã§ãã
-mnbw ã·ã¹ãã ããã€ãæäœãããŒãã¯ãŒãæž-
èŸŒã¿æäœããµããŒãããŠããªãããšãä»®å®ã
ãã³ãŒããçæããŸããããã¯æé»ã®ãã¡ã« `-mnodw' ãå«ã¿ãŸãã
-msmall
ã¹ã¢ãŒã«ã¡ã¢ãªã¢ãã«ã䜿çšããŸããããã¯å
šãŠã®é¢æ°ã®ã¢ãã¬ã¹ãåäžã®
256KB ã®ã»ã°ã¡ã³ãå
ã«å
¥ãããšãšã颿°ã®çµ¶å¯Ÿã¢ãã¬ã¹ã 256K
以äžã«ãã ããšãä»®å®ããŸãããã®ãªãã·ã§ã³ã¯ call åœä»€ã const,
consth, calli ã·ãŒã±ã³ã¹ã®ä»£ããã«äœ¿çšããããšãå¯èœã«ããŸãã
-mlarge
call åœä»€ã䜿çšã§ãè¥ªæµ·ç®žéæžè
éŽæ³æŠéµããã¯ããã©ã«ãã§ãã
-m29050
Am29050 çšã®ã³ãŒããçæããŸãã
-m29000
Am29000 çšã®ã³ãŒããçæããŸããããã¯ããã©ã«ãã§ãã
-mkernel-registers
gr96-gr127 ã¬ãžã¹ã¿ãžã®åç
§ã®ä»£ããã« gr64-gr95
ãåç
§ããã³ãŒããçæããŸãããã®ãªãã·ã§ã³ã¯ããŠãŒã¶ã®ã³ãŒãã
ã䜿çšã§-
ãã°ããŒãã«ã¬ãžã¹ã¿ããåºå¥ãããã°ããŒãã«ã¬ãžã¹ã¿ã®éå
ãå©çšããã«ãŒãã«ã®ã³ãŒããã³ã³ãã€ã«ããæã«äœ¿çšã§ãæ³å
ãã ãããã®ãªãã·ã§ã³ã䜿çšãããŠããæã«ã `-f'
ãã©ã°äžã®ã¬ãžã¹ã¿åã¯éåžžã®ãŠãŒã¶ã¢ãŒãã§ã®ååã䜿çšããŸãã
-muser-registers
éåžžã®ã°ããŒãã«ã¬ãžã¹ã¿ã®éå gr96-gr127
ã䜿çšããŸããããã¯ããã©ã«ãã§ãã
-mstack-check
__msp_check
ãžã®åŒã³åºããããããã®ã¹ã¿ãã¯èª¿æŽã®åŸã«æ¿å
¥ããŸããããã¯ãã°ãã°
ã«ãŒãã«ã®ã³ãŒãã«ãããŠçšããããŸãã
以äžã¯ãMotorola 88K ã¢ãŒã¥è¬ãã£ã®ããã«å®çŸ©ããã `-m'
ãªãã·ã§ã³ã§ãã
-m88000
m88100 ãš m88110 ã®åæ¹ã§æ¯èŒçé«-
èœã§åäœããã³ãŒããçæããŸãã
-m88100
m88100 ã«æé©ãªã³ãŒããçæããŸãããã ã m88110
ã«ãããŠãåäœããŸãã
-m88110
m88110 ã«æé©ãªã³ãŒããçæããŸãã ãã ã m88100
ã«ãããŠã¯åäœããªãããç¥ããŸãã
-midentify-revision
ã¢ã»ã³ãã©åºåäžã«ããœãŒã¹ãã¡ã€ã«åãã³ã³ãã€ã©åãšããŒãžã§ã³ã
ã¿ã€ã ã¹ã¿ã³ãã䜿çšãããã³ã³ãã€ã«ãã©ã°ãæ°éŽ ident
ãã£ã¬ã¯ãã£ããæ¿å
¥ããŸãã
-mno-underscores
ã·ã³ãã«åã®æåã«ã¢ã³ããŒã¹ã³ã¢-
ã£ã©ã¯ã¿ãã€ããªãã¢ã»ã³ãã©åºåãç
æããŸããããã©ã«ãã§ã¯åã
ã®ååã«å¯ŸããŠãã¢ã³ããŒã¹ã³ã¢ããã¬ãã£ãã¯
ã¹ãšããŠäœ¿çšããŸãã
-mno-check-zero-division
-mcheck-zero-division
åæã® 88K
ã®ã¢ãã«ã¯ãŒãã«ããé€ç®ã®åŠçã«åé¡ãæã£ãŠããŸãããç¹ã«ãã
ããã®å€ãã«ãããŠãã©ãããçããªãã£ãããšã¯åé¡ã§ããããã
ãã®ãªãã·ã§ã³ã䜿çšããããšã«ãã£ãŠããŒãé€ç®ãçºèŠããäŸå€ãç¥ããã
ã³ãŒããåã蟌ãããšãçŠæ¢ (ãããã¯æç€ºçã«èš±å¯) ããããšãã§-
ãŸããå
š ãŠã® 88K çšã® GCC ã®ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã¯
`-mcheck-zero-division' ãããã©ã«ããšããŠäœ¿çšããŠããŸãã
-mocs-debug-info
-mno-ocs-debug-info
88Open Object Compatibility Standard "OCS" ã§å®çŸ©ããã
(ããããã®ã¹ã¿ãã¯ãã¬ãŒã äžã§äœ¿çšãããã¬ãžã¹ã¿ã«é¢ãã)
ä»å çãªãããã° æ
å ±ãåã蟌ã¿ãŸã
(ãŸãã¯çç¥ããŸã)ããããã®ä»å çãªæ
å ±ã¯ GDB ã«ãã£
ãŠã¯å¿
èŠãšãããŸãããDG/UX, SVr4, Delta 88 SVr3.2
ã§ã¯ããã©ã«ãã§ãã®æ
å ±ãå«ããŸãããã®ä»ã® 88K
ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã§ã¯ããã©ã«ãã§çç¥ããŸãã
-mocs-frame-position
-mno-ocs-frame-position
OCS
ã§èŠå®ãããŠããããã«ãã¬ãžã¹ã¿ã®å€ã«å¯ŸããŠãã¹ã¿ãã¯ãã¬ãŒã äžã®
ç¹å®ã®å Žæã«ä¿åããããšããåäœã匷å¶ããŸã
(ãããã¯èŠæ±ããŸãã)ã DG/UX, Delta88 SVr3.2, BCS
ã®ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã§ã¯ `-mocs-frame-position'
ãããã©ã«ããšããŠããã以å€ã® 88k ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã§ã¯
`-mno-ocs-frame-position' ãããã©ã«ããšããŠäœ¿çšããŠããŸãã
-moptimize-arg-area
-mno-optimize-arg-area
颿°ã®åŒæ°ãã©ã®ãããªæ¹æ³ã§ã¹ã¿ãã¯ãã¬ãŒã ã«æ ŒçŽãããããæå®ããŸãã
`-moptimize-arg-area'
ã¯ã¹ããŒã¹ãç¯çŽããŸãããããã€ãã®ããã㬠(GDB ã¯å«ãŸããªã)
ã ã¯ã©ãã·ã¥ãããŸãã`-mno-optimize-arg-area'
ã¯ããæšæºã«åŸã£ãŠããŸããããã©ã«ãã§ã¯ GCC
ã¯åŒæ°ãšãªã¢ã®æé©å ãè¡ããŸããã
-mshort-data-num
ããŒã¿åç
§æã«ããããã®åŠçã r0
ããã®çžå¯Ÿåç
§ã§è¡ãªãããšã«ãã£ãŠå°ããªã³ãŒãã«ããããšãå¯èœãšããŸãã
ããã¯å€ã®ããŒãã (ãã®ä»ã®å Žå㯠2 åœä»€ããããšããã) 1
åœä»€ã§è¡ãª ãããšãå¯èœã«ããŸããnum
ããã®ãªãã·ã§ã³ãšãšãã«æå®ããããšã«ãã£ãŠãã©ã®ããŒã¿åç
§ã圱é¿
ãåããããæå®ããããšãã§ãæ³å磎â `-mshort-data-512'
ãæå®ãããšã512 ãã€ã以å
ã®ãã£ã¹ãã¬ãŒã¹ã¡ã³ãã®ããŒã¿åç
§ã
圱é¿ãåããããšã«ãªããŸãã `-mshort-data-num' 㯠num ã 64K
ããã倧ã䜵ã¯å¹æãæã¡ãŸããã
-mserialize-volatile
-mno-serialize-volatile
volatile ãªã¡ã¢ãªãžã®åç
§ã«ã€ããŠãã·ãŒã±ã³ã·ã£ã«ãªæŽåäžé®ã£ã
ã³ãŒããçæããããããã¯çæããŸããã
GNU CC
ã¯ããã©ã«ãã§ã¯ã©ã®ããã»ããµãµãã¢ãã«ãéžãã å Žåã«ãããŠãã
æŽå-
ãåžžã«ä¿èšŒããŸãããããã©ã®ããã«å®çŸãããŠãããã¯ããµãã¢ãã«ã«
äŸåããŠããŸãã
m88100
ããã»ããµã¯ã¡ã¢ãªåç
§ã®é çªãå
¥ãæããªãã®ã§ãåžžã«ã·ãŒã±ã³ã·ã£ã«ãª
æŽåäžäºæ«çèŽæ³åãã `-m88100' ã䜿çšããå Žåã¯ãGNU CC
ã¯ã·ãŒã±ã³ã·ã£ã«ãªæŽåäžé¯€æ«åŒçç©ç å¥ãªåœä»€ãçæããŸããã
m88110
ããã»ããµã«ãããã¡ã¢ãªåç
§ã®é çªã¯ãå¿
ããããããã®èŠæ±ãè¡
ãªã£ãåœä»€ã®é çªãšã¯äžèŽããŸãããç¹ã«ãèªã¿èŸŒã¿åœä»€ã¯ãå
è¡ããæž-
蟌ã¿
åœä»€ãããå
ã«å®è¡ããåŸãŸãããã®ãããªé çªã®å
¥ãæãã¯ããã«ãããã»ããµæã«
volatile ãªã¡ã¢ãªã®åç
§ã«ãããã·ãŒã±ã³ã·ã£ã«ãªæŽå-
ã厩ããŠããŸããŸãã `-m88000' ãŸã㯠`-m88110'
ãæå®ããå Žåã«ã¯ãGNU CC ã¯ãå¿
èŠãªå Žåã¯ç¹å¥ãªåœä»€ãçæãã
åœä»€ã®å®è¡ãæ£ããé çªã§è¡ãªãããããšã匷å¶ããŸãã
ããã§çæãããæŽå-
ãä¿èšŒããããã®ç¹å¥ãªåœä»€ã¯ã¢ããªã±ãŒã·ã§ã³ã®
èœã«å¯ŸããŠåœ±é¿ãåãŒããŸãããããã®ä¿èšŒç¡ãã§åé¡ããªããšããããšãããã£
ãŠããå Žåã¯ã`-mno-serialize-volatile' ã䜿çšããããšãã§-
ãŸãã
`-m88100' ãªãã·ã§ã³ã䜿çšããŠããããm88110
ã«ãããå®è¡æã«ã·ãŒã±ã³ã·ã£ã«ãª æŽå-
ãå¿
èŠãšãããå Žåã¯ã`-mserialize-volatile' ã䜿çšããã¹ãä»»å
-msvr4
-msvr3 System V release 4 (SVr4) ã«é¢é£ããã³ã³ãã€ã©ã®æ¡åŒµãé
(`-msvr4') ãããã¯ç¡å¹ (`-msvr3')
ã«ããŸããããã¯ä»¥äžã®å
容ãå¶åŸ¡ããŸãã
o çæããã¢ã»ã³ãã©ã®ææ³ã®çš®é¡ (ãã㯠`-mversion-03.00'
ã䜿çšããããšã«ãã£ãŠç¬ç«ã«å¶åŸ¡ã§ãæ³)ã
o `-msvr4' 㯠C ããªããã»ããµã«å¯Ÿã㊠`#pragma weak'
ãçè§£ãããŸãã
o `-msvr4' ã¯ãGCC ã« SVr4
ã«ãã£ãŠäœ¿çšãããŠããä»å çãªå®£èšãã£ã¬ã¯ãã£ã
ãçæãããŸãã
`-msvr3' ã¯ãSVr4 ãé€ãå
šãŠã® m88K
ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã«ãããããã© ã«ãã§ãã
-mtrap-large-shift
-mhandle-large-shift
31 ããããã倧-
ããããã·ãããæ€åºããã³ãŒããåã蟌ã¿ãŸãããããã®
ãªãã·ã§ã³ãæå®ããããšã«ãã£ãŠããããããã©ããããããã¯é©åã«åŠçã
ãã³ãŒããåã蟌ãŸããŸããããã©ã«ãã§ã¯ GCC ã¯å€§-
ãªãããã·ããã«ã¯ ç¹å¥ãªå¯Ÿçãè¡ããŸããã
-muse-div-instruction
éåžžã«åæã® 88K ã¢ãŒ-
ãã¯ãã£ã®ã¢ãã«ã¯é€ç®åœä»€ãæã£ãŠããŸãããåŸã£ ãŠãGCC
ã¯ããã©ã«ãã§ã¯é€ç®åœä»€ãçæããŸããããã®ãªãã·ã§ã³ã¯é€ç®åœä»€
ãå®å
šã«äœ¿çšã§ã襪箞ãÎæµ·ç®žé®æ
è
éŽæ³å
-mversion-03.00
DG/UX ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã«ã¯ã2 ã€ã® SVr4
ã®çš®é¡ããããŸãããã®ãªãã·ã§ã³ 㯠-msvr4 ãªãã·ã§ã³ã«ãã£ãŠ
hybrid-COFF ãš real-ELF ã®ã©ã¡ãã䜿çšãããããéžæããŸãã
ä»ã®ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã¯ãã®ãªãã·ã§ã³ãç¡èŠããŸãã
-mwarn-passed-structs
颿°ã«å¯ŸããŠæ§é äœãæž¡ããå Žåãšã颿°ãæ§é äœãè¿ããå Žåã«èŠåããŸãã
æ§é äœãæž¡ãèŠçŽã¯ C èšèªã®çºå±ã®äžã§å€åããŠãããç§»æ€-
ã®åé¡ããã° ãã°çããããšã«ãªããŸããããã©ã«ãã§ã¯ GCC
ã¯ãã®èŠåãè¡ããŸããã
以äžã®ãªãã·ã§ã³ã¯ IBM RS6000 ã®ããã«å®çŸ©ããããã®ã§ãã
-mfp-in-toc
-mno-fp-in-toc
æµ®åå°æ°ç¹å®æ°ã Table of Contents (TOC)
ã«å
¥ãããã©ãããæå®ããŸãã
ãã®ããŒãã«ã¯å
šãŠã®ã°ããŒãã«å€æ°ãšé¢æ°ã®ã¢ãã¬ã¹ãæ ŒçŽããŸããããã©ã«ã
ã§ã¯ GCC ã¯æµ®åå°æ°ç¹å®æ°ãããã«æ ŒçŽããŸãããã TOC
ãç®è¡ããµããããã å Žåã¯ã`-mno-fp-in-toc'
ã䜿çšããããšã«ãã£ãŠ TOC
ã®ãµã€ãºãå°ããããããšãå¯èœã§ããã
ç®è¡ããµããé²ãããšãã§ã襪任éŽè
Î
以äžã¯ IBM RT PC çšã«å®çŸ©ããã `-m' ãªãã·ã§ã³ã§ãã
-min-line-mul
æŽæ°ã®ä¹ç®ã«å¯ŸããŠã€ã³ã©ã€ã³ã®ã³ãŒãåãçæããŸããããã¯ããã©ã«ãã§ãã
-mcall-lib-mul
æŽæ°ã®ä¹ç®ã«å¯Ÿã㊠lmul$$ ãåŒã³åºããŸãã
-mfull-fp-blocks
ãã«ãµã€ãºã®æµ®åå°æ°ç¹ããŒã¿ãããã¯ãçæããŸãããã㯠IBM
ã«ãã£ãŠæš
奚ãããŠããæäœéã®ã¹ã¯ã©ããã¹ããŒã¹ã®éãå
å«ããŸããããã¯ããã©ã«ãã§ãã
-mminimum-fp-blocks
æµ®åå°æ°ç¹ããŒã¿ãããã¯å
ã«ç¹å¥ãªã¹ã¯ã©ããã¹ããŒã¹ãå«ããŸãããããã«
ãã£ãŠãããå°ããªã³ãŒããçæãããŸãããå®è¡ã¯é
ããªããŸãã
ãªããªãã¹ã¯ã©ããã¹ããŒã¹ãåçã«ç¢ºä¿ãããããã§ãã
-mfp-arg-in-fpregs
IBM ã®é¢æ°åŒã³åºãèŠçŽãšã¯äºæäžéèŠãèšå䞪åèè
é®è©åéŽæ³å
ãã®èŠçŽã§ã¯æµ®åå°æ°ç¹åŒæ°ãæµ®åå°æ°ç¹ã¬ãžã¹ã¿ã«å
¥ããŠæž¡ããŸãã
ãã®ãªãã·ã§ã³ãæå®ãããšãvarargs.h ã stdarg.h
ã§æµ®åå°æ°ç¹ãªãã©ã³ãã䜿çšã§ãèŠãªãããšã«æ³šæããŠäžããã
-mfp-arg-in-gregs
æµ®åå°æ°ç¹ã«å¯ŸããŠéåžžã®é¢æ°åŒã³åºãèŠçŽã䜿çšããŸããããã¯ããã©ã«ãã§ãã
-mhc-struct-return
1 ã¯ãŒããã倧-
ãªæ§é äœãè¿ãæã«ãã¬ãžã¹ã¿ã§ã¯ãªãã¡ã¢ãªã䜿çšããŠè¿ããŸãã
ãã㯠MetaWare HighC (hc) ã³ã³ãã€ã©ãšã®äºæ-
ãæäŸããŸãã`-fpcc-struct-return' ã䜿çšããããšã«ãã£ãŠ
Portable C Compiler (pcc) ãšã®äºæäžé¯ ãããšãã§ãæ³å
-mnohc-struct-return
1 ã¯ãŒããã倧-
ãªæ§é äœãè¿ãæã«ãã¬ãžã¹ã¿ã«ãã£ãŠè¿ãããå ŽåããããŸãã
ããã¯ãã®æ¹ã䟿å©ã§ãããšèããããæã«äœ¿çšãããŸããããã¯ããã©ã«ãã§ãã
IBM ãæäŸããã³ã³ãã€ã©ãšã®äºæ-
ãåŸãããã«ã¯ã`-fpcc-struct-return' ãš `-mhc-struct-return'
ã®åæ¹ã䜿çšããŸãã
以äžã¯ MIPS ãã¡ããªã®ããã«å®çŸ©ããã `-m' ãªãã·ã§ã³ã§ãã
-mcpu=cpu-type
åœä»€ã¹ã±ãžã¥ãŒãªã³ã°æã«ãããã©ã«ãã®ãã·ã³ã¿ã€ãã cpu-type
ã«ä»®å®ããŸããããã©ã«ãã® cpu-type 㯠default
ã§ãããã®éžæã¯ãã¹ãŠã®ãã·ã³ã«å¯Ÿããæé·ã®ãµã€ã¯ã«æ°ãå
ã«ã³ãŒãã
çæããŸããããã¯ãçæãããã³ãŒããã©ã® MIPS cpu
ã«ãããŠãé©åœãªé床 ã§åŠçãããããã«ããããã§ãããã以å€ã®
cpu-type ã®éžæãšããŠã¯ã r2000, r3000, r4000, r6000
ããããŸããç¹å®ã® cpu-type
ãéžæããå Žåã¯ããã®ç¹å®ã®ãããã«é©ããã¹ã±ãžã¥ãŒã«ãè¡ãããŸãã
ã³ã³ãã€ã©ã¯ã -mips2 ãŸã㯠-mips3
ã¹ã€ããã䜿çšãããŠããªãå Žåã¯ãMIPS ISA (instruction set
architecture) ã®ã¬ãã« 1
ã«åèŽããªãã³ãŒããçæããããšã¯ãããŸããã
-mips2 MIPS ISA ã®ã¬ãã« 2 (branch likely åœä»€, å¹³æ¹æ ¹åœä»€)
ã«ããåœä»€çŸ€ ãåºåããŸãã -mcpu=r4000 ãš -mcpu=r6000
ã¹ã€ããã¯ã -mips2 ãšå
±ã«äœ¿çšãããå¿
èŠããããŸãã
-mips3 MIPS ISA ã®ã¬ãã« 3 (64 ãããåœä»€) ãå«ãåœä»€çŸ€ãåºåããŸãã
-mcpu=r4000 ã¹ã€ããã¯ã -mips2 ãšåæã«äœ¿çšããå¿
èŠããããŸãã
-mint64
-mlong64
-mlonglong128
ãããã®ãªãã·ã§ã³ã¯çŸåšåäœããŸããã
-mmips-as
MIPS ã¢ã»ã³ãã©ã®ããã®ã³ãŒããçæãã mips-tfile
ãèµ·åããŠéåžžã®ãããã°æ
å ±ã远å ããŸãã ãã㯠OSF/1
ãªãã¡ã¬ã³ã¹ãã©ãããã©ãŒã
以å€ã®å
šãŠã®ãã©ãããã©ãŒã ã«ãããããã©ã«ãã§ãã OSF/1
ãªãã¡ã¬ã³ã¹ãã©ãããã©ãŒã 㯠OSF/rose
ãªããžã§ã¯ããã©ãŒãããã 䜿çšããŸããã¹ã€ãã -ggdb, -gstabs,
-gstabs+ ã®ãã¡ã®ã©ããã䜿çšãããŠããå Žåã¯ã mips-tfile
ããã°ã©ã ã¯ãstabs ã MIPS ECOFF äžã«ã«ãã»ã«åããŸãã
-mgas GNU ã¢ã»ã³ãã©çšã®ã³ãŒããçæããŸãããã㯠OSF/1
ãªãã¡ã¬ã³ã¹ãã©ãããã©ãŒã ã«ãããããã©ã«ãã§ããOSF/1
ãªãã¡ã¬ã³ã¹ãã©ãããã©ãŒã 㯠OSF/rose
ãªããžã§ã¯ããã©ãŒãããã䜿çšããŸãã
-mrnames
-mno-rnames
-mrnames
ã¹ã€ããã¯åºåã³ãŒãã«ãããŠãã¬ãžã¹ã¿ã®ååãšããŠãããŒããŠã§ã¢åã®ä»£
ããã« MIPS ãœãããŠã§ã¢åã䜿çšããããšãæå®ããŸãã(ã€ãŸãã
a0 ã $4 ã®ä»£ããã«äœ¿çšããŸã)ã GNU ã¢ã»ã³ãã©ã¯ -mrnames
ã¹ã€ããããµããŒãããŸãããMIPS
ã¢ã»ã³ãã©ã¯ãœãŒã¹ãã¡ã€ã«ã«å¯Ÿã㊠MIPS C
ããªããã»ããµãèµ·åããã§ãããã -mno-rnames
ã¹ã€ãããããã©ã«ãã§ãã
-mgpopt
-mno-gpopt
-mgpopt ã¹ã€ããã¯ãå
šãŠã®ããŒã¿å®£èšãã-
ã¹ãã»ã¯ã·ã§ã³äžã®å
šåœä»€ã®åã«æžã
ãããšãæå®ããŸããããã«ãã£ãŠãå
šãŠã® MIPS ã¢ã»ã³ãã©ã¯ã
ã·ã§ãŒãã°ããŒãã«ããããã¯éçãªããŒã¿ã¢ã€ãã ã«å¯ŸããŠã2
ã¯ãŒãã§ã¯ãªãã1 ã¯ãŒãã®ã¡ã¢ãªåç
§åœä»€ãçæããŸãã
ããã¯æé©åãæå®ãããå Žåã®ããã©ã«ãã§ãã
-mstats
-mno-stats
-mstats
ãæå®ãããå Žåã¯ãã³ã³ãã€ã©ã«ãã£ãŠã€ã³ã©ã€ã³ã§ãªã颿°ãåŠçããã
ããšã«ãæšæºãšã©ãŒåºåãã¡ã€ã«ã«å¯ŸããŠããã®ããã°ã©ã ã«å¯Ÿããçµ±èšæ
å ±
ã瀺ã 1
è¡ã®ã¡ãã»ãŒãžãåºåããŸãããã®ã¡ãã»ãŒãžã¯ãä¿åããã¬ãžã¹ã¿
ã®æ°ãã¹ã¿ãã¯ã®ãµã€ãºãªã©ã瀺ããŸãã
-mmemcpy
-mno-memcpy
-mmemcpy
ã¹ã€ããã¯ãå
šãŠã®ãããã¯è»¢éã«å¯ŸããŠãã€ã³ã©ã€ã³ã³ãŒããçæãã代ã
ãã«ãé©åãªã¹ããªã³ã°é¢æ° (memcpy ãŸã㯠bcopy)
ãåŒã³åºãã³ãŒããçæããŸãã
-mmips-tfile
-mno-mips-tfile
-mno-mips-tfile ã¹ã€ãããæå®ãããšã MIPS
ã¢ã»ã³ãã©ããããã°ãµããŒãã®ããã«çæãããªããžã§ã¯ããã¡ã€ã«ã«å¯Ÿãã
mips-tfile ã䜿çšããåŸåŠçãè¡ããŸããã mips-tfile
ãå®è¡ãããªããšããããã¬ããã¯ããŒã«ã«å€æ°ãæ±ãããšãã§-
ãŸããã ããã«ã stage2 ãš stage3
ã®ãªããžã§ã¯ãã¯ã¢ã»ã³ãã©ã«æž¡ãããäžæçãªãã¡ã€ã«åããªããžã§ã¯ããã¡ã€ã«
äžã«åã蟌ãŸããŠæã£ãŠããããã®ããããããæ¯èŒããå Žåã«åäžã®ã
ã®ãšã¯ã¿ãªãããŸããã
-msoft-float
æµ®åå°æ°ç¹æŒç®ã®ããã«ã©ã€ãã©ãªãåŒã³åºãåºåãè¡ããŸãã _-mhard-float
æµ®åå°æ°ç¹åœä»€ãå«ãã åºåãçæããŸããããã¯å€æŽãããªããœãŒã¹ã䜿çšã
ãå Žåã®ããã©ã«ãã§ãã
-mfp64 ã¹ããŒã¿ã¹ã¯ãŒãäžã® FR
ããããç«ã£ãŠããããšãä»®å®ããŸãããã㯠32 åã® 32
ãããæµ®åå°æ°ç¹ ã¬ãžã¹ã¿ã®ä»£ããã«ã32 åã® 64
ãããã®æµ®åå°æ°ç¹ã¬ãžã¹ã¿ãååšãããšã
ãããšã瀺ããŸãããã®å Žåã¯ãåæã« -mcpu=r4000 ãš -mips3
ã¹ã€ãããæå®ããå¿
èŠããããŸãã
-mfp32 32 åã® 32
ãããæµ®åå°æ°ç¹ã¬ãžã¹ã¿ãååšãããšããããšãä»®å®ããŸããã
ãã¯ããã©ã«ãã§ãã
-mabicalls
-mno-abicalls
ããã€ãã® System V.4
ã®ç§»æ€ãäœçœ®ç¬ç«ã³ãŒãã®ããã«äœ¿çšããç䌌åœä»€ .abicalls,
.cpload, .cprestore ãåºåããããããã¯åºåããŸããã
-mhalf-pic
-mno-half-pic
-mhalf-pic ã¹ã€ããã¯ãã-
ã¹ãã»ã¯ã·ã§ã³äžã«åç
§ãé
眮ãã代ããã«ãå€éšåç
§ãè¡
ãªããã€ã³ã¿ãããŒã¿ã»ã¯ã·ã§ã³ã«é
眮ãããããããŒãããåäœãæå®ããŸãã
ãã®ãªãã·ã§ã³ã¯çŸåšãŸã åäœããŸããã -Gnum 㯠num
ãã€ã以äžã®ã°ããŒãã«ããããã¯éçãªã¢ã€ãã ããéåžžã®ããŒã¿ã
bss ã»ã¯ã·ã§ã³ã§ã¯ãªããå°ããªããŒã¿ããŸã㯠bss
ã»ã¯ã·ã§ã³ã«é
眮ããããšã æå®ããŸãã
ããã«ããã¢ã»ã³ãã©ã¯ãéåžžã§ã¯ 2 ã¯ãŒãã®åç
§ãè¡ããšãããã
ã°ããŒãã«ãã€ã³ã¿ (gp ãŸã㯠$28) ãåºæºãšãã 1
ã¯ãŒãã®ã¡ã¢ãªåç
§åœä»€ãçæå¯èœãšãªããŸãã ããã©ã«ãã§ã¯ MIPS
ã¢ã»ã³ãã©ã䜿çšãããå Žåã num 㯠8 ã§ãããŸããGNU
ã¢ã»ã³ãã©ã䜿çšãããå Žåã®ããã©ã«ã㯠0 ã§ãã -Gnum
ã¹ã€ããã¯ã¢ã»ã³ãã©ããªã³ã«ã«ãåæ§ã«æž¡ãããŸããå
šãŠã®ã¢ãžã¥ãŒã«ã¯åäžã®
-Gnum ã®å€ã§ã³ã³ãã€ã«ãããªããã°ãªããŸããã
-nocpp MIPS ã¢ã»ã³ãã©ã«ããŠãŒã¶ã¢ã»ã³ãã©ãã¡ã€ã« (`.s'
æ¡åŒµåãæã¡ãŸã)
ã«å¯Ÿããã¢ã»ã³ãã«æã®ããªããã»ããµã®èµ·åãæå¶ã ããŸãã
以äžã¯ãIntel 80386 ãã¡ããªçšã«å®çŸ©ããã `-m' ãªãã·ã§ã³ã§ãã
-m486
-mno-486
386 ã§ã¯ãªã 486
ã«æé©åãããã³ãŒããåºåããããããã¯ãã®éãè¡ãª
ãæå®ãè¡ããŸãã486 çšã«çæãããã³ãŒã㯠386
ã§å®è¡å¯èœã§ãããéã ãŸãå¯èœã§ãã
-mpentium
-mcpu=pentium ãšå矩ã§ãã
-mpentiumpro
-mcpu=pentiumpro ãšå矩ã§ãã
-mcpu=cpu type
åœä»€ãã¹ã±ãžã¥ãŒãªã³ã°ããéã®ãã·ã³ã¿ã€ãã®ããã©ã«ããèšå®ããŸãã
CPU TYPE ã®éžæè¢ã¯ i386, i486, i586 (pentium), pentium, i686
(pentiumpro), ããã³ pentiumpro ã§ãã ãã CPU TYPE
ãéžã¶ãšããã®ç¹å®ãããã«é©ããããã«ã¹ã±ãžã¥ãŒãªã³ã°ã
è¡ããŸããã -march=cpu type
ãªãã·ã§ã³ãæå®ããªãéããã³ã³ãã€ã©ã¯ i386 ã§å®è¡ã§-
ãªããã㪠ã³ãŒãã¯çæããŸããã
-march=cpu type
ãã·ã³ã¿ã€ã CPU TYPE çšã«åœä»€ãçæããŸãã CPU TYPE ã®éžæè¢ã¯
i386, i486, pentium, ããã³ pentiumpro ã§ãã -march=cpu type
ãæå®ãããš -mcpu=cpu type ãæå®ããããã®ãšã¿ãªããŸãã
-msoft-float
æµ®åå°æ°ç¹æŒç®ã®ããã«ã©ã€ãã©ãªãåŒã³åºãåºåãè¡ããŸãã _-msoft-float'
ã䜿çšããå Žåã§ããããã€ãã®æµ®åå°æ°ç¹åœä»€ãçæãããŸãã
-mno-fp-ret-in-387
颿°ããã®è¿ãå€ã« FPU ã®ã¬ãžã¹ã¿ã䜿çšããŸããã
éåžžã®é¢æ°åŒã³åºãèŠçŽã¯ãããšã FPU ãååšããªããŠã float ãš
double ã®çµæã FPU
ã¬ãžã¹ã¿ã«å
¥ããŠè¿ããŸãããããã£ãŠãã®å Žåã
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã 㯠FPU
ããšãã¥ã¬ãŒãããªããã°ãªããŸããã
`-mno-fp-ret-in-387'
ãªãã·ã§ã³ãæå®ãããšãæµ®åå°æ°ç¹æ°ãéåžžã® CPU ã¬ãžã¹ã¿ã«å
¥ã
ãŠè¿ãããŸãã
-mprofiler-epilogue
-mno-profiler-epilogue
颿°ããæããã³ãŒãã«ãŠãããã¡ã€ã«æ
å ±ãæž-
åºã远å ã³ãŒããçæããŸãã
以äžã¯ HPPA ãã¡ããªçšã«å®çŸ©ããã `-m' ãªãã·ã§ã³ã§ãã
-mpa-risc-1-0
PA 1.0 ããã»ããµçšã®ã³ãŒããåºåããŸãã
-mpa-risc-1-1
PA 1.1 ããã»ããµçšã®ã³ãŒããåºåããŸãã
-mkernel
ã«ãŒãã«ã«é©ããã³ãŒããçæããŸããç¹ã«ãåŒæ°ã® 1 ã€ãšã㊠DP
ã¬ãžã¹ã¿ã ãšã add åœä»€ã®äœ¿çšãæå¶ãããã®ä»£ããã«ãaddil
åœä»€ãçæããŸãããã㯠HP-UX
ãªã³ã«ã®æ·±å»ãªãã°ãé¿ããããã®æªçœ®ã§ãã
-mshared-libs
HP-UX å
±-
ã©ã€ãã©ãªãšãªã³ã¯ãããã³ãŒããçæããŸãããã®ãªãã·ã§ã³ã¯ãŸ
ã å®å
šã«åäœããŠããããã§ã¯ãªããã©ã® PA
ã¿ãŒã²ããã«ãããŠãããã©ã«ã
ã«ãªã£ãŠããŸããããã®ãªãã·ã§ã³ãæå®ãããšãã³ã³ãã€ã©ã¯èª€ã£ãã³ãŒã
ãåºåãåŸãŸãã
-mno-shared-libs
å
±åªèã
å±®èè
èè¢éµããªãã³ãŒããçæããŸããããã¯å
šãŠã® PA
ã¿ãŒã²ãã ã«ãããŠããã©ã«ãã®ãªãã·ã§ã³ã§ãã
-mlong-calls
颿°ã®åŒã³åºãå
ãšåŒã³åºãå
ãåäžãã¡ã€ã«ã«å«ãŸããå ŽåãåŒã³åºãæã®
è·é¢ã 256K ãè¶ããå Žåã§ãåäœãããããªã³ãŒããåºåããŸãã
ãã®ãªãã·ã§ã³ã¯ããªã³ã«ãã "branch out of range errors" ã§
ãªã³ã¯ãæåŠãããæä»¥å€ã«ã¯äœ¿çšããªãããã«ããŠãã ããã
-mdisable-fpregs
ãããªã圢ã«ãããŠããæµ®åå°æ°ç¹ã¬ãžã¹ã¿ã®äœ¿çšãçŠæ¢ããŸãã
ããã¯æµ®åå°æ°ç¹ã¬ãžã¹ã¿ã«é
æ
®ããªãã³ã³ãã¥å¥œè奜ã
奪èé®åèŠ
ã«ãŒãã«ã«å¯ŸããŠéã§ãã
ãã®ãªãã·ã§ã³ã䜿çšããŠãæµ®åå°æ°ç¹åŠçãè¡ãªãããšãããšã
ã³ã³ãã€ã©ã¯ã¢ããŒãããŸãã
-mdisable-indexing
ã³ã³ãã€ã©ã«å¯ŸããŠãindexing addressing mode
ã䜿çšããªãããã«æå®ããŸãã ããã«ãã£ãŠ MACH ã«ãã㊠MIG
ã«ãã£ãŠçæãããã³ãŒããã³ã³ãã€ã«ã
ãéã®ãããŸãéèŠã§ãªãããã€ãã®åé¡ãé²ãããšãã§ãæ³å
-mtrailing-colon
ã©ãã«å®çŸ©ã®åŸã«ã³ãã³ãå ããŸã (ELF ã¢ã»ã³ãã©çš)ã
以äžã¯ãIntel 80960 ãã¡ããªçšã«å®çŸ©ããã `-m' ãªãã·ã§ã³ã§ãã
-mcpu-type
ããã©ã«ãã®ãã·ã³ã¿ã€ãã cpu-type
ã«ä»®å®ããŸããããã¯çæããåœä»€ãšã¢ãã¬ãã·ã³ã°ã¢ãŒãããããŠ-
çæ¡ä»¶ã« é¢ä¿ããŸãã ããã©ã«ãã® cpu-type 㯠kb
ã§ãããã®ä»ã®éžæãšããŠã¯ ka, mc, ca, cf, sa, sb ããããŸãã
-mnumerics
-msoft-float
-mnumerics
ãªãã·ã§ã³ã¯ããã»ããµãæµ®åå°æ°ç¹åœä»€ããµããŒãããããšã瀺ããŸãã
-msoft-float
ãªãã·ã§ã³ã¯æµ®åå°æ°ç¹ãµããŒããä»®å®ããªãããšã瀺ããŸãã
-mleaf-procedures
-mno-leaf-procedures
èã«äœçœ®ããæç¶ãç ²åŒãè£ call åœä»€ãšåæ§ã« bal
åœä»€ã§ãåŒã³åºãããšãå¯èœãšããŸã (ãããã¯ãããŸãã)ãããã¯
bal åœä»€ãã¢ã»ã³ãã©ããŸãã¯ãªã³ã«ã«ãã£ãŠçœ®-
æãããåŸãå Žåã«ã¯ãçŽæ¥åŒ
ã³åºãã«å¯ŸããŠå¹çã®è¯ãã³ãŒããåŸãããšãã§-
ãŸãããã ãããã以å€ã®å Ž
åã¯å¹çã®è¯ããªãã³ãŒããçæããŸããäŸãã°ã颿°ãžã®ãã€ã³ã¿çµç±ã®åŒã³
åºããããã®æé©åããµããŒãããªããªã³ã«ã䜿çšããå Žåãªã©ããã
ã«è©²åœããŸãã
-mtail-call
-mno-tail-call
(ãã·ã³éäŸåã®éšåãè¶ããŠ)
æ«å°Ÿååž°ãåå²ã«å€æããåŠçã«é¢ããã
ããªãæé©åãè¡ããŸã(ãŸãã¯è¡ããŸãã)ã
ãã®ææ³ã®é©çšãæ£åœã§ãªããšããããšã«é¢ãã倿
ãå®å
šã§ã¯ãªãã®ã§ããŸã ãã®ãªãã·ã§ã³ã䜿çšããããšã¯é©åœã§ãªããã
ãããŸãããããã©ã«ã㯠-mno-tail-call ã§ãã
-mcomplex-addr
-mno-complex-addr
ãã® i960
ã®å®è£
ã§ã¯è€éãªã¢ãã¬ãã·ã³ã°ã¢ãŒãã®äœ¿çšãåªäœã§ãããšä»®å®
ããŸã (ãããã¯ä»®å®ããŸãã)ãè€éãªã¢ãã¬ãã·ã³ã°ã¢ãŒãã¯
K-ã·ãªãŒãºã§ã¯ 䜿çšãã䟡å€ã¯ç¡ãããç¥ããŸãããã
C-ã·ãªãŒãºã§ã¯ç¢ºãã«äœ¿çšãã䟡å€ããããŸãã çŸåšã¯
-mcomplex-addr ããCB ãš CC
ãé€ãå
šãŠã®ããã»ããµã«ãããããã©ã«ãã§ãã
-mcode-align
-mno-code-align
ããé«éãªãã§ããã®ããã«ã³ãŒãã 8 ãã€ãã«ã¢ã©ã€ã³ããŸã
(ãŸãã¯äœã ããŸãã)ãçŸåšã§ã¯ C
ã·ãªãŒãºã®å®è£
ã«ãããŠã®ã¿ããã©ã«ãã§éã«ããŠããŸãã
-mic-compat
-mic2.0-compat
-mic3.0-compat
iC960 v2.0 ãŸã㯠v3.0 ãšã®äºæäžé®ãããŸãã
-masm-compat
-mintel-asm
iC960 ã¢ã»ã³ãã©ãšã®äºæäžé®ãããŸãã
-mstrict-align
-mno-strict-align
ã¢ã©ã€ã³ãããªãã¢ã¯ã»ã¹ãèš±å¯ããŸãã (ãããã¯èš±å¯ããŸã)ã
-mold-align
Intel ã«ãã gcc ãªãªãŒã¹ããŒãžã§ã³ 1.3 (gcc 1.37 ããŒã¹)
ãšã®æ§é äœã® ææ¡ä»¶ã«é¢ããäºæäžé®ãããŸããçŸåšã¯ã #pragma
align 1 ãåæã«ä»®å®ãããŠããŸããç¡å¹åã§-
ãªããšãããã°ãæã£ãŠããŸãã
以äžã¯ãDEC Alpha çšã«å®çŸ©ããã `-m' ãªãã·ã§ã³ã§ãã
-mno-soft-float
-msoft-float
æµ®åå°æ°ç¹æäœã«å¯ŸããŠãããŒããŠã§ã¢ã«ããæµ®åå°æ°ç¹åœä»€ã䜿çšããŸã
(ã ãŸãã)ãããã-msoft-float ãæå®ãããå Žåã¯ã`libgcc1.c'
å
ã®é¢æ°ãæµ®åå°æ°ç¹æŒç®ã«äœ¿çšãããŸãããã ãããããã®ã«ãŒãã³ã
æµ®åå°æ°ç¹æŒç®ããšãã¥ã¬ãŒãããã«ãŒãã³ã«ãã£ãŠçœ®-
æããããŠãããã
ãã®ãããªãšãã¥ã¬ãŒã·ã§ã³ã«ãŒãã³ãåŒã³åºãããã«ã³ã³ãã€ã«ãããŠãã
ã®ã§ãªãéãããããã®ã«ãŒãã³ã¯æµ®åå°æ°ç¹æŒç®ãè¡ãªã£ãŠããŸããŸããæµ®åå°
æ°ç¹æŒç®ã®ãªã Alpha
ã®ããã®ã³ã³ãã€ã«ãè¡ãªãããã«ã¯ãã©ã€ãã©ãªã
ããããåŒã³åºããªãããã«ã³ã³ãã€ã«ãããŠããªããã°ãªããŸããã
æµ®åå°æ°ç¹æŒç®ã®ãªã Alpha
ã®å®è£
ã¯ãæµ®åå°æ°ç¹ã¬ãžã¹ã¿ãå¿
èŠãšãããš
ããããšã«æ³šæããŠäžããã
-mfp-reg
-mno-fp-regs
æµ®åå°æ°ç¹ã¬ãžã¹ã¿ã»ããã䜿çšãã
(䜿çšããªã)ã³ãŒããçæããŸãã -mno-fp-regs ã¯æé»ã®ãã¡ã«
-msoft-float
ãå«ã¿ãŸããæµ®åå°æ°ç¹ã¬ãžã¹ã¿ã»ããã䜿çšãããªãå Žåã¯ãæµ®åå°æ°ç¹
ãªãã©ã³ãã¯æŽæ°ã¬ãžã¹ã¿ã«å
¥ããããŠæž¡ãããæµ®åå°æ°ç¹æ°ã®çµæã¯
$f0 ã§ã¯ ãªã $0
ã«å
¥ããŠè¿ãããŸããããã¯éæšæºã®é¢æ°åŒã³åºãæé ã§ããã
æµ®åå°æ°ç¹æ°ã®åŒæ°ãè¿ãå€ãæã€é¢æ°ã§ã-mno-fp-regs
ãã€ããŠã³ã³ãã€ã«ãããã³ãŒãããåŒã³åºããã颿°ã¯ãã¹ãŠãã®ãªãã·ã§ã³ã
ã€ããŠã³ã³ãã€ã«ãããŠããå¿
èŠããããŸãã
ãã®ãªãã·ã§ã³ã®å
žåçãªçšæ³ã¯ãæµ®åå°æ°ç¹ã¬ãžã¹ã¿ã䜿çšããããããã£
ãŠæµ®åå°æ°ç¹ã¬ãžã¹ã¿ãžã®ã»ãŒãããªã¹ãã¢ãå¿
èŠã®ãªãã«ãŒãã«ãæ§ç¯ãã
æãªã©ãããã§ãããã
ããã«è¿œå ãããªãã·ã§ã³ã¯ System V Release 4
ã«ãããŠããããã®ã·ã¹ãã äžã® ä»ã®ã³ã³ãã€ã©ãšã®äºæ-
ã®ããã«æäŸããããã®ã§ãã
-G SVr4 ã·ã¹ãã ã«ãããŠãgcc 㯠`-G' ãªãã·ã§ã³ãåãä»ããŸã
(ãããŠ
ãããã·ã¹ãã ãªã³ã«ã«æž¡ããŸã)ãããã¯ä»ã®ã³ã³ãã€ã©ãšã®äºæ-
ã®ããã§ãã ãããããªã³ã«ãªãã·ã§ã³ã gcc
ã®ã³ãã³ãã©ã€ã³ããæž¡ãããããæã
㯠`-symbolic' ãŸãã¯
`-shared' ã®äœ¿çšãé©åœã§ãããšèããŠããŸãã
-Qy ã³ã³ãã€ã©ã䜿çšããããããã®ããŒã«ã®ããŒãžã§ã³ã .ident
ã¢ã»ã³ãã©ãã£ã¬ã¯ãã£ãã䜿çšããŠãåºåã§æç€ºããŸãã
-Qn .ident ãã£ã¬ã¯ãã£ããåºåã«å ããããšãæå¶ããŸã (ããã¯
ããã©ã«ãã§ã)ã
-YP,dirs
`-l' ã§æå®ãããã©ã€ãã©ãªã«å¯ŸããŠã
dirsã§èŠå®ããããã£ã¬ã¯ããªã®ã¿ãæ€çŽ¢ããä»ã¯æ€çŽ¢ããŸããã
dirs äžã¯ã1 ã€ã®ã³ãã³ã§åºåãããšã«ããã
è€æ°ã®ãã£ã¬ã¯ããªãšã³ããªã欺åŒéŽæ³å
-Ym,dir
M4 ããªããã»ããµã dir
ã«æ€çŽ¢ããŸããã¢ã»ã³ãã©ããã®ãªãã·ã§ã³ã䜿çšããŸãã
ãéãçãå»çèšæããå»ãèœãè
ã³
ãããã®ãã·ã³ç¬ç«ãªãã·ã§ã³ã¯ã
ã³ãŒãçæã«ãŠäœ¿çšãããã€ã³ã¿ãã§ãŒã¹èŠçŽãå¶åŸ¡ããŸãã
ãããã®ã»ãšãã©ã¯ `-f' ã§å§ãŸããŸãããããã®ãªãã·ã§ã³ã¯-
å¹åœ¢åŒãšç¡å¹åœ¢åŒã® 2 ã€ã®åœ¢åŒãæã£ ãŠããŸãã`-ffoo' ã®ç¡å¹åœ¢åŒã¯
`-fno-foo'
ã§ãã以äžã«æãã衚ã«ãããŠã¯ããã®ãã¡ãããã©ã«ãã§ã¯ãªãç
æ¹ã®ã¿ãæããããŠããŸãã`no-'
ã远å ããããåé€ãããã«ãã£ãŠåæ¹ã®åœ¢åŒãåŸãããšãã§ãæ³å
-fnonnull-objects
åç
§åã«ãã£ãŠåç
§ããããªããžã§ã¯ãã¯ãã«ã§ãªããšä»®å®ããŸã
(C++ ã®ã¿)ã
é垞㯠GNU C++
ã¯åç
§åã«ãã£ãŠåç
§ããããªããžã§ã¯ãã«é¢ããŠã¯ä¿å®ç
ãªä»®å®ãè¡ããŸããäŸãã°ãã³ã³ãã€ã©ã¯ a
ã以äžã®ã³ãŒãã«ãããŠãã«ã§ãªãããšããã§ãã¯ããå¿
èŠããããŸãã
obj &a = g (); a.f (2);
ãã®çš®ã®åç
§ããã«ã§ãªãããšã®ãã§ãã¯ã¯ãç¹å¥ãªã³ãŒããå¿
èŠãšããŸãã
ããããããã¯å€ãã®ããã°ã©ã ã«ãšã£ãŠç¡çšãªãã®ã§ãã
ãã®ãã«ã«å¯Ÿãããã§ãã¯ãå¿
èŠã®ãªãå Žå `-fnonnull-objects'
ã䜿çšããããšã«ãããçç¥ããããšãã§ãæ³å
-fpcc-struct-return
struct ãš union ã®å€ãè¿ãå Žåã«ãæ®éã® C
ã³ã³ãã€ã©ãè¡ãªãã®ãšåãèŠçŽã䜿çšããŸãã
ãã®èŠçŽã¯å°èŠæš¡ãªæ§é äœã«å¯ŸããŠéå¹çãªãã®ãšãªãããŸãå€ãã®ãã·ã³ã§ãã®
颿°ãåå
¥äžå¯èœãšããŠããŸããŸãããããããã¯ãGCC
ã§ã³ã³ãã€ã«ãããã³ãŒã ãš PCC
ã§ã³ã³ãã€ã«ãããã³ãŒããçžäºã«åŒã³åºãããšãå¯èœãšãããšã
ãå©ç¹ãæã¡ãŸãã
-freg-struct-return
struct ãš union
ã®å€ãè¿ãå Žåã«ãå¯èœãªå Žåã¯ã¬ãžã¹ã¿ã䜿çšããèŠçŽã䜿çšããŸããããã¯
-fpcc-struct-return
ã䜿çšããå Žåãšæ¯èŒããŠãå°ããªæ§é äœãè¿ãå Žåã«é«ã-
èœãçºæ®ããŸãã
-fpcc-struct-return ãš -freg-struct-return
ã®ã©ã¡ãã䜿çšããªãã£ãå Žåã«ã¯ãGNU CC
ã¯åã¿ãŒã²ããã«å¯ŸããŠæšæºã§
ãããšèããããèŠçŽãããã©ã«ããšããŠäœ¿çšããŸãã
ããæšæºèŠçŽããªãã£ãå Žåã¯ã -fpcc-struct-return
ãããã©ã«ããšããŠäœ¿çšããŸãã
-fshort-enums
enum
åã«å¯ŸããŠãã¡ããã©åãåŸãå€ã®ç¯å²ã«å¿ãããã€ãæ°ã®åãäžããŸãã
å
·äœçã«ã¯ãenum
åã¯ããã®å€åãæ ŒçŽããã«ååãªæå°ã®æŽæ°åãšç䟡ã«ãªããŸãã
-fshort-double
double ã float ãšåãµã€ãºã«ããŸãã
-fshared-data
ããŒã¿ãšé const 倿°ãããã©ã€ããŒããªããŒã¿ã§ã¯ãªããå
±-
ããŒã¿ãšããŠã³ã³ãã€ã«ããŸãã
ãã®ãªãã·ã§ã³ã¯ãèµ°è¡äžã®åãããã°ã©ã éã¯å
±åªåŠçœçå
±äœæ°è
ãã©ã€ããŒãããŒã¿ãããããã®ããã»ã¹ã« 1
ã€ãã€äžãããããããªäžéš
ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§æå³ãæã¡ãŸãã
-fno-common
bss
ã»ã¯ã·ã§ã³äžã®åæåãããŠããªãã°ããŒãã«å€æ°ã«å¯ŸããŠã§ããå
±éãããã¯
ã«çæããã®ã§ã¯ãªããé åãå²ãåœãŠãŸãããã®ãªãã·ã§ã³ã¯ã(extern
ãã€ããã«) åäžã®å€æ°ã宣èšãã 2
ã€ã®ã³ã³ãã€ã«ã«å¯ŸããŠããªã³ã¯æ
ã«ãšã©ãŒãçºçãããšãã广ããããŸãããã®ãªãã·ã§ã³ã¯ãåžžã«ãã®ãããªå
äœãè¡ãªãã·ã¹ãã ã«ãããŠããããã°ã©ã ãæ£åžžã«åäœãããã©ãããæ€æ»
ããå Žåã«ã®ã¿æ§åä»»å
-fno-ident
`#ident' ãã£ã¬ã¯ãã£ããç¡èŠããŸãã
-fno-gnu-linker
(C++ ã®ã³ã³ã¹ãã©ã¯ã¿ãšãã¹ãã©ã¯ã¿ã®ãããª)
ã°ããŒãã«ãªåæåã®ã³ãŒãã (GNU
ãªã³ã«ãããããæ±ãæšæºã®ã·ã¹ãã ã§ãããããªã·ã¹ãã ã«ãããŠ)
GNU ãªã³ã«ã§äœ¿çšããã圢åŒã§åºåããŸããããã㯠GNU
ãªã³ã«ã§ã¯ãªã ãªã³ã«ã䜿çšããå Žåã«æå®ããŸãããã®å Žåã
collect2
ã䜿çšããŠã確å®ã«ã·ã¹ãã ãªã³ã«ã«ã³ã³ã¹ãã©ã¯ã¿ãšãã¹ãã©ã¯ã¿ãå«
ãã ã³ãŒããåºåãããå¿
èŠããããŸãã(collect2 㯠GNU CC
ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«å«ãŸããŸãã) collect2
ã_gcc
ã¯èªåçã«ãã®ããã«ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ãããŸãã
-finhibit-size-directive
.sizeã¢ã»ã³ãã©ãã£ã¬ã¯ãã£ããªã©ã颿°ãéäžã§åå²ãããã¡ã¢ãªäžã®ç°ãªã£ã
äœçœ®ã«ããããã®éšåãé
眮ããããããªå Žåã«äžéœåãçãããããªèŠçŽ ã
åºåããŸããããã®ãªãã·ã§ã³ã¯ `crtstuff.c'
ãã³ã³ãã€ã«ããæã«äœ¿çšãããŸãããã以å€ã®å Žæã§ã¯ããã䜿çšãã
å¿
èŠã¯ãããŸããã
-fverbose-asm
åºåã®ã¢ã»ã³ãã©äžã«ç¹å¥ãªã³ã¡ã³ãæ
å ±ã远å ããå¯èª-
ãé«ããŸãããã®
ãªãã·ã§ã³ã¯äžè¬çã«ã¯ãåºåã®ã¢ã»ã³ãã©ã³ãŒããæ¬åœã«èªã¿ããå Žå
(äŸã ã°ã³ã³ãã€ã©èªèº«ããããã°ããŠãããããªå Žå)
ã«ã®ã¿å¹æããããŸãã
-fvolatile
ãã€ã³ã¿ã«ããã¡ã¢ãªã®åç
§ãå
šãŠ volatile ãšããŠæ±ããŸãã
-fvolatile-global
å€éšå€æ°ãã°ããŒãã«ããŒã¿ã¢ã€ãã ãžã®ã¡ã¢ãªåç
§ãå
šãŠ volatile
ãšã㊠æ±ããŸãã
-fpic ãã®ãªãã·ã§ã³ãã¿ãŒã²ãããã·ã³ã§ãµããŒããããŠããã°ãäœçœ®ç¬ç«ãªã³ãŒãã
åºåããŸãããã®ãªãã·ã§ã³ã¯å
±åªèã
å±®èè
ä»»äºè©åè¬ããŸãã
-fPIC ãã®ãªãã·ã§ã³ãã¿ãŒã²ãããã·ã³ã§ãµããŒããããŠããã°ãäœçœ®ç¬ç«ãªã³ãŒãã
åºåããŸãããã®ãªãã·ã§ã³ã¯ãã€ãããã¯ãªã³ã¯ã«é©ããŠãããåå²ã«ã
ããŠå€§ãæ·µåŠã¹ãã¬ãŒã¹ã¡ã³ããèŠæ±ããå Žåã«ãé©å¿ããŸãã
-ffixed-reg
ååã reg
ã®ã¬ãžã¹ã¿ãåºå®ã¬ãžã¹ã¿ãšããŠæ±ããŸããçæãããã³ãŒãã¯ãã®ã¬ãžã¹ã¿
ãåç
§ããŸãã
(ãã ããã¹ã¿ãã¯ãã€ã³ã¿ããã¬ãŒã ãã€ã³ã¿ããã®ä»åºå®çš
éã®å Žåãé€ãæ³)ã
reg
ã¯ã¬ãžã¹ã¿åã§ãªããã°ãªããŸãããåãä»ããããã¬ãžã¹ã¿åã¯ãã·ã³åº
äœä»»â³èâ²æ³ªèœ¡é¶ºè¿°ãã¯ããã¡ã€ã«å
ã® REGISTER_NAMES ãã¯ãã«-
è¿°ããããã®ã§ãã
ãã®ãã©ã°ã¯ç¡å¹åœ¢åŒãæã¡ãŸããããªããªãããã㯠3
éãã®æå®ãå¯èœã§ ããããã§ãã
-fcall-used-reg
ååã reg
ã®ã¬ãžã¹ã¿ãã颿°åŒã³åºãã«ãã£ãŠç Žå£ãããå²ãåœãŠå¯èœã®ã¬ãžã¹ã¿
ãšããŠåãæ±ããŸããããã¯ã颿°åŒã³åºããè·šãã§ååšããªãäžæé åã倿°
ãšããŠå²ãåœãããšãã§-
ãŸãããã®æå®ã§ã³ã³ãã€ã«ããã颿°ã¯ãã¬ãžã¹ã¿ reg
ã®ä¿åã埩垰ãè¡ããŸããã
ãã®ãã©ã°ããã·ã³ã®å®è¡ã¢ãã«ã«ãããŠãããåºå®çã§ç¹æ®ãªåœ¹å²ãæã£ãŠ
ããã¬ãžã¹ã¿ãäŸãã°ã¹ã¿ãã¯ãã€ã³ã¿ããã¬ãŒã ãã€ã³ã¿ã«å¯ŸããŠé©çšãã
ããšã¯ãç Žæ»
çãªçµæãçã¿ãŸãã
ãã®ãã©ã°ã¯ç¡å¹åœ¢åŒãæã¡ãŸããããªããªãããã㯠3
éãã®æå®ãå¯èœã§ ããããã§ãã
-fcall-saved-reg
ååã reg
ã®ã¬ãžã¹ã¿ãã颿°ã«ãã£ãŠä¿åãããå²ãåœãŠå¯èœãªã¬ãžã¹ã¿ãšããŠå
ãæ±ããŸããããã¯ã颿°åŒã³åºããè·šãã§ååšããäžæé åã倿°ãšããŠãå²ã
åœãŠãããšãã§ãæ³åãã®æå®ã§ã³ã³ãã€ã«ããã颿°ã¯ãã¬ãžã¹ã¿
reg ã䜿çšããå Žåããã®ä¿åãšåŸ©åž°ãè¡ããŸãã
ãã®ãã©ã°ããã·ã³ã®å®è¡ã¢ãã«ã«ãããŠãããåºå®çã§ç¹æ®ãªåœ¹å²ãæã£ãŠ
ããã¬ãžã¹ã¿ãäŸãã°ã¹ã¿ãã¯ãã€ã³ã¿ããã¬ãŒã ãã€ã³ã¿ã«å¯ŸããŠé©çšãã
ããšã¯ãç Žæ»
çãªçµæãçã¿ãŸãã
ãŸãããã®ãã©ã°ã颿°ã®è¿ãå€ãæ ŒçŽãããã¬ãžã¹ã¿ã«äœ¿çšãããšãããã
ç Žæ»
çãªçµæãçã¿ãŸãã
ãã®ãã©ã°ã¯ç¡å¹åœ¢åŒãæã¡ãŸããããªããªãããã㯠3
éãã®æå®ãå¯èœã§ ããããã§ãã
ãå»ãèãåã
2 ã€ã® `#pragma' ãã£ã¬ã¯ãã£ã(æä»€)ã GNU C++
ã«ãã£ãŠãµããŒããããŠããŸããããã¯ã1 ã€ã®ããããã¡ã€ã«ã 2
ã€ã®ç®çãã€ãŸããããªããžã§ã¯ãã¯ã©ã¹ã®ããã®
ã€ã³ã¿ãã§ãŒã¹ã®å®çŸ©ãšããŠã®ç®çãšããªããžã§ã¯ãã¯ã©ã¹ã«å«ãŸããå
容
ã®å®å
šãªå®çŸ©ãšããŠã®ç®çã®ãäž¡æ¹ã®ç®çã§äœ¿çšããããã®ãã®ã§ãã
#pragma interface
(C++ ã®ã¿)
ãã®ãã£ã¬ã¯ãã£ããããªããžã§ã¯ãã¯ã©ã¹ãå®çŸ©ããŠããããããã¡ã€ã«äž
ã«äœ¿çšããããšã«ãã£ãŠããããã®ã¯ã©ã¹ã䜿çšããã»ãšãã©ã®ãªããžã§ã¯ã
ãã¡ã€ã«ã®å€§ãæ°é®è©ãããããšãã§ãæ³ååé£è® ç¹å®ã®æ
å ±
(ã€ã³ã©ã€ã³ã¡ã³ã颿°ã®ããã¯ã¢ããã³ããŒããããã°æ
å ±ã
ä»®æ³é¢æ°å®çŸã®ããã®å
éšããŒãã«)
ã®è€è£œããã®ã¯ã©ã¹å®çŸ©ãã€ã³ã¯ã«ãŒããã
ããããã®ãªããžã§ã¯ããã¡ã€ã«äžã«çœ®ãããŸãã
ãã®ãã©ã°ãã䜿çšããããšã«ãã£ãŠããã®ãããªè€è£œãé²ãããšã
å¯èœãšãªããŸãã`#pragma interface'
ãå«ãã ããããã¡ã€ã«ãã€ã³ã¯ã«ãŒãããå Žåã¯ããããã®è¿œå æ
å ±
ã¯çæãããŸãã (ãã ããã¡ã€ã³ã®å
¥åãœãŒã¹ãã¡ã€ã«èªèº«ã
`#pragma implementation' ãå«ãã§ããå Žåãé€-
ãŸã)ããã®ãããããªããžã§ã¯ããã¡ã€ã«ã¯
ãªã³ã¯æã«è§£æ±ºãããåç
§ãå«ãããšã«ãªããŸãã
#pragma implementation
#pragma implementation "objects.h"
(C++ ã®ã¿)
ã€ã³ã¯ã«ãŒããããããããã¡ã€ã«ã«ããå®å
šãªåºåãçæãããã
(ãŸãã ããã°ããŒãã«ã«å¯èŠåããã)
å Žåã«ã¯ãã¡ã€ã³ã®å
¥åãã¡ã€ã«äžã§ãã®
ãã©ã°ãã䜿çšããŸãããã®å Žåãã€ã³ã¯ã«ãŒããããããããã¡ã€ã«ã¯ã`#pragma
interface'
ã䜿çšããŠããªããã°ãªããŸãããã€ã³ã©ã€ã³é¢æ°ã®ããã¯ã¢ããæ
å ±ã
ãããã°æ
å ±ãä»®æ³é¢æ°å®çŸçšã®å
éšããŒãã«ã¯ãå
šãŠã€ã³ããªã¡ã³ããŒã·ã§ã³
ãã¡ã€ã«äžã«çæãããŸãã
`#pragma implementation'
ããåŒæ°ãã€ããã«äœ¿çšããå Žåã¯ãããã¯ãã®ãœãŒã¹ãã¡ã€ã«ãšåã
ããŒã¹ããŒã (basename)ãæã€ãã¡ã€ã«ã«å¯ŸããŠé©çšãããŸããäŸãã°ã`allclass.cc'
äžã® `#pragma implementation' ã¯ã`#pragma implementation
"allclass.h" ' ãšç䟡ã§ããããè€æ°ã®ããããã¡ã€ã«ã«å¯ŸããŠã 1
ã€ã®ã€ã³ããªã¡ã³ããŒã·ã§ã³ãã¡ã€ã«ã察å¿ããããå Žåã¯ã
æååã®åŒæ°ã䜿çšããå¿
èŠããããŸãã
1
ã€ã®ããããã¡ã€ã«ã«å¯ŸããŠãè€æ°ã®ã€ã³ããªã¡ã³ããŒã·ã§ã³ãã¡ã€ã«ã察
å¿ãããæ¹æ³ã¯ãããŸããã
éæ
éâãäŸãïŒããã«
file.c C èšèªãœãŒã¹ãã¡ã€ã«
file.h C èšèªããã (ããªããã»ããµ) ãã¡ã€ã«
file.i ããªããã»ã¹æžã¿ã® C èšèªãœãŒã¹ãã¡ã€ã«
file.C C++ ãœãŒã¹ãã¡ã€ã«
file.cc C++ ãœãŒã¹ãã¡ã€ã«
file.cxx C++ ãœãŒã¹ãã¡ã€ã«
file.m Objective-C ãœãŒã¹ãã¡ã€ã«
file.s ã¢ã»ã³ããªèšèªãã¡ã€ã«
file.o ãªããžã§ã¯ããã¡ã€ã«
a.out ãªã³ã¯ãšãã£ããæžã¿ã®åºå
TMPDIR/cc* äžæãã¡ã€ã«çŸ€
LIBDIR/cpp ããªããã»ããµ
LIBDIR/cc1 C èšèªã³ã³ãã€ã©
LIBDIR/cc1plus C++ ã³ã³ãã€ã©
LIBDIR/collect ããã€ãã®ãã·ã³ã§å¿
èŠãšãªããªã³ã«ã®ããã³ããšã³ã
LIBDIR/libgcc.a GCC ãµãã«ãŒãã³ã©ã€ãã©ãª
/lib/crt[01n].o ã¹ã¿ãŒãã¢ããã«ãŒãã³
LIBDIR/ccrt0 C++ çšã®ä»å çãªã¹ã¿ãŒãã¢ããã«ãŒãã³
/lib/libc.a æšæºã©ã€ãã©ãªãintro(3)_
/usr/include #include _
LIBDIR/include #include ãã¡ã€ã«ã®ããã® GCC æšæºãã£ã¬ã¯ããª
LIBDIR/g++-include #include ãã¡ã€ã«ã®ããã®ä»å ç㪠g++ ãã£ã¬ã¯ããª
LIBDIR ã¯éåžž /usr/local/lib/machine/version ã®åœ¢åŒãæã¡ãŸã
TMPDIR ã¯ç°æ²ç«ž TMPDIR (ãã䜿çšå¯èœãªãã° /usr/tmp ããããã§ãªããã°
/tmp ã䜿çšããŸã) ãããšãããŸãã
éæ
éé çç®
as(1), cpp(1), gdb(1), ld(1)
info äžã® `gcc', `cpp', `as', `ld', `gdb' ãšã³ããª
Using and Porting GNU CC (for version 2.0), Richard M. Stallman; The C
Preprocessor, Richard M. Stallman; Debugging with GDB: the GNU Source-
Level Debugger, Richard M. Stallman and Roland H. Pesch; Using as: the
GNU Assembler, Dean Elsner, Jay Fenlason & friends; ld: the GNU linker,
Steve Chamberlain and Roland Pesch.
ãäžã°
ãã°ãå ±åããæ¹æ³ã«ã€ããŠã¯ãGCC ããã¥ã¢ã«ãåç
§ããŠãã ããã
COPYING
Copyright 1991, 1992, 1993 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in
translations approved by the Free Software Foundation instead of in the
original English.
äœéè
GNU CC ã«å¯ŸããŠè²¢ç®ãã人ã
ã«é¢ããŠã¯ãGNU CC
ããã¥ã¢ã«ãåç
§ããŠãã ããã
æææ¥èªè³èš³
çŽ°å· éå·±(hosokawa@mt.cs.keio.ac.jp): NetBSD çšã«ç¿»èš³
sakai@csl.cl.nec.co.jp, h-nokubi@nmit.mt.nec.co.jp,
kumano@strl.nhk.or.jp, horikawa@isrd.hitachi.co.jp: FreeBSD åãã«ä¿®æ£,
æ»é²