Rechercher une page de manuel

Chercher une autre page de manuel:

gcc

Autres langues

Langue: ja

Version: \*(Dt (ubuntu - 01/11/07)

Section: 1 (Commandes utilisateur)

̾¾Î

gcc, g++ - GNU ¥×¥í¥¸¥§¥¯¥È C ¤ª¤è¤Ó C++ ¥³¥ó¥Ñ¥¤¥é (gcc-2.95.3)

½ñ¼°

gcc [ option | filename ]...

Ãí°Õ

¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ë½ñ¤«¤ì¤¿¾ðÊó¤Ï GNU C ¥³¥ó¥Ñ¥¤¥é¤Î´°Á´¤Ê ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤«¤é¤ÎÈ´¿è¤Ç¤¢¤ê¡¢¥ª¥×¥·¥ç¥ó¤Î°ÕÌ£¤Îµ­½Ò¤Ë¤È¤É¤á¤Þ¤¹¡£

¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ï¥Ü¥é¥ó¥Æ¥£¥¢¤Î¥á¥ó¥Æ¥Ê¥ó¥¹¤¬¹Ô¤Ê¤ï¤ì¤¿»þ¤Ë¤Î¤ß¹¹¿·¤µ¤ì ¤ë¤â¤Î¤Ç¡¢¾ï¤ËºÇ¿·¤Î¾ðÊó¤ò¼¨¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤â¤·¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤È¼ÂºÝ¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î´Ö¤ËÌ·½âÅÀ¤¬¤¢¤ì¤Ð¡¢ Àµ¼°¤Ê¥É¥­¥å¥á¥ó¥È¤Ç¤¢¤ë Info ¥Õ¥¡¥¤¥ë¤Î¤Û¤¦¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£

¤³¤Î¥Þ¥Ë¥å¥¢¥ëÃæ¤Î¸Å¤¤µ­½Ò¤¬½ÅÂç¤Êº®Íð¤äÉÔ¶ñ¹ç¤ò¤­¤¿¤¹¤³¤È¤Ë¤Ê¤ì¤Ð¡¢ ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ÎÇÛÉÛ¤ÏÃæ»ß¤·¤Þ¤¹¡£ GNU CC¤Î¥á¥ó¥Æ¥Ê¥ó¥¹ºî¶È¤ÎÅÔ¹ç¾å¡¢ Info ¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤·¤¿»þ¤Ë¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤âÊ»¤»¤Æ¹¹¿·¤¹¤ë¤³¤È¤Ï ¤Ç¤­¤Þ¤»¤ó¡£¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï»þÂåÃÙ¤ì¤Ç¤¢¤ê¡¢ ¤³¤ì¤Ë»þ´Ö¤ò¤«¤±¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¤È GNU ¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¹Í¤¨¤Æ¤¤¤Þ¤¹¡£

´°Á´¤ÊºÇ¿·¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤¬É¬Íפʾì¹ç¤Ï¡¢Info ¥Õ¥¡¥¤¥ë¤Î`gcc' ¤Þ¤¿¤Ï¥Þ¥Ë¥å¥¢¥ë¤Î Using and Porting GNU CC (for version 2.0) ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£¤³¤ÎÁÐÊý¤Ï Texinfo ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë gcc.texinfo ¤«¤éÀ¸À®¤µ¤ì¤Þ¤¹¡£

²òÀâ

C ¤È C++ ¤Î¥³¥ó¥Ñ¥¤¥é¤ÏÅý¹ç¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤É¤Á¤é¤Î¾ì¹ç¤â¡¢ÆþÎÏ¥Õ¥¡¥¤¥ë ¤Ï¡¢¥×¥ê¥×¥í¥»¥¹¡¢¥³¥ó¥Ñ¥¤¥ë¡¢¥¢¥»¥ó¥Ö¥ë¡¢¥ê¥ó¥¯¤Î 4 ¤Ä¤Î½èÍý¥¹¥Æ¡¼¥¸¤Î ¤¦¤Á¤Î 1 ¤Ä°Ê¾å¤Î¥¹¥Æ¡¼¥¸¤òƧ¤ó¤Ç½èÍý¤µ¤ì¤Þ¤¹¡£ ¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤Ë¤è¤Ã¤Æ¥½¡¼¥¹¤Î¸À¸ì¤ò¼±Ê̤·¤Þ¤¹¤¬¡¢ ¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ï¡¢¤É¤Á¤é¤Î̾Á°¤Ç¥³¥ó¥Ñ¥¤¥é¤ò»È¤¦¤«¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹:
gcc
¥×¥ê¥×¥í¥»¥¹ºÑ¤ß¤Î (.i) ¥Õ¥¡¥¤¥ë¤ò C ¤Î¥Õ¥¡¥¤¥ë¤È²¾Äꤷ¡¢C ¥¹¥¿¥¤¥ë¤Î¥ê¥ó¥¯¤ò¹Ô¤¤¤Þ¤¹¡£
g++
¥×¥ê¥×¥í¥»¥¹ºÑ¤ß¤Î(.i) ¥Õ¥¡¥¤¥ë¤ò C++ ¤Î¥Õ¥¡¥¤¥ë¤È²¾Äꤷ¡¢C++ ¥¹¥¿¥¤¥ë¤Î¥ê¥ó¥¯¤ò¹Ô¤¤¤Þ¤¹¡£

¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤Ï¡¢¤½¤Î¸À¸ì¤¬²¿¤Ç¤¢¤ë¤«¤È¡¢¤É¤Î¤è¤¦¤Ê½èÍý¤¬¹Ô¤ï¤ì¤ë ¤Ù¤­¤«¤ò¼¨¤·¤Þ¤¹:

 
 .c     C¸À¸ì¥½¡¼¥¹¤Ç¤¹¡£¥×¥ê¥×¥í¥»¥Ã¥µ¡¢¥³¥ó¥Ñ¥¤¥é¡¢¥¢¥»¥ó¥Ö¥é¤Ë¤«¤±¤é¤ì¤Þ¤¹¡£
 .C     C++¸À¸ì¥½¡¼¥¹¤Ç¤¹¡£¥×¥ê¥×¥í¥»¥Ã¥µ¡¢¥³¥ó¥Ñ¥¤¥é¡¢¥¢¥»¥ó¥Ö¥é¤Ë¤«¤±¤é¤ì¤Þ¤¹¡£
 .cc    C++¸À¸ì¥½¡¼¥¹¤Ç¤¹¡£¥×¥ê¥×¥í¥»¥Ã¥µ¡¢¥³¥ó¥Ñ¥¤¥é¡¢¥¢¥»¥ó¥Ö¥é¤Ë¤«¤±¤é¤ì¤Þ¤¹¡£
 .cxx   C++¸À¸ì¥½¡¼¥¹¤Ç¤¹¡£¥×¥ê¥×¥í¥»¥Ã¥µ¡¢¥³¥ó¥Ñ¥¤¥é¡¢¥¢¥»¥ó¥Ö¥é¤Ë¤«¤±¤é¤ì¤Þ¤¹¡£
 .m     Objective-C ¸À¸ì¥½¡¼¥¹¤Ç¤¹¡£¥×¥ê¥×¥í¥»¥Ã¥µ¡¢¥³¥ó¥Ñ¥¤¥é¡¢¥¢¥»¥ó¥Ö¥é¤Ë¤«¤±¤é¤ì¤Þ¤¹¡£
 .i     ¥×¥ê¥×¥í¥»¥Ã¥µ¤Ë¤«¤±¤é¤ì¤¿C¸À¸ì¥½¡¼¥¹¤Ç¤¹¡£¥³¥ó¥Ñ¥¤¥é¡¢¥¢¥»¥ó¥Ö¥é¤Ë¤«¤±¤é¤ì¤Þ¤¹¡£
 .ii    ¥×¥ê¥×¥í¥»¥Ã¥µ¤Ë¤«¤±¤é¤ì¤¿C++¸À¸ì¥½¡¼¥¹¤Ç¤¹¡£¥³¥ó¥Ñ¥¤¥é¡¢¥¢¥»¥ó¥Ö¥é¤Ë¤«¤±¤é¤ì¤Þ¤¹¡£
 .s     ¥¢¥»¥ó¥Ö¥ê¸À¸ì¥½¡¼¥¹¤Ç¤¹¡£¥¢¥»¥ó¥Ö¥é¤Ë¤«¤±¤é¤ì¤Þ¤¹¡£
 .S     ¥¢¥»¥ó¥Ö¥ê¸À¸ì¥½¡¼¥¹¤Ç¤¹¡£¥×¥ê¥×¥í¥»¥Ã¥µ¡¢¥¢¥»¥ó¥Ö¥é¤Ë¤«¤±¤é¤ì¤Þ¤¹¡£
 .h     ¥×¥ê¥×¥í¥»¥Ã¥µ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£Ä̾ï¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤Ï¸½¤ì¤Þ¤»¤ó¡£
 
 
 
¤½¤Î¾¤Î³ÈÄ¥»Ò¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤Ï¥ê¥ó¥«¤ËÅϤµ¤ì¤Þ¤¹¡£°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
 .o     ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
 .a     ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
 

¥ê¥ó¥¯¤Ï¡¢¥ª¥×¥·¥ç¥ó -c, -S, -E ¤ò»ØÄꤷ¤ÆÍÞÀ©¤·¤Ê¤¤¤«¤®¤ê(¤â¤·¤¯¤Ï¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ë¤è¤Ã¤Æ¤¹¤Ù¤Æ¤Î½èÍý¤¬ÃæÃÇ ¤·¤Ê¤¤¤«¤®¤ê)¡¢¾ï¤ËºÇ½ª¥¹¥Æ¡¼¥¸¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¥ê¥ó¥¯¤Î¥¹¥Æ¡¼¥¸¤Ë¤ª¤¤¤Æ¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂбþ¤·¤¿Á´¤Æ¤Î .o ¥Õ¥¡¥¤¥ë¤È¡¢ -l ¤Ç»ØÄꤷ¤¿¥é¥¤¥Ö¥é¥ê¤È¡¢Ç§¼±¤µ¤ì¤Ê¤«¤Ã¤¿¥Õ¥¡¥¤¥ë̾ (̾Á°¤Ë .o ¤Î¤Ä¤¤¤¿¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ä .a ¤Î¤Ä¤¤¤¿¥¢¡¼¥«¥¤¥Ö¤ò´Þ¤à) ¤Ï¡¢ ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ëʤ٤é¤ì¤¿½çÈ֤ǥê¥ó¥«¤ËÅϤµ¤ì¤Þ¤¹¡£

¥ª¥×¥·¥ç¥ó

¥ª¥×¥·¥ç¥ó¤Ïʬ³ä¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¹¤Ê¤ï¤Á `-dr' ¤Ï `-d -r '¤È¤Ï°Û¤Ê¤Ã¤¿°·¤¤¤ò¼õ¤±¤Þ¤¹¡£

¤Û¤È¤ó¤É¤Î `-f' ¤È `-W' ·Á¼°¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢ -fname ¤È -fno-name (¤Þ¤¿¤Ï -Wname ¤È -Wno-name) ¤Î·Á¼°¤Î¡¢ÂоÈŪ¤Êɽ¸½¤¬¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ê¤¤·Á¼°¤Î ¤ß¤ò¼¨¤·¤Þ¤¹¡£

¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤ò¼ïÎàÊ̤Ëʬ¤±¤Æ¤Þ¤È¤á¤Þ¤·¤¿¡£¾Ü¤·¤¤²òÀâ¤Ï °Ê²¼¤ÎÀá¤Ç¹Ô¤Ê¤¤¤Þ¤¹¡£

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
°Ê²¼¤Î¥¤¥Ù¥ó¥È¤ËÂФ·¤Æ¡¢ÆÃÊ̤ʷٹð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
   •
volatile ¤Ç¤Ê¤¤¼«Æ°ÊÑ¿ô¤¬ longjmp ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ìÆÀ¤ë¾ì¹ç¤Ç¤¹¡£¤³¤ì¤é¤Î·Ù¹ð¤Ï¡¢ºÇŬ²½¥³¥ó¥Ñ¥¤¥ë ¤Î»þ¤Î¤ßÌäÂê¤Ë¤Ê¤êÆÀ¤Þ¤¹¡£

¥³¥ó¥Ñ¥¤¥é¤Ï setjmp ¤Î¸Æ¤Ó½Ð¤·¤Î¤ß¤ò¸«¤Æ¤¤¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤É¤³¤Ç longjmp ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤«¤òÃΤ뤳¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¼ÂºÝ¤Ë¤Ï¡¢¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ï ¥³¡¼¥ÉÃæ¤ÎǤ°Õ¤Î¾ì½ê¤Ç longjmp ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£½¾¤Ã¤Æ¡¢¼ÂºÝ¤Ë¤Ï longjmp ¤Ø¤Î¸Æ¤Ó½Ð¤·¤¬´í¸±¤ÊÉôʬ¤«¤é¤Ï¤ª¤³¤Ê¤ï¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¤ËÌäÂê¤Î¤Ê¤¤¥× ¥í¥°¥é¥à¤Ç¤¢¤Ã¤Æ¤â¡¢·Ù¹ð¤¬È¯¤»¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

   •
´Ø¿ô¤¬¡¢Ãͤòȼ¤Ã¤Æ¥ê¥¿¡¼¥ó¤¹¤ë¾ì¹ç¤È¡¢Ãͤòȼ¤ï¤º¤Ë¥ê¥¿¡¼¥ó¤¹¤ë¾ì¹ç¤ÎξÊý ¤¬µ¯¤³¤ê¤¦¤ë¾ì¹ç¤Ç¤¹¡£ (´Ø¿ô¤ÎºÇ¸å¤òÈ´¤±¤Æ¤¤¤¯¤³¤È¤Ï¡¢Ãͤòȼ¤ï¤º¤Ë´Ø¿ô¤ò¥ê¥¿¡¼¥ó¤¹¤ë¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£) Î㤨¤Ð¡¢¼¡¤Î´Ø¿ô¤¬¤³¤Î¼ïÎà¤Î·Ù¹ð¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£
 foo (a)
 {
   if (a > 0)
     return a;
 }
 
 
 
 
¤¢¤ë´Ø¿ô (abort ¤älongjmp ¤ò´Þ¤à) ¤¬·è¤·¤Æ¥ê¥¿¡¼¥ó¤·¤Ê¤¤¤È¤¤¤¦¤³¤È¤ò GNU CC ¤¬Íý²ò¤Ç¤­¤Ê¤¤¤¿¤á¤Ë¡¢¤Ë¤»¤Î·Ù¹ð ¤¬È¯À¸¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
   •
¼°Ê¸ (expression-statement) ¤Þ¤¿¤Ï¥³¥ó¥Þ¼°¤Îº¸Éôʬ¤¬ °ìÀÚ¤ÎÉûºîÍѤò´Þ¤Þ¤Ê¤¤¾ì¹ç¤Ç¤¹¡£ ·Ù¹ð¤òÍÞÀ©¤¹¤ë¤Ë¤Ï¡¢»ÈÍѤ·¤Ê¤¤¼°¤ò void ¤Ë¥­¥ã¥¹¥È¤·¤Æ²¼¤µ¤¤¡£ Î㤨¤Ð `x[i,j]' ¤È¤¤¤Ã¤¿¼°¤Ï·Ù¹ð¤µ¤ì¤Þ¤¹¤¬¡¢`x[(void)i,j]' ¤Ï·Ù¹ð¤µ¤ì¤Þ¤»¤ó¡£
   •
Éä¹æÌµ¤·¤ÎÃͤ¬ 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 ¤Ë¤ª¤¤¤Æ°Û¤Ê¤Ã¤¿¿¶Éñ¤¤¤ò¤¹¤ëÆÃÄê¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ·Ù ¹ð¤·¤Þ¤¹¡£
   •
¥Þ¥¯¥í°ú¿ô¤¬¥Þ¥¯¥íËÜÂÎÆâ¤Îʸ»úÎóÄê¿ô¤Ë¸½¤ì¤ë¤â¤Î¤Ç¤¹¡£¤³¤ì¤Ï¡¢ÅÁÅýŪ¤Ê C ¤Ë ¤ª¤¤¤Æ¤Ï¤½¤Î°ú¿ô¤ÇÃÖ´¹¤·¤Þ¤·¤¿¤¬¡¢ANSI C ¤Ë¤ª¤¤¤Æ¤ÏÄê¿ô¤Î°ìÉô¤È¤·¤Æ°·¤ï ¤ì¤Þ¤¹¡£
   •
¥Ö¥í¥Ã¥¯Æâ¤Ç³°ÉôÀë¸À¤Ç¤¢¤ë¤ÈÀë¸À¤µ¤ì¡¢¤«¤Ä¤½¤Î¥Ö¥í¥Ã¥¯¤Î½ªÃ¼¤Î¸å¤Ç »ÈÍѤµ¤ì¤Æ¤¤¤ë´Ø¿ô¤Ç¤¹¡£
   •
¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ 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