ããã¯ã³ãã³ãaarch64-linux-gnu-gfortran-4.8ã§ãããUbuntu OnlineãFedora OnlineãWindowsãªã³ã©ã€ã³ãšãã¥ã¬ãŒã¿ãŒãMACOSãªã³ã©ã€ã³ãšãã¥ã¬ãŒã¿ãŒãªã©ã®è€æ°ã®ç¡æãªã³ã©ã€ã³ã¯ãŒã¯ã¹ããŒã·ã§ã³ã®XNUMXã€ã䜿çšããŠOnWorksç¡æãã¹ãã£ã³ã°ãããã€ããŒã§å®è¡ã§ããŸãã
ããã°ã©ã ïŒ
NAME
gfortran-GNUFortranã³ã³ãã€ã©
SYNOPSIS
ãã©ãŒãã©ã³ [-c|-S|-E]
[-g] [-pg] [-Oã¬ãã«]
[-WèŠåãã...] [-è¡åŠè ]
[-IDIR...] [-LDIR...]
[-Dãã¯ã[=å®çŸ©] ...] [-Uãã¯ã]
[-fãªãã·ã§ã³...]
[-mãã·ã³ãªãã·ã§ã³...]
[-o ã¢ãŠããã¡ã€ã«] ãã¡ã€ã«å ...
æã䟿å©ãªãªãã·ã§ã³ã®ã¿ãããã«ãªã¹ããããŠããŸãã æ®ãã«ã€ããŠã¯ã以äžãåç §ããŠãã ããã
DESCRIPTION
ãã® ã°ãã©ã«ãã©ã³ ã³ãã³ãã¯ãã§ãµããŒããããŠãããã¹ãŠã®ãªãã·ã§ã³ããµããŒãããŠããŸã gccã® æå³ã ãªãã·ã§ã³ã®ã¿
GNUFortranã«åºæã®ããã¥ã¡ã³ããããã«ãããŸãã
ãã¹ãŠã®GCCããã³GNUFortranãªãã·ã§ã³ã¯ãäž¡æ¹ã§åãå ¥ããããŸã ã°ãã©ã«ãã©ã³ ãšã«ããã gccã® ïŒããã³
åæã«æ§ç¯ãããä»ã®ãã©ã€ããŒã g ++ïŒãGNCFortranãGCCã«è¿œå ããŠãã
é åžã«ãããé¢é£ãããã¹ãŠã®ãã©ã€ããŒãGNUFortranãªãã·ã§ã³ãåãå ¥ããããšãã§ããŸãã
å Žåã«ãã£ãŠã¯ããªãã·ã§ã³ã«ã¯æ£ãšè² ã®åœ¢åŒããããŸãã ã®è² ã®åœ¢åŒ -ãµãµãŒ ã§ããã
be -fno-fooã ãã®ããã¥ã¢ã«ã«ã¯ããããXNUMXã€ã®åœ¢åŒã®ããããäžæ¹ã®ã¿ãèšèŒãããŠããŸãã
ããã©ã«ãã
OPTIONS
ããã¯ãGNU Fortranã«åºæã®ãã¹ãŠã®ãªãã·ã§ã³ã®èŠçŽã§ãããã¿ã€ãããšã«ã°ã«ãŒãåãããŠããŸãã
説æã¯æ¬¡ã®ã»ã¯ã·ã§ã³ã«ãããŸãã
Fortran èšèª ãªãã·ã§ã³
-ãã©ãŒã«ã€ã³ããªã³ã·ã㯠-fããã¯ã¹ã©ãã·ã¥ -fcray-ãã€ã³ã¿ãŒ -fd-lines-as-code -fd-lines-as-comments
-fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 -fdollar-OK
-åºå®è¡é·-n -åºå®-è¡-é·ã-ãªã -fèªç±åœ¢åŒ -fèªç±ãªè¡ã®é·ã-n
-ffree-line-length-none -fimplicit-ãªã -æ-4-æŽæ°-8 -fmax-èå¥å-é·ã
-fmodule-ãã©ã€ããŒã -fno-å®åœ¢ -fno-range-check -fopenmp -freal-4-real-10
-freal-4-real-16 -freal-4-real-8 -freal-8-real-10 -freal-8-real-16 -freal-8-real-4
-std =STD
ååŠç ãªãã·ã§ã³
-A-question[=åç] -Aquestion=åç -C -CC -Dãã¯ã[=å®çŸ©] -H -P -Uãã¯ã -cpp -dD
-dI -dM -dN -dU -fworkingãã£ã¬ã¯ã㪠-imultilib DIR -iprefix file -iquote -isysroot DIR
-isystem DIR -nocpp -ãã¹ããã£ã³ã¯ -æªå®çŸ©
ãšã©ãŒ ãš èŠå ãªãã·ã§ã³
-ã¯ãªã¢ã·ã³ã° -å£ -ã¯ã³ããŒãµã³ã -Warray å¢ç -Wcãã€ã³ãã£ã³ã°ã¿ã€ã -Wcharacter-åãæšãŠ
-Wã³ã³ããŒãžã§ã³ -æ©èœã®æé€ -Wimplicit ã€ã³ã¿ãŒãã§ã€ã¹ -æé»ã®æé
-Wintrinsic-ã·ã£ã㊠-Wintrinsics-std -Wline-åãæšãŠ -Wno-align-commons -ã¿ããªã
-Wreal-q-å®æ° -é©ãã¹ã -ã¯ã³ããŒãã㌠-Wunused-ãã©ã¡ãŒã¿ -Wrealloc-lhs ãŠã§ã¢ããã¯-
lhs-ãã¹ãŠ -Wtarget-ã©ã€ãã¿ã€ã -fmax-errors =n -fsyntaxã®ã¿ -è¡åŠè -è¡åŠçãšã©ãŒ
ãããã®ã³ã° ãªãã·ã§ã³
-fbacktrace -fdump-fortran-æé©å -fdump-fortran-ãªãªãžãã« -fdump-解æããªãŒ
-ffpe-trap =ãªã¹ã
ãã£ã¬ã¯ã㪠ãªãã·ã§ã³
-IDIR -JDIR -fintrinsic-modules-path DIR
ãªã³ã¯ ãªãã·ã§ã³
-éç-libgfortran
ã©ã³ã¿ã€ã ãªãã·ã§ã³
-fconvert =å€æ -fmax-subrecord-length =é·ã -frecord-marker =é·ã -fsign-ãŒã
Code äžä»£ ãªãã·ã§ã³
-ç©æ¥µçãªæ©èœã®æé€ -fblas-matmul-limit =n -fbounds-ãã§ãã¯
-fcheck-array-temporaries -fcheck =
-fcoarray = -fexternal-ãã©ã¹ -ff2c -ffrontend-æé©å
-finit-character =n -finit-integer =n -finit-ããŒã«ã«-ãŒã -finit-logical =
-finit-real = -fmax-array-constructor =n -fmax-stack-var-size =n
-fno-align-commons -fno-èªå -fno-protect-parens -fno-ã¢ã³ããŒã¹ã³ã¢
-fno-ãã¡ã€ã«å šäœ -fsecond-ã¢ã³ããŒã¹ã³ã¢ -fpackãã掟ç -frealloc-lhs -åšæ³¢æ°
-frepack-é å -fshort-åæå -fstack-é å
ãªãã·ã§ã³ å¶åŸ¡ Fortran æ¹èš
次ã®ãªãã·ã§ã³ã¯ãã³ã³ãã€ã©ãŒãåãå ¥ããFortranæ¹èšã®è©³çŽ°ãå¶åŸ¡ããŸãã
-fèªç±åœ¢åŒ
-åºå®åœ¢åŒ
ãœãŒã¹ãã¡ã€ã«ã§äœ¿çšãããã¬ã€ã¢ãŠããæå®ããŸãã èªç±åœ¢åŒã®ã¬ã€ã¢ãŠãã¯ã§å°å ¥ãããŸãã
Fortran90ãåºå®åœ¢åŒã¯ãåŸæ¥ãå€ãFortranããã°ã©ã ã§äœ¿çšãããŠããŸããã ãã€
ã©ã¡ãã®ãªãã·ã§ã³ãæå®ãããŠããŸããããœãŒã¹ãã©ãŒã ã¯ãã¡ã€ã«æ¡åŒµåã«ãã£ãŠæ±ºå®ãããŸãã
-ãã©ãŒã«ã€ã³ããªã³ã·ãã¯
ãã®ãªãã·ã§ã³ã«ããããã¹ãŠã®çµã¿èŸŒã¿ããã·ãŒãžã£ïŒGNUåºæã®æ¡åŒµæ©èœãå«ãïŒã次ã®ããã«ãªããŸãã
åãä»ããŸãã ããã¯æ¬¡ã®å Žåã«åœ¹ç«ã¡ãŸã -std = f95 æšæºãžã®æºæ ã匷å¶ããŸããã
ã§å©çšå¯èœãªçµã¿èŸŒã¿é¢æ°ã®å šç¯å²ãžã®ã¢ã¯ã»ã¹ ã°ãã©ã«ãã©ã³ã çµæãšããŠã
-Wintrinsics-std ç¡èŠããããšåãååã®ãŠãŒã¶ãŒå®çŸ©ããã·ãŒãžã£ã¯ãããŸãã
æ瀺çã«ãEXTERNALããšå®£èšãããŠããå Žåãé€ãããã¹ãŠã®çµã¿èŸŒã¿é¢æ°ãåŒã³åºãããŸãã
-fd-lines-as-code
-fd-lines-as-comments
åºå®åœ¢åŒã®ãœãŒã¹ã§ãdããŸãã¯ãDãã§å§ãŸãè¡ã®ç¹å¥ãªåŠçãæå¹ã«ããŸãã
Status -fd-lines-as-code ãªãã·ã§ã³ãæå®ãããŠããå Žåãæåã®åã®ããã«æ±ãããŸã
空çœãå«ãŸããŠããŸããã ã®å Žå -fd-lines-as-comments ãªãã·ã§ã³ãäžããããå Žåããããã¯æ¬¡ã®ããã«æ±ãããŸã
ã³ã¡ã³ãè¡ã
-fdefault-double-8
ãDOUBLEPRECISIONãã¿ã€ãã8ãã€ãå¹ ã®ã¿ã€ãã«èšå®ããŸãã ããã -fdefault-real-8 äžããããã
ãDOUBLEPRECISIONãã¯ãå¯èœã§ããã°ä»£ããã«16ãã€ãã«ããã¢ãŒãããã
-fdefault-double-8 ãããé²ãããã«äœ¿çšã§ããŸãã ã®ãããªå®å®æ°ã®çš®é¡
ã1.d0ãã¯ã«ãã£ãŠå€æŽãããŸãã -fdefault-real-8 ããããããã -fdefault-double-8 ãããŸãã
圱é¿ã¯ãããŸããã
-fdefault-integer-8
ããã©ã«ãã®æŽæ°åãšè«çåã8ãã€ãå¹ ã®åã«èšå®ããŸãã ãããªãäœãããªã
ãã§ã«ããã©ã«ãã§ãã ãã®ãªãã·ã§ã³ã¯ã次ã®ãããªæŽæ°å®æ°ã®çš®é¡ã«ã圱é¿ããŸãã
42.
-fdefault-real-8
ããã©ã«ãã®å®æ°åã8ãã€ãå¹ ã®åã«èšå®ããŸãã ããããã§ã«ããå Žåã¯äœãããŸãã
ãã£ãã©ã«ãã ãã®ãªãã·ã§ã³ã¯ã1.0ãªã©ã®éäºéå®å®æ°ã®çš®é¡ã«ã圱é¿ããŸãã
å¯èœã§ããã°ããDOUBLEPRECISIONãã®ããã©ã«ãå¹ ã16ãã€ãã«ããã¢ãŒãããŸãã
ã-fdefault-double-8ããæå®ãããŠããŸãã
-fdollar-OK
次ãèš±å¯ããŸãã $ ã·ã³ãã«åã®æå以å€ã®æå¹ãªæåãšããŠã ã§å§ãŸãèšå· $ ã
æé»ã®ã¿ã€ãã³ã°ã«ã©ã®ã«ãŒã«ãç°ãªããã®ãšããŠé©çšããããæ確ã§ãªããããæåŠãããŸãã
ãã³ããŒã¯ããŸããŸãªã«ãŒã«ãå®è£ ããŠããŸãã 䜿çšãã $ ãIMPLICITãã¹ããŒãã¡ã³ãã§ãæåŠãããŸãã
-fããã¯ã¹ã©ãã·ã¥
æååãªãã©ã«ã®åèšå·ã®è§£éãåäžã®åèšå·ããå€æŽããŸã
æåãããCã¹ã¿ã€ã«ãã®ãšã¹ã±ãŒãæåã 以äžã®çµã¿åãããå±éãããŸã
ASCIIæåã«å¯ŸããŠã\ aããã\ bããã\ fããã\ nããã\ rããã\ tããã\ vããã\\ããããã³ã\ 0ã
ã¢ã©ãŒããããã¯ã¹ããŒã¹ããã©ãŒã ãã£ãŒããæ¹è¡ããã£ãªããžãªã¿ãŒã³ãæ°Žå¹³ã¿ããåçŽã¿ãã
ããããããã¯ã¹ã©ãã·ã¥ãšNULã ããã«ãã\ xãnnã "\ u"NNNN ããã³ã\ Uãããããã
ïŒãããã n ã¯XNUMXé²æ°ã§ãïŒã¯Unicodeæåã«å€æãããŸã
æå®ãããã³ãŒããã€ã³ãã«å¯Ÿå¿ããŸãã ãã£ã©ã¯ã¿ãŒã®ä»ã®ãã¹ãŠã®çµã¿åãã
\ãåã«ä»ããŠãããã®ã¯å±éãããŸããã
-fmodule-ãã©ã€ããŒã
ã¢ãžã¥ãŒã«ãšã³ãã£ãã£ã®ããã©ã«ãã®ã¢ã¯ã»ã·ããªãã£ããPRIVATEãã«èšå®ããŸãã 䜿çšé¢é£
ãšã³ãã£ãã£ã¯ããPUBLICããšããŠæ瀺çã«å®£èšãããŠããªãéããã¢ã¯ã»ã¹ã§ããŸããã
-åºå®è¡é·-n
åãèšå®ãããšããã®åŸã®äžè¬çãªåºå®åœ¢åŒã®è¡ã§æåãç¡èŠãããŸãã
ãœãŒã¹ãã¡ã€ã«ãããã³ãã®åŸã«ã¹ããŒã¹ãæ³å®ãããïŒãã®é·ãã«ããã£ã³ã°ãããŠãããã®ããã«ïŒ
çãåºå®åœ¢åŒã®ç·ã®ç«¯ã
ã®äººæ°ã®ããå€ n 72ïŒæšæºããã³ããã©ã«ãïŒã80ïŒã«ãŒãç»åïŒãããã³
132ïŒäžéšã®äžè¬çãªã³ã³ãã€ã©ã®ãextended-sourceããªãã·ã§ã³ã«å¯Ÿå¿ïŒã n ãããããŸãã
ãŸã ãªããè¡å šäœãæå³ãæã¡ããã®ç¶ç¶çãªæ§æ Œãæå³ããŸã
å®æ°ã«ã¯ãè¡ãåããããã«æé»ã®ã¹ããŒã¹ãè¿œå ãããããšã¯ãããŸããã
-åºå®è¡ã®é·ã-0 ãšåãããšãæå³ããŸã -åºå®-è¡-é·ã-ãªã.
-fèªç±ãªè¡ã®é·ã-n
ãœãŒã¹ã®äžè¬çãªèªç±åœ¢åŒã®è¡ã§æåãç¡èŠãããåãèšå®ããŸã
ãã¡ã€ã«ã ããã©ã«ãå€ã¯132ã§ãã n å€å ãªããã€ãŸããè¡å šäœã
æå³ã®ããã -fèªç±è¡ã®é·ã-0 ãšåãããšãæå³ããŸã -ffree-line-length-none.
-fmax-èå¥å-é·ã=n
èš±å¯ãããèå¥åã®æ倧é·ãæå®ããŸãã äžè¬çãªå€ã¯31ïŒFortran 95ïŒããã³
63ïŒFortran2003ããã³Fortran2008ïŒã
-fimplicit-ãªã
æ瀺çãªãIMPLICITãã«ãã£ãŠãªãŒããŒã©ã€ããããªãéããæé»çãªå ¥åãèš±å¯ãããªãããšãæå®ããŸã
ã¹ããŒãã¡ã³ãã ããã¯ããã¹ãŠã®å é ã«ãæé»ã®ãªãããè¿œå ããã®ãšåãã§ãã
æé ã
-æ-4-æŽæ°-8
ãã¹ãŠã®ãINTEGERïŒKIND = 4ïŒããšã³ãã£ãã£ããINTEGERïŒKIND = 8ïŒããšã³ãã£ãã£ã«ããã¢ãŒãããŸãã ãKIND = 8ãã®å Žå
ãå©çšã§ããªãå Žåããšã©ãŒãçºè¡ãããŸãã ãã®ãªãã·ã§ã³ã¯æ³šæããŠäœ¿çšããå¿ èŠããããŸã
ãããŠããªãã®ã³ãŒãã«é©ããŠããªããããããŸããã æžå¿µãããå¯èœæ§ã®ããåéã«ã¯ã
å€éšæé ããEQUIVALENCEãããã³/ãŸãã¯ãCOMMONãã§ã®èª¿æŽãæ±çšã€ã³ã¿ãŒãã§ãŒã¹ã
BOZãªãã©ã«å®æ°å€æãããã³I / Oã äžéäœã®æ€æ»
ã«ãã£ãŠçæãããã翻蚳ãããFortranã³ãŒãã®è¡šçŸ -fdump-tree-ãªãªãžãã«ã§ããã
ææ¡ããŸããã
-fcray-ãã€ã³ã¿ãŒ
Cã®ãããªãã€ã³ã¿ãŒæ©èœãæäŸããCrayãã€ã³ã¿ãŒæ¡åŒµæ©èœãæå¹ã«ããŸãã
-fopenmp
OpenMPæ¡åŒµæ©èœãæå¹ã«ããŸãã ããã«ã¯ãèªç±åœ¢åŒã®OpenMP "ïŒ$ omp"ãã£ã¬ã¯ãã£ããå«ãŸããŸã
åºå®åœ¢åŒã®ãc $ ompãã* $ ompãããã³ãïŒ$ ompããã£ã¬ã¯ãã£ãããïŒ$ãæ¡ä»¶ä»ãã³ã³ãã€ã«
èªç±åœ¢åŒã®æ©åšãšãc $ããã* $ãããïŒ$ãã®åºå®åœ¢åŒã®æ©åšãããã³
ãªã³ã¯ãããšãOpenMPã©ã³ã¿ã€ã ã©ã€ãã©ãªããªã³ã¯ãããããã«ãªããŸãããªãã·ã§ã³ -fopenmp
å«æãã -åšæ³¢æ°.
-fno-range-check
å®æ°åŒã®ç°¡ç¥åã®çµæã®ç¯å²ãã§ãã¯ãç¡å¹ã«ããŸã
ã³ã³ãã€ã«ã ããšãã°ãGNU Fortranã¯ãã³ã³ãã€ã«æã«ãšã©ãŒãåºããŸãã
"a = 1. / 0"ãåçŽåããŸãã ãã®ãªãã·ã§ã³ã䜿çšãããšããšã©ãŒã¯çºçããããaãã¯
å€ã+ Infinityããå²ãåœãŠãããŸããã åŒãå€éšã®å€ã«è©äŸ¡ãããå Žå
["-HUGEïŒïŒ"ïŒ "HUGEïŒïŒ"]ã®é¢é£ç¯å²ã®å ŽåãåŒã¯ã-Infãã«çœ®ãæããããŸãã
ãŸãã¯å¿ èŠã«å¿ããŠã+ Infãã åæ§ã«ããDATA i / Z'FFFFFFFF '/ãã¯æŽæ°ã«ãªããŸã
ã»ãšãã©ã®ã·ã¹ãã ã§ãªãŒããŒãããŒããŸããã -fno-range-check å€ã¯ãã©ããã¢ã©ãŠã³ãããã
ãiãã¯ä»£ããã«-1ã«åæåãããŸãã
-freal-4-real-8
-freal-4-real-10
-freal-8-real-4
-freal-8-real-10
-freal-8-real-16
ãã¹ãŠã®ãREALïŒKIND = MïŒããšã³ãã£ãã£ããREALïŒKIND = NïŒããšã³ãã£ãã£ã«ããã¢ãŒãããŸãã ãREALïŒKIND = NïŒãã
䜿çšã§ããªãå Žåããšã©ãŒãçºè¡ãããŸãã ä»ã®ãã¹ãŠã®å®éã®çš®é¡ã®ã¿ã€ãã¯åœ±é¿ãåããŸãã
ãã®ãªãã·ã§ã³ã«ãã£ãŠã ãããã®ãªãã·ã§ã³ã¯æ³šæããŠäœ¿çšããå¿ èŠãããã
ããªãã®ã³ãŒãã æžå¿µãããå¯èœæ§ã®ããåéã«ã¯ãå€éšæé ã®åŒã³åºãã調æŽãå«ãŸããŸã
ãEQUIVALENCEãããã³/ãŸãã¯ãCOMMONãã§ã¯ãæ±çšã€ã³ã¿ãŒãã§ãŒã¹ãBOZãªãã©ã«å®æ°å€æã
ããã³I / Oã 翻蚳ãããFortranã®äžéè¡šçŸã®æ€æ»
ã³ãŒããã«ãã£ãŠçæããã -fdump-tree-ãªãªãžãã«ãããå§ãããŸãã
-std =STD
ããã°ã©ã ãæºæ ããããšãæåŸ ãããæšæºãæå®ããŸããããã¯ã次ã®ããããã§ããå¯èœæ§ããããŸãã
f95, f2003, f2008, ããŒãŸã㯠ã¬ã¬ã·ãŒã ã®ããã©ã«ãå€ STD is ããŒããæå®ããŸã
ã«ãã£ãŠãµããŒãããããã¹ãŠã®æ¡åŒµæ©èœãå«ãFortran95æšæºã®ã¹ãŒããŒã»ãã
GNU Fortranããã ããå»æ¢ãããæ¡åŒµæ©èœã«ã€ããŠã¯èŠåã衚瀺ãããŸãããæšå¥šãããŸããã
æ°ããã³ãŒãã§äœ¿çšããããã NS ã¬ã¬ã·ãŒ å€ã¯åçã§ãããèŠåã¯ãããŸãã
å»æ¢ãããæ¡åŒµæ©èœã§ãããå€ãéæšæºããã°ã©ã ã«åœ¹ç«ã€å ŽåããããŸãã NS f95, f2003
ãš f2008 å€ã¯ãFortran 95ãFortran 2003ãããã³
ããããFortran2008æšæºã ãšã©ãŒã¯ã
é¢é£ããèšèªæšæºãããã³èŠåã¯ãFortran77ã®æ©èœã«å¯ŸããŠäžããããŸãã
èš±å¯ãããŠããŸãããåŸã®èŠæ Œã§ã¯å»æ¢ãããŠããŸãã -std = f2008ts Fortran2008ãèš±å¯ããŸã
æè¡ä»æ§ïŒTSïŒ29113ã®è¿œå ãå«ãæšæº
FortranãšCã®çžäºéçšæ§ã
æå¹ã«ãã ãš ã«ã¹ã¿ãã€ãº ååŠç
ããªããã»ããµé¢é£ã®ãªãã·ã§ã³ã ã»ã¯ã·ã§ã³ãåç §ããŠãã ãã ååŠç ãš æ¡ä»¶ä»ãã® ç·šé for
ååŠçã®è©³çŽ°ã«ã€ããŠã¯ã ã°ãã©ã«ãã©ã³.
-cpp
-nocpp
ååŠçãæå¹ã«ããŸãã ãã¡ã€ã«æ¡åŒµåã
is .fpp, .FPP, .F, ãã«ãšã£ãŠ, .FTN, .F90, .F95, .F03 or .F08ã ãã®ãªãã·ã§ã³ã䜿çšããŠæåã§
ããããçš®é¡ã®Fortranãã¡ã€ã«ã®ååŠçãæå¹ã«ããŸãã
äžèšã®æ¡åŒµåã®ãããããæã€ãã¡ã€ã«ã®ååŠçãç¡å¹ã«ããã«ã¯ã
åŠå®åœ¢ïŒ -nocpp.
ããªããã»ããµã¯åŸæ¥ã®ã¢ãŒãã§å®è¡ãããŸãã ãã¡ã€ã«åœ¢åŒã®å¶éã
ç¹ã«è¡ã®é·ãã®å¶éã¯ãååŠçãããåºåã«ãé©çšãããããã
ã䜿çšããããšããå§ãããŸã -ffree-line-length-none or -åºå®-è¡-é·ã-ãªã
ãªãã·ã§ã³ã
-dM éåžžã®åºåã®ä»£ããã«ããã¹ãŠã®ã#defineããã£ã¬ã¯ãã£ãã®ãªã¹ããçæããŸãã
äºåå®çŸ©ããããã¯ããå«ããããªããã»ããµã®å®è¡äžã«å®çŸ©ããããã¯ãã
ããã«ãããèªåã®ããŒãžã§ã³ã§äºåå®çŸ©ãããŠãããã®ãèŠã€ããæ¹æ³ãåŸãããŸãã
ããªããã»ããµã ãã¡ã€ã«ããªããšä»®å®ããŸã foo.f90ã ã³ãã³ã
foo.f90ã«è§ŠããŸãã gfortran -cpp -E -dM foo.f90
äºåå®çŸ©ããããã¹ãŠã®ãã¯ãã衚瀺ãããŸãã
-dD ããã -dM XNUMXã€ã®ç¹ãé€ããŠïŒäºåå®çŸ©ããããã¯ããå«ãŸããŠããªãããšãããã³
ã#defineããã£ã¬ã¯ãã£ããšååŠçã®çµæã®äž¡æ¹ãåºåããŸãã äž¡æ¹ã®çš®é¡
åºåã¯æšæºåºåãã¡ã€ã«ã«éãããŸãã
-dN ããã -dDããã ãããã¯ãåã®ã¿ãåºåããå±éã¯åºåããŸããã
-dU ããã dD ãã ããå±éããããã¯ãããŸãã¯å®çŸ©ããã¹ããããŠãããã¯ãã®ã¿
ããªããã»ããµãã£ã¬ã¯ãã£ããåºåãããŸãã åºåã¯ãã®äœ¿çšãŸãã¯ãã¹ããŸã§é 延ãããŸã
ãã¯ã; ããã³ã#undefããã£ã¬ã¯ãã£ããããã¹ãããããæªå®çŸ©ã®ãã¯ãã«å¯ŸããŠåºåãããŸãã
æéã
-dI ååŠçã®çµæã«å ããŠããïŒincludeããã£ã¬ã¯ãã£ããåºåããŸãã
-fworkingãã£ã¬ã¯ããª
ããªããã»ããµåºåã§ã©ã€ã³ããŒã«ãŒã®çæãæå¹ã«ããŠãã³ã³ãã€ã©ãèš±å¯ããŸã
ååŠçæã«çŸåšã®äœæ¥ãã£ã¬ã¯ããªãç¥ã£ãŠããã ãã®ãªãã·ã§ã³ã
æå¹ã«ãããšãããªããã»ããµã¯æåã®ã©ã€ã³ããŒã«ãŒã®åŸã«XNUMXçªç®ã®ã©ã€ã³ããŒã«ãŒãåºåããŸã
çŸåšã®äœæ¥ãã£ã¬ã¯ããªã®åŸã«XNUMXã€ã®ã¹ã©ãã·ã¥ãç¶ããŸãã GCCã¯ããã䜿çšããŸã
ãã£ã¬ã¯ããªãååŠçãããå ¥åã«ååšããå Žåã次ã®ããã«çºè¡ããããã£ã¬ã¯ããªãšããŠ
äžéšã®ãããã°æ å ±åœ¢åŒã®çŸåšã®äœæ¥ãã£ã¬ã¯ããªã ãã®ãªãã·ã§ã³ã¯
ãããã°æ å ±ãæå¹ã«ãªã£ãŠããå Žåã¯æé»çã«æå¹ã«ãªããŸãããããã¯æ¬¡ã®æ¹æ³ã§çŠæ¢ã§ããŸãã
åŠå®ãããåœ¢åŒ -fno-äœæ¥ãã£ã¬ã¯ããªã ãã -P ã³ãã³ãã«ãã©ã°ããããŸã
lineã®å ŽåããïŒlineããã£ã¬ã¯ãã£ãã¯ãŸã£ããçºè¡ãããªãããããã®ãªãã·ã§ã³ã¯å¹æããããŸããã
-idirafter DIR
æ€çŽ¢ DIR ã€ã³ã¯ã«ãŒããã¡ã€ã«ã®å Žåããã ããã§æå®ããããã¹ãŠã®ãã£ã¬ã¯ããªã®åŸã«å®è¡ããŸã -I ãš
æšæºã®ã·ã¹ãã ãã£ã¬ã¯ããªã䜿ãæããããŸããã DIR ã·ã¹ãã ãšããŠæ±ãããŸã
ãã£ã¬ã¯ããªãå«ããŸãã dirã "="ã§å§ãŸãå Žåã "="ã¯
sysrootãã¬ãã£ãã¯ã¹; èŠã --sysroot ãš -isysroot.
-imultilib DIR
ã DIR ã¿ãŒã²ããåºæã®C ++ããããŒãå«ããã£ã¬ã¯ããªã®ãµããã£ã¬ã¯ããªãšããŠã
-iprefix æ¥é èŸ
æå® æ¥é èŸ åŸç¶ã®ãã¬ãã£ãã¯ã¹ãšã㊠-iwithprefix ãªãã·ã§ã³ã ã®å Žå æ¥é èŸ
ãã£ã¬ã¯ããªãè¡šããŸããæåŸã®ã/ããå«ããå¿ èŠããããŸãã
-isysroot DIR
ãã®ãªãã·ã§ã³ã¯ã --sysroot ãªãã·ã§ã³ã§ãããããããŒãã¡ã€ã«ã«ã®ã¿é©çšãããŸãã ãåç §ããŠãã ãã
--sysroot 詳现ã«ã€ããŠã¯ããªãã·ã§ã³ãåç §ããŠãã ããã
-iquote DIR
æ€çŽ¢ DIR ã#include "file"ãã§ãªã¯ãšã¹ããããããããŒãã¡ã€ã«ã®å Žåã®ã¿ã ã§ã¯ãªã
ã#includeããæ€çŽ¢"ãã§æå®ããããã¹ãŠã®ãã£ã¬ã¯ããªã®å -I ãšåã«
æšæºã®ã·ã¹ãã ãã£ã¬ã¯ããªã ããã DIR ã=ãã§å§ãŸããã=ãã¯ã«çœ®ãæããããŸã
sysrootãã¬ãã£ãã¯ã¹ã èŠã --sysroot ãš -isysroot.
-isystem DIR
æ€çŽ¢ DIR ããããŒãã¡ã€ã«ã®å Žåãã«ãã£ãŠæå®ããããã¹ãŠã®ãã£ã¬ã¯ããªã®åŸ -I ããããåã«
æšæºã®ã·ã¹ãã ãã£ã¬ã¯ããªã åãã«ãªãããã«ãã·ã¹ãã ãã£ã¬ã¯ããªãšããŠããŒã¯ããŸã
æšæºã®ã·ã¹ãã ãã£ã¬ã¯ããªã«é©çšãããç¹å¥ãªåŠçã ããã DIR ãã§å§ãŸã
"="ã®å Žåã "="ã¯sysrootãã¬ãã£ãã¯ã¹ã«çœ®ãæããããŸãã èŠã --sysroot ãš -isysroot.
-ãã¹ããã£ã³ã¯
æšæºã®ã·ã¹ãã ãã£ã¬ã¯ããªã§ããããŒãã¡ã€ã«ãæ€çŽ¢ããªãã§ãã ããã ãã£ã¬ã¯ããªã®ã¿
ããªããæå®ãã -I ãªãã·ã§ã³ïŒããã³çŸåšã®ãã¡ã€ã«ã®ãã£ã¬ã¯ããªïŒå Žåã¯ïŒ
é©åãªïŒãæ€çŽ¢ãããŸãã
-æªå®çŸ©
ã·ã¹ãã åºæãŸãã¯GCCåºæã®ãã¯ããäºåå®çŸ©ããªãã§ãã ããã äºåå®çŸ©ãããæšæº
ãã¯ãã¯å®çŸ©ããããŸãŸã§ãã
-Aè¿°èª=åç
è¿°èªã§ã¢ãµãŒã·ã§ã³ãäœæããŸã è¿°èª ãããŠçãã åçã ãã®ãã©ãŒã ã¯
å€ã圢åŒãããåªå -è¿°èªïŒåçïŒãããã¯åŒãç¶ããµããŒããããŠããŸãã
ã·ã§ã«ã®ç¹æ®æåã¯äœ¿çšããŸããã
-A-è¿°èª=åç
è¿°éšã䜿çšããŠã¢ãµãŒã·ã§ã³ããã£ã³ã»ã«ããŸã è¿°èª ãããŠçãã åç.
-C ã³ã¡ã³ããç Žæ£ããªãã§ãã ããã ãã¹ãŠã®ã³ã¡ã³ãã¯ãåºåãã¡ã€ã«ã«æž¡ãããŸãã
ãã£ã¬ã¯ãã£ããšãšãã«åé€ããããåŠçããããã£ã¬ã¯ãã£ãå ã®ã³ã¡ã³ãã®å Žåã
䜿çšãããšãã¯å¯äœçšã«åããå¿ èŠããããŸã -C; ããã¯ããªããã»ããµã«
ã³ã¡ã³ãã¯ããèªäœãããŒã¯ã³ãšããŠæ±ããŸãã ããšãã°ãã«è¡šç€ºãããã³ã¡ã³ã
ãã£ã¬ã¯ãã£ãã©ã€ã³ãšãªããã®ã®éå§ã¯ããã®ã©ã€ã³ãã«å€ããå¹æããããŸã
è¡ã®æåã®ããŒã¯ã³ããïŒãã§ã¯ãªããªã£ããããéåžžã®ãœãŒã¹è¡ã
èŠåïŒããã¯çŸåšãCã¹ã¿ã€ã«ã®ã³ã¡ã³ãã®ã¿ãåŠçããŸãã ããªããã»ããµã¯ãŸã
Fortranã¹ã¿ã€ã«ã®ã³ã¡ã³ããèªèããŸãã
-CC ãã¯ãå±éäžãå«ããã³ã¡ã³ããç Žæ£ããªãã§ãã ããã ãã㯠-Cé€ããŸã
ãã¯ãã«å«ãŸããã³ã¡ã³ãã¯ãåºåãã¡ã€ã«ã«ãæž¡ãããŸãã
ãã¯ããå±éãããŸãã
ã®å¯äœçšã«å ã㊠-C ãªãã·ã§ã³ã -CC ãªãã·ã§ã³ã¯ãã¹ãŠã®C ++ã¹ã¿ã€ã«ãåŒãèµ·ãããŸã
Cã¹ã¿ã€ã«ã®ã³ã¡ã³ãã«å€æããããã¯ãå ã®ã³ã¡ã³ãã ããã¯åŸã§é²ãããã§ã
ãœãŒã¹è¡ã®æ®ãã®éšåã誀ã£ãŠã³ã¡ã³ãã¢ãŠãããããšã«ãããã®ãã¯ãã®äœ¿çšã
ãã® -CC ãªãã·ã§ã³ã¯éåžžãlintã³ã¡ã³ãããµããŒãããããã«äœ¿çšãããŸãã
èŠåïŒããã¯çŸåšãCã¹ã¿ã€ã«ããã³C ++ã¹ã¿ã€ã«ã®ã³ã¡ã³ãã®ã¿ãåŠçããŸãã ããªããã»ããµã¯
Fortranã¹ã¿ã€ã«ã®ã³ã¡ã³ãã¯ãŸã èªèãããŠããŸããã
-Då
å®çŸ©1ã䜿çšããŠãååããã¯ããšããŠäºåå®çŸ©ããŸãã
-Då=å®çŸ©
ã®å 容 å®çŸ© ããŒã¯ã³åããã
'#define'ãã£ã¬ã¯ãã£ãã®å€æãã§ãŒãºXNUMXã ç¹ã«ãå®çŸ©ã¯
åã蟌ãŸããæ¹è¡æåã«ãã£ãŠåãæšãŠãããŸãã
ã·ã§ã«ãŸãã¯ã·ã§ã«ã®ãããªããã°ã©ã ããããªããã»ããµãåŒã³åºãå Žåã¯ãå¿ èŠã«ãªãããšããããŸã
ã·ã§ã«ã®åŒçšæ§æã䜿çšããŠãã¹ããŒã¹ãªã©ã®æåãä¿è·ããŸãã
ã·ã§ã«æ§æã§ã®æå³ã
ã³ãã³ãã©ã€ã³ã§é¢æ°ã®ãããªãã¯ããå®çŸ©ããå Žåã¯ããã®åŒæ°ãèšè¿°ããŸã
çå·ïŒååšããå ŽåïŒã®åã«æ¬åŒ§ãä»ããŠãªã¹ãããŸãã æ¬åŒ§ã¯
ã»ãšãã©ã®ã·ã§ã«ã«ãšã£ãŠæå³ãããã®ã§ããªãã·ã§ã³ãåŒçšããå¿ èŠããããŸãã shãšcshã§ã
ã-D'nameïŒargs ...ïŒ= definition 'ãã¯æ©èœããŸãã
-D ãš -U ãªãã·ã§ã³ã¯ãã³ãã³ãã©ã€ã³ã§æå®ãããé åºã§åŠçãããŸãã å šãŠ
-imacrosãã¡ã€ã«ããã³-includeãã¡ã€ã«ãªãã·ã§ã³ã¯ããã¹ãŠã®-Dããã³-Uãªãã·ã§ã³ã®åŸã«åŠçãããŸãã
-H ä»ã®éåžžã®ã¢ã¯ãã£ããã£ã«å ããŠã䜿çšãããåããããŒãã¡ã€ã«ã®ååãåºåããŸãã å
ååã¯ããïŒincludeãã¹ã¿ãã¯ã®æ·±ãã瀺ãããã«ã€ã³ãã³ããããŠããŸãã
-P ããªããã»ããµããã®åºåã§ã®ã©ã€ã³ããŒã«ãŒã®çæãçŠæ¢ããŸãã ããã¯
Cã³ãŒãã§ã¯ãªããã®ã§ããªããã»ããµãå®è¡ãããšãã«åœ¹ç«ã¡ãéä¿¡ãããŸã
ã©ã€ã³ããŒã«ãŒã«ãã£ãŠæ··ä¹±ããå¯èœæ§ã®ããããã°ã©ã ã«ã
-Uå
以åã®å®çŸ©ããã£ã³ã»ã«ããŸã åãçµã¿èŸŒã¿ãŸãã¯ä»å±ã®ãããã -D ãªãã·ã§ã³ãéžæããŸãã
ãªãã·ã§ã³ ããž èŠæ± or æãã ãšã©ãŒ ãš èŠå
ãšã©ãŒã¯ãGNUFortranã³ã³ãã€ã©ãã³ã³ãã€ã«ã§ããªãããšãå ±åãã蚺æã¡ãã»ãŒãžã§ãã
é¢é£ãããœãŒã¹ã³ãŒãã ã³ã³ãã€ã©ã¯ããã°ã©ã ãåŠçãç¶ããŸã
ãããã°ãæ¯æŽããããã«ããã«ãšã©ãŒãå ±åããããšããŸãããã³ã³ãã€ã«ããããã®ã¯çæãããŸãã
åºåã
èŠåã¯ãæ¬è³ªçã«ã§ã¯ãªãæ§é ãå ±åãã蚺æã¡ãã»ãŒãžã§ãã
ãšã©ãŒããããŸããããªã¹ã¯ãããããããã°ã©ã ã«ãã°ãããå¯èœæ§ãé«ãããšã瀺åããŠããŸãã
ããã§ãªãéã -ãšã©ãŒ ãæå®ãããŠããå Žåãããã°ã©ã ã®ã³ã³ãã€ã«ã劚ããããšã¯ãããŸããã
ãªãã·ã§ã³ã§å§ãŸãå€ãã®ç¹å®ã®èŠåããªã¯ãšã¹ãã§ããŸã -WäŸãã°ã -æé»ã®äºè§£
æé»ã®å®£èšã«é¢ããèŠåãèŠæ±ããŸãã ãããã®ç¹å®ã®èŠåãªãã·ã§ã³ã®ããããã
åŠå®çãªåœ¢ã§å§ãŸããŸã -ããã- èŠåããªãã«ããŸãã äŸãã°ã -æé»ç.
ãã®ããã¥ã¢ã«ã«ã¯ãXNUMXã€ã®åœ¢åŒã®ãã¡ãããã©ã«ãã§ã¯ãªãæ¹ã®ã¿ãèšèŒãããŠããŸãã
ãããã®ãªãã·ã§ã³ã¯ãGNUFortranã«ãã£ãŠçæããããšã©ãŒãšèŠåã®éãšçš®é¡ãå¶åŸ¡ããŸãã
-fmax-errors =n
ãšã©ãŒã¡ãã»ãŒãžã®æ倧æ°ãã«å¶éããŸã nããã®æç¹ã§GNUFortranã¯è±åŽããŸã
ãœãŒã¹ã³ãŒãã®åŠçãç¶è¡ããããšããã®ã§ã¯ãªãã ããã n ã¯0ããããŸãã
çæããããšã©ãŒã¡ãã»ãŒãžã®æ°ã®å¶éã
-fsyntaxã®ã¿
ã³ãŒãã«æ§æãšã©ãŒããªãã確èªããŸãããå®éã«ã¯ã³ã³ãã€ã«ããªãã§ãã ããã ããã«ããã
ã³ãŒãã«ååšããåã¢ãžã¥ãŒã«ã®ã¢ãžã¥ãŒã«ãã¡ã€ã«ããã ããä»ã®åºåãã¡ã€ã«ã¯ãããŸããã
-è¡åŠè
Fortran95ã®æ¡åŒµæ©èœã®äœ¿çšã«é¢ããèŠåãçºè¡ããŸãã -è¡åŠè ã«ãé©çšãããŸã
ã®äœ¿çšãªã©ãGNUFortranãœãŒã¹ãã¡ã€ã«ã§çºçããCèšèªæ§é \e
ã#includeãã®ãããªãã£ã¬ã¯ãã£ãå ã®æåå®æ°å ã
æå¹ãªFortran95ããã°ã©ã ã¯ããã®ãªãã·ã§ã³ã®æç¡ã«ãããããæ£ããã³ã³ãã€ã«ããå¿ èŠããããŸãã
ãã ãããã®ãªãã·ã§ã³ããªãå Žåãç¹å®ã®GNUæ¡åŒµæ©èœãšåŸæ¥ã®Fortranæ©èœ
åæ§ã«ãµããŒããããŠããŸãã ãã®ãªãã·ã§ã³ã䜿çšãããšããããã®å€ããæåŠãããŸãã
äžéšã®ãŠãŒã¶ãŒã¯äœ¿çšããããšããŸã -è¡åŠè ããã°ã©ã ã®é©åæ§ããã§ãã¯ããŸãã 圌ãã¯ããã«èŠã€ããŸã
ããã¯åœŒããæãã§ããããšãå®å šã«ã¯è¡ããªããšããããš---ããã¯ããã€ãã®éæšæºçãªæ £è¡ãèŠã€ããŸããã
ãã¹ãŠã§ã¯ãªãã ãã ãããã®åéã§ã®GNUFortranã®æ¹åã¯å€§æè¿ã§ãã
ããã¯ããšçµã¿åãããŠäœ¿çšââããå¿ èŠããããŸã -std = f95, -std = f2003 or -std = f2008.
-è¡åŠçãšã©ãŒ
ããã -è¡åŠè ãã ããèŠåã§ã¯ãªããšã©ãŒãçæãããŸãã
-å£
åé¿ããããšããå§ããã䜿çšæ³ã«é¢é£ããŠäžè¬çã«äœ¿çšãããèŠåãªãã·ã§ã³ãæå¹ã«ããŸã
ãããŠãåé¿ããã®ã¯ç°¡åã ãšç§ãã¡ã¯ä¿¡ããŠããŸãã ããã«ã¯çŸåšå«ãŸããŠããŸã -ã¯ãªã¢ã·ã³ã°,
-ã¯ã³ããŒãµã³ã, -Wã³ã³ããŒãžã§ã³, -é©ãã¹ã, -Wcãã€ã³ãã£ã³ã°ã¿ã€ã, -Wintrinsics-std,
-ã¿ããªã, -Wintrinsic-ã·ã£ããŠ, -Wline-åãæšãŠ, -Wtarget-ã©ã€ãã¿ã€ã , -Wreal-q-å®æ°
ãš -æªäœ¿çš.
-ã¯ãªã¢ã·ã³ã°
ãããŒåŒæ°ã®ãšã€ãªã¢ã·ã³ã°ã®å¯èœæ§ã«ã€ããŠèŠåããŸãã å ·äœçã«ã¯ãåããã©ãããèŠåããŸã
å®éã®åŒæ°ã¯ããINTENTïŒINïŒãã®ãããŒåŒæ°ãšãããŒã«é¢é£ä»ããããŠããŸã
æ瀺çãªã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããåŒã³åºãã§ã®ãINTENTïŒOUTïŒãã䜿çšããåŒæ°ã
次ã®äŸã¯èŠåãããªã¬ãŒããŸãã
ã€ã³ã¿ãã§ãŒã¹
ãµãã«ãŒãã³barïŒaãbïŒ
æŽæ°ãintentïŒinïŒ:: a
æŽæ°ãintentïŒoutïŒ:: b
ãµãã«ãŒãã³ã®çµäº
ãšã³ãã€ã³ã¿ãŒãã§ã€ã¹
æŽæ°:: a
ã³ãŒã«ããŒïŒaãaïŒ
-ã¯ã³ããŒãµã³ã
ç¶ç¶çãªæåå®æ°ã§ã¢ã³ããµã³ããæ¬ èœããŠããããšãèŠåããŸãã èŠåãåºãããŸã
ã -ã¯ã³ããŒãµã³ã, -è¡åŠè , -std = f95, -std = f2003 ãš -std = f2008ã 泚ïŒãªã
ç¶ç¶æåå®æ°ã§æå®ãããã¢ã³ããµã³ããGNUFortranã¯ç¶ç¶ãæ³å®ããŸã
ã¢ã³ããµã³ãã®åŸã®æåã®éã³ã¡ã³ããé空çœæå
ç¶ç¶ã
-Warray-äžæç
ã³ã³ãã€ã©ã«ãã£ãŠçæãããäžæçãªé åã«ã€ããŠèŠåããŸãã ã«ãã£ãŠçæãããæ å ±
ãã®èŠåã¯ããã®ãããªäžæçãªãã®ãåé¿ããããã«ãæé©åã«åœ¹ç«ã€å ŽåããããŸãã
-Wcãã€ã³ãã£ã³ã°ã¿ã€ã
å€æ°ãCçžäºéçšå¯èœã§ãªãå¯èœæ§ãããå Žåã«èŠåããŸãã ç¹ã«ã
å€æ°ã¯ãã䜿çšãã代ããã«ãããã©ã«ãã®çš®é¡ã®çµã¿èŸŒã¿åã䜿çšããŠå®£èšãããŠããŸã
çµã¿èŸŒã¿ã®ãISO_C_Bindingãã§Cã®çžäºéçšæ§ã®ããã«å®çŸ©ãããçš®é¡ã®ãã©ã¡ãŒã¿ãŒ
ã¢ãžã¥ãŒã«ã ãã®ãªãã·ã§ã³ã¯ã -å£.
-Wcharacter-åãæšãŠ
æåã®å²ãåœãŠã«ãã£ãŠå²ãåœãŠãããæååãåãæšãŠãããå Žåã«èŠåããŸãã
-Wline-åãæšãŠ
ãœãŒã¹ã³ãŒãè¡ãåãæšãŠããããšãã«èŠåããŸãã ãã®ãªãã·ã§ã³ã¯ã -å£.
-Wã³ã³ããŒãžã§ã³
åŒã®å€ãå€æŽããå¯èœæ§ã®ããæé»çãªå€æã«ã€ããŠèŠåãã
å€æåŸã ã«ãã£ãŠæ瀺ããã -å£.
-Wconversion-è¿œå
ç°ãªãã¿ã€ãããã³çš®é¡éã®æé»çãªå€æã«ã€ããŠèŠåããŸãã
-ãŠã§ã¯ã¹ãã©
åé¡ã«ãªãå¯èœæ§ã®ããèšèªæ©èœã®äœ¿çšã«é¢ããããã€ãã®èŠåãªãã·ã§ã³ãæå¹ã«ããŸãã
ããã¯çŸåšå«ãŸããŠããŸã -Wcompare-reals ãš -Wunused-ãã©ã¡ãŒã¿.
-Wimplicit ã€ã³ã¿ãŒãã§ã€ã¹
æ瀺çãªã€ã³ã¿ãŒãã§ã€ã¹ãªãã§ããã·ãŒãžã£ãåŒã³åºãããå Žåã«èŠåããŸãã ããã¯ãã§ãã¯ããã ãã§ããããšã«æ³šæããŠãã ãã
æ瀺çãªã€ã³ã¿ãŒãã§ã€ã¹ãååšããããšã 宣èšãããã€ã³ã¿ãŒãã§ãŒã¹ããã§ãã¯ãããªã
ããã°ã©ã ãŠãããéã§äžè²«ããŠããŸãã
-æé»ã®æé
æ瀺çãªã€ã³ã¿ãŒãã§ãŒã¹ãæããªãããŸãã¯ãããŠããªãããã·ãŒãžã£ãåŒã³åºãããå Žåã«èŠåãã
ãEXTERNALããšããŠå®£èšãããŸããã
-Wintrinsics-std
èŠåããå Žå ã°ãã©ã«ãã©ã³ ã§å©çšã§ããªãçµã¿èŸŒã¿é¢æ°ã®ãããªååã®ããã·ãŒãžã£ãèŠã€ããŸã
çŸåšéžæãããŠããæšæºïŒ -æšæºïŒãããŠããããEXTERNALãããã·ãŒãžã£ãšããŠæ±ããŸãã
ããã®ã -ãã©ãŒã«ã€ã³ããªã³ã·ã㯠ãã®åäœãããªã¬ãŒãããåžžã«ãªã³ã¯ããããã«äœ¿çšã§ããŸã
éžæããèŠæ Œã«é¢ä¿ãªããæ¬è³ªçã«ã
-Wreal-q-å®æ°
real-literal-constantã«ãqãææ°æåãå«ãŸããŠããå Žåã«èŠåãçæããŸãã
-é©ãã¹ã
ãçããããã³ãŒãæ§é ãæ€åºãããå Žåã«èŠåãçæããŸãã ãã®é
æè¡çã«åæ³ã§ãããããã¯éåžžããšã©ãŒãçºçããããšã瀺ããŸãã
ããã«ãããçŸåšã次ã®ç¶æ³ã§èŠåãçæãããŸãã
ã»INTEGER SELECTæ§æã«ã¯ãäžäœãšããŠäžèŽããããšã®ãªãCASEããããŸã
å€ãäžéå€ããã倧ããã
ã»LOGICAL SELECTã³ã³ã¹ãã©ã¯ãã«ã¯ãXNUMXã€ã®CASEã¹ããŒãã¡ã³ãããããŸãã
ã»TRANSFERã¯ãå®å ãããçããœãŒã¹ãæå®ããŸãã
ã»é¢æ°çµæã®åã¯ãåãåã§è€æ°å宣èšãããŸãã ããã
-è¡åŠè ãŸãã¯æšæºæºæ ã¢ãŒããæå¹ã«ãªã£ãŠããå Žåãããã¯ãšã©ãŒã§ãã
ã»ãCHARACTERãå€æ°ã¯è² ã®é·ãã§å®£èšãããŠããŸãã
-Wã¿ã
ããã©ã«ãã§ã¯ãã¿ãã¯ç©ºçœãšããŠåãå ¥ããããŸãããã¿ãã¯Fortranã®ã¡ã³ããŒã§ã¯ãããŸãã
ãã£ã©ã¯ã¿ãŒã»ããã ç¶ç¶è¡ã®å Žåãã¿ãã®åŸã«1ãã9ãŸã§ã®æ°åãç¶ããŸãã
ã -ã¿ããªã ã¿ããæ€åºããããšãèŠåãçºè¡ãããŸãã ããŒãã
-ã¿ããªã ã®ããã«ã¢ã¯ãã£ãã§ã -è¡åŠè , -std = f95, -std = f2003, -std = f2008 ãš -å£.
-ã¯ã³ããŒãããŒ
æ°å€å®æ°åŒãæ€åºããããšãã«èŠåãçæããŸããããã«ããã
ã³ã³ãã€ã«äžã®ã¢ã³ããŒãããŒã
-Wintrinsic-ã·ã£ããŠ
ãŠãŒã¶ãŒå®çŸ©ã®ããã·ãŒãžã£ãŒãŸãã¯ã¢ãžã¥ãŒã«ã®ããã·ãŒãžã£ãŒãããšåãååã§ããå Žåã«èŠåããŸãã
å åšç; ãã®å Žåãæ瀺çãªã€ã³ã¿ãŒãã§ãŒã¹ãŸãã¯ãEXTERNALããŸãã¯ãINTRINSICã
åŸã§åŒã³åºããç®çã®å Žæã«è§£æ±ºããã«ã¯ã宣èšãå¿ èŠã«ãªãå ŽåããããŸã
æ¬è³ªç/æé ã ãã®ãªãã·ã§ã³ã¯ã -å£.
-Wunused-ãããŒåŒæ°
æªäœ¿çšã®ãããŒåŒæ°ã«ã€ããŠèŠåããŸãã ãã®ãªãã·ã§ã³ã¯ã -å£.
-Wunused-ãã©ã¡ãŒã¿
ã«åã㊠gccã®ã®æå³ -Wunused-ãã©ã¡ãŒã¿, ã°ãã©ã«ãã©ã³ããã®å®è£
ãªãã·ã§ã³ã¯ãæªäœ¿çšã®ãããŒåŒæ°ã«ã€ããŠèŠåããŸããïŒãåç §ïŒ -Wunused-ãããŒåŒæ°
æªäœ¿çšã®ãPARAMETERãå€ã«ã€ããŠã -Wunused-ãã©ã¡ãŒã¿ å«ãŸããŠããªã -å£ ããã
ã«ãã£ãŠæ瀺ããã -å£ -ãŠã§ã¯ã¹ãã©.
-Walign-ã³ã¢ã³ãº
ããã©ã«ãã§ã¯ã ã°ãã©ã«ãã©ã³ å€æ°ãé©åã«åã蟌ãŸããæ©äŒãããå Žåã¯èŠåããŸã
ãCOMMONããããã¯å ã®é 眮ã ãã®èŠåã¯ã次ã®æ¹æ³ã§ãªãã«ã§ããŸãã
-Wno-align-commonsã åç § -falign-commons.
-æ©èœã®æé€
é¢æ°ã®åŒã³åºãããã«ãã£ãŠæå¹åãããæé©åã«ãã£ãŠæé€ãããå Žåã«èŠåããŸãã
-ffrontend-æé©å ãªãã·ã§ã³ãéžæããŸãã
-Wrealloc-lhs
ã³ã³ãã€ã©ãå²ãåœãŠãŸãã¯åå²ãåœãŠã®ããã«ã³ãŒããæ¿å ¥ããå¯èœæ§ãããå Žåã«èŠåãã
åºæã®å²ãåœãŠã«ãããåºæåã®å²ãåœãŠå¯èœãªé åå€æ°ã ãããã«ãŒãã§ã¯ã
Fortran 2003åå²ãåœãŠæ©èœã¯ãããã©ãŒãã³ã¹ãäœäžãããå¯èœæ§ããããŸãã é åã
ãã§ã«æ£ãã圢ç¶ã§å²ãåœãŠãããŠããå Žåã¯ãã¢ã¬ã€å šäœã®é åä»æ§ã®äœ¿çšãæ€èšããŠãã ãã
ïŒäŸïŒ "ïŒïŒãïŒã:)"ïŒåå²ãåœãŠãé²ãããã®å·ŠåŽã®å€æ°
ãã§ãã¯ã ã³ã³ãã€ã©ãèŠåã衚瀺ããå Žåã§ããèŠåã衚瀺ãããå Žåãããããšã«æ³šæããŠãã ããã
åå²ãåœãŠãã§ãã¯ãæé©åããŸãã ããšãã°ãå³åŽã«ãå«ãŸããŠããå Žå
åãå€æ°ã«ã¹ã«ã©ãŒãæãããã®ã ãåç §ããŠãã ãã -frealloc-lhs.
-Wrealloc-lhs-all
ã³ã³ãã€ã©ãã®å²ãåœãŠãŸãã¯åå²ãåœãŠã®ããã«ã³ãŒããæ¿å ¥ãããšãã«èŠåããŸã
å²ãåœãŠå¯èœãªå€æ°ã ããã«ã¯ãã¹ã«ã©ãŒãšæŽŸçåãå«ãŸããŸãã
-Wcompare-reals
å®æ°åãŸãã¯è€çŽ æ°åãæ¯èŒãââããšãã«ãçãããçãããªãããèŠåããŸãã ãã®ãªãã·ã§ã³ã¯
ã«ãã£ãŠæ瀺ããã -ãŠã§ã¯ã¹ãã©.
-Wtarget-ã©ã€ãã¿ã€ã
ãã€ã³ã¿å²ãåœãŠã®ãã€ã³ã¿ããã®ã¿ãŒã²ãããããé·ãå¯èœæ§ãããå Žåã«èŠåããŸãã ãã®
ãªãã·ã§ã³ã¯ã«ãã£ãŠæ瀺ãããŸã -å£.
-ãšã©ãŒ
ãã¹ãŠã®èŠåããšã©ãŒã«å€ããŸãã
ãããã®ããã€ãã¯ãFortranã§æžãããããã°ã©ã ãã³ã³ãã€ã«ãããšãã«å¹æããããŸããã
ãªãã·ã§ã³ for ãããã®ã³ã° ããã°ã©ã or GNU Fortran
GNU Fortranã«ã¯ãããã°ã©ã ãŸãã¯ããã°ã©ã ã®ãããã°ã«äœ¿çšãããããŸããŸãªç¹å¥ãªãªãã·ã§ã³ããããŸãã
GNUFortranã³ã³ãã€ã©ã
-fdump-fortran-ãªãªãžãã«
ãœãŒã¹ããã°ã©ã ãå éšã«å€æããåŸãå éšè§£æããªãŒãåºåããŸã
è¡šçŸã GNUFortranã³ã³ãã€ã©èªäœã®ãããã°ã«ã®ã¿æ¬åœã«åœ¹ç«ã¡ãŸãã
-fdump-fortran-æé©å
ããã³ããšã³ãã®æé©ååŸã«è§£æããªãŒãåºåããŸãã ãããã°ã«ã®ã¿æ¬åœã«åœ¹ç«ã¡ãŸã
GNUFortranã³ã³ãã€ã©èªäœã
-fdump-解æããªãŒ
ãœãŒã¹ããã°ã©ã ãå éšã«å€æããåŸãå éšè§£æããªãŒãåºåããŸã
è¡šçŸã GNUFortranã³ã³ãã€ã©èªäœã®ãããã°ã«ã®ã¿æ¬åœã«åœ¹ç«ã¡ãŸãã
ãã®ãªãã·ã§ã³ã¯éæšå¥šã§ãã 代ããã«ã-fdump-fortran-originalãã䜿çšããŠãã ããã
-ffpe-trap =ãªã¹ã
æå¹ã«ããæµ®åå°æ°ç¹äŸå€ãã©ããã®ãªã¹ããæå®ããŸãã ã»ãšãã©ã®ã·ã¹ãã ã§ã¯ã
æµ®åå°æ°ç¹äŸå€ãçºçãããã®äŸå€ã®ãã©ãããæå¹ã«ãªããŸããSIGFPE
ã·ã°ãã«ãéä¿¡ãããããã°ã©ã ãäžæ¢ãããã«åœ¹ç«ã€ã³ã¢ãã¡ã€ã«ãçæãããŸãã
ãããã°ã ãªã¹ã 次ã®ïŒãããã空ã®ïŒã³ã³ãåºåãã®ãªã¹ãã§ã
äŸå€ïŒ ç¡å¹ ïŒãSQRTïŒ-1.0ïŒããªã©ã®ç¡å¹ãªæµ®åå°æ°ç¹æŒç®ïŒã ãŒã
ïŒãŒãé€ç®ïŒã ãªãŒããŒãã㌠ïŒæµ®åå°æ°ç¹æŒç®ã§ã®ãªãŒããŒãããŒïŒã ã¢ã³ããŒãããŒ
ïŒæµ®åå°æ°ç¹æŒç®ã§ã®ã¢ã³ããŒãããŒïŒã äžæ£ç¢º ïŒäžã®ç²ŸåºŠã®åªå€±
æäœïŒãããã³ éæ£èŠåæ° ïŒéæ£èŠå€ã§å®è¡ãããæäœïŒã æåã®XNUMXã€
äŸå€ã¯754ã€ã®IEEEXNUMXäŸå€ã«å¯Ÿå¿ããŸãããæåŸã®XNUMXã€ïŒéæ£èŠåæ°)
IEEE 754æšæºã®äžéšã§ã¯ãããŸããããããã€ãã®äžè¬çãªã¢ãŒããã¯ãã£ã§å©çšã§ããŸã
x86ãªã©ã
æåã®XNUMXã€ã®äŸå€ïŒç¡å¹, ãŒã, ãªãŒããŒãããŒïŒãã°ãã°æ·±å»ãªããšã瀺ã
ãšã©ãŒãããã³ããã°ã©ã ã«ãããã®äŸå€ãåŠçããããã®èŠå®ããªãéãã
ãããã®XNUMXã€ã®äŸå€ã«å¯ŸããŠãã©ãããæå¹ã«ããããšã¯ãããããè¯ãèãã§ãã
ã»ãšãã©ã§ã¯ãªãã«ããŠããå€ãã®æµ®åå°æ°ç¹æŒç®ã§ã¯ãäžžããåå ã§ç²ŸåºŠãäœäžããŸãã
ãããã£ãŠããffpe-trap = inexactãã¯å®éã«ã¯é¢çœããªãå¯èœæ§ããããŸãã
ããã©ã«ãã§ã¯ãäŸå€ãã©ããã¯æå¹ã«ãªã£ãŠããŸããã
-fno-ããã¯ãã¬ãŒã¹
é倧ãªã©ã³ã¿ã€ã ãšã©ãŒãçºçããå ŽåããŸãã¯èŽåœçãªä¿¡å·ãéä¿¡ãããå Žå
ïŒã»ã°ã¡ã³ããŒã·ã§ã³éåãäžæ£ãªåœä»€ããã¹ãšã©ãŒãæµ®åå°æ°ç¹äŸå€ãããã³
ã¢ã¯ã·ã§ã³ãæã€ä»ã®POSIXã·ã°ãã« ïŒãFortranã©ã³ã¿ã€ã ã©ã€ãã©ãªã¯
ãšã©ãŒã®ããã¯ãã¬ãŒã¹ãåºåããŸãã ã-fno-backtraceãã¯ãããã¯ãã¬ãŒã¹ã®çæãç¡å¹ã«ããŸãã
ãã®ãªãã·ã§ã³ã¯ãFortranã¡ã€ã³ããã°ã©ã ã®ã³ã³ãã€ã«ã«ã®ã¿åœ±é¿ããŸãã
ãªãã·ã§ã³ for ãã£ã¬ã¯ããªã«ãžã§ããéå§ããŸãã ãµãŒã
ãããã®ãªãã·ã§ã³ã¯ãGNUFortranããINCLUDEãã§æå®ããããã¡ã€ã«ãæ€çŽ¢ããæ¹æ³ã«åœ±é¿ããŸãã
ãã£ã¬ã¯ãã£ããšã以åã«ã³ã³ãã€ã«ãããã¢ãžã¥ãŒã«ãæ€çŽ¢ããå Žæã
ãŸããã«ãã£ãŠäœ¿çšãããæ€çŽ¢ãã¹ã«ã圱é¿ããŸã cpp FortranãœãŒã¹ãååŠçããããã«äœ¿çšãããå Žåã
-IDIR
ãããã¯ããINCLUDEããã£ã¬ã¯ãã£ãïŒããã³ã#includeãïŒã®è§£éã«åœ±é¿ããŸãã
ã®æ什 cpp ããªããã»ããµïŒã
ãŸããã®äžè¬çãªåäœã«ã泚æããŠãã ãã -I ãINCLUDEãã¯ãšã»ãŒåãã§ã
-I ã«ã#includeããä»ã㊠cpp ããªããã»ããµãæ¢ããŠããããšã«é¢ã㊠ããããŒ.gcc
ãã¡ã€ã«ãä»ã®ãã®ãããªãã®ã
ãã®ãã¹ã¯ãæ€çŽ¢ã«ã䜿çšãããŸã .mod 以åã«ã³ã³ãã€ã«ãããã¢ãžã¥ãŒã«ã
ãUSEãã¹ããŒãã¡ã³ãã§å¿ èŠã§ãã
-JDIR
ãã®ãªãã·ã§ã³ã¯ã©ãã«çœ®ãããæå®ããŸã .mod ã³ã³ãã€ã«ãããã¢ãžã¥ãŒã«ã®ãã¡ã€ã«ã ãããè¿œå ãããŸã
ãUSEãã¹ããŒãã¡ã³ãã§æ€çŽ¢ãããã£ã¬ã¯ããªã®ãªã¹ãã«ç§»åããŸãã
ããã©ã«ãã¯çŸåšã®ãã£ã¬ã¯ããªã§ãã
-fintrinsic-modules-path DIR
ãã®ãªãã·ã§ã³ã¯ãã³ã³ãã€ã«æžã¿ã®çµã¿èŸŒã¿ã¢ãžã¥ãŒã«ããªãå Žåã¯ããã®å Žæãæå®ããŸã
ã³ã³ãã€ã©ãŒãäºæããããã©ã«ãã®å Žæã
圱é¿å ã é£çµ æé
ãããã®ãªãã·ã§ã³ã¯ãã³ã³ãã€ã©ããªããžã§ã¯ããã¡ã€ã«ãå®è¡å¯èœãã¡ã€ã«ã«ãªã³ã¯ãããšãã«æ©èœããŸã
åºåãã¡ã€ã«ã ã³ã³ãã€ã©ããªã³ã¯ã¹ããããå®è¡ããŠããªãå Žåããããã¯ç¡æå³ã§ãã
-éç-libgfortran
ãæäŸããã·ã¹ãã äž libgfortran å ±æã©ã€ãã©ãªããã³éçã©ã€ãã©ãªãšããŠããã®ãªãã·ã§ã³
éçããŒãžã§ã³ã®äœ¿çšã匷å¶ããŸãã ã®å ±æããŒãžã§ã³ããªãå Žå libgfortran 建èšãããŸãã
ã³ã³ãã€ã©ãŒãæ§æãããŠããå Žåããã®ãªãã·ã§ã³ã¯å¹æããããŸããã
圱é¿å ã©ã³ã¿ã€ã è¡å
ãããã®ãªãã·ã§ã³ã¯ãGNUFortranã§ã³ã³ãã€ã«ãããããã°ã©ã ã®å®è¡æã®åäœã«åœ±é¿ããŸãã
-fconvert =å€æ
ãã©ãŒããããããŠããªããã¡ã€ã«ã®ããŒã¿ã®è¡šçŸãæå®ããŸãã å€æã«æå¹ãªå€
ã«ã¯æ¬¡ã®å€ããããŸã: ãã€ãã£ãã ããã©ã«ã; swapãããã°ãšã³ãã£ã¢ã³ãšãªãã«ãšã³ãã£ã¢ã³ãå ¥ãæ¿ããŸãã ããã°ãšã³ãã£ã¢ã³ã«ã¯
ãã©ãŒããããããŠããªããã¡ã€ã«ã®ããã°ãšã³ãã£ã¢ã³è¡šçŸã ãªãã«ãšã³ãã£ã¢ã³ããªãã«ãšã³ãã£ã¢ã³ã䜿çš
ãã©ãŒããããããŠããªããã¡ã€ã«ã®è¡šçŸã
ãã® ãªãã·ã§ã³ æã£ãŠããŸã an å¹æ ã® ã〠äžå€ in ã ã¡ã€ã³ ããã°ã©ã ã ãã® ãå€æã æå®å
ãš ã GFORTRAN_CONVERT_UNIT ç°å¢ å€æ° ãªãŒããŒã©ã€ã ã ããã©ã«ã æå®ã® by
-fconvert.
-frecord-marker =é·ã
ãã©ãŒããããããŠããªããã¡ã€ã«ã®ã¬ã³ãŒãããŒã«ãŒã®é·ããæå®ããŸãã ã®æå¹ãªå€ é·ã
ããã©ã«ãã¯4ã§ãã ãã® is ä»ãšã¯ç°ãªã from å ããŒãžã§ã³ of ã°ãã©ã«ãã©ã³,
ããã¯ãã»ãšãã©ã®ã·ã¹ãã ã§ããã©ã«ãã®ã¬ã³ãŒãããŒã«ãŒã®é·ã8ãæå®ããŸããã ããªãããããå Žåã¯
以åã®ããŒãžã§ã³ã®ãšäºææ§ã®ãããã¡ã€ã«ã®èªã¿åããŸãã¯æžã蟌㿠ã°ãã©ã«ãã©ã³ã«ã¯
-frecord-marker = 8.
-fmax-subrecord-length =é·ã
ãµãã¬ã³ãŒãã®æ倧é·ãæå®ããŸãã é·ãã®æ倧蚱容å€ã¯
2147483639ããããããã©ã«ãã§ãã gfortranã§ã®äœ¿çšã«ã®ã¿æ¬åœã«åœ¹ç«ã¡ãŸã
ãã¹ãã¹ã€ãŒãã
-fsign-ãŒã
æå¹ã«ãããšã笊å·ããããèšå®ãããå€ãŒãã®æµ®åå°æ°ç¹æ°ãæžã蟌ãŸããŸã
ãã©ãŒããããããåºåã§ã¯è² ã®æ°ãšããŠæ±ããããSIGNãã§ã¯è² ã®æ°ãšããŠæ±ãããŸã
æ¬è³ªçã -fno-sign-zero ãŒãå€ïŒãŸãã¯å€ïŒã®è² ã®ç¬Šå·ãåºåããŸãã
I / Oã®å Žåã¯ãŒãã«äžžããããŸãïŒããSIGNãçµã¿èŸŒã¿é¢æ°ã§ã¯ãŒããæ£ã®æ°ãšèŠãªããŸã
Fortran77ãšã®äºææ§ã®ãããããã©ã«ã㯠-fsign-ãŒã.
ãªãã·ã§ã³ for ã³ãŒã äžä»£ èŠå
ãããã®ãã·ã³ã«äŸåããªããªãã·ã§ã³ã¯ãã³ãŒãã§äœ¿çšãããã€ã³ã¿ãŒãã§ã€ã¹èŠåãå¶åŸ¡ããŸã
äžä»£ã
ãããã®ã»ãšãã©ã«ã¯ãæ£ãšè² ã®äž¡æ¹ã®åœ¢åŒããããŸãã ã®è² ã®åœ¢åŒ -ãµãµãŒ ã«ãªã
-fno-fooã 以äžã®è¡šã§ã¯ããã©ãŒã ã®XNUMXã€ã ãããªã¹ããããŠããŸã---ãã©ãŒã ã§ã¯ãªããã®
ãã£ãã©ã«ãã ããªãã¯ã©ã¡ãããåé€ããããšã«ãã£ãŠä»ã®ãã©ãŒã ãç解ããããšãã§ããŸã NO- ãŸãã¯ãããè¿œå ããŸãã
-fno-èªå
åããã°ã©ã ãŠãããïŒRECURSIVEãšããŒã¯ãããŠãããã®ãé€ãïŒããSAVEãã¹ããŒãã¡ã³ãã®ããã«æ±ããŸãã
åç §ããããã¹ãŠã®ããŒã«ã«å€æ°ãšé åã«æå®ãããŸããã 圱é¿ããŸãã
äžè¬çãªãããã¯ã ïŒäžéšã®Fortranã³ã³ãã€ã©ãŒã¯ããã®ãªãã·ã§ã³ãååã§æäŸããŠããŸã -éç or
-ä¿åãããïŒããã©ã«ã㯠-èªåãå°ããããŒã«ã«å€æ°ã«ã¹ã¿ãã¯ã䜿çšããŸã
ã«ãã£ãŠäžããããå€ãã -fmax ã¹ã¿ãã¯å€æ°ãµã€ãºã ãªãã·ã§ã³ã䜿çšãã -åšæ³¢æ° 䜿çšããªã
ã¹ã¿ãã£ãã¯ã¡ã¢ãªã
-ff2c
ã«ãã£ãŠçæãããã³ãŒããšäºææ§ãããããã«èšèšãããã³ãŒããçæããŸã g77 ãš f2c.
ã«ãã£ãŠäœ¿çšãããåŒã³åºãèŠçŽ g77 ïŒå ã ã¯ã§å®è£ ãããŠããŸãã f2cïŒé¢æ°ãå¿ èŠ
ãã®æ»ãåã®ããã©ã«ããREALãã¯å®éã«Cåãdoubleããè¿ããé¢æ°
åŒã³åºãã§è¿œå ã®åŒæ°ãä»ããŠå€ãè¿ãã«ã¯ãã¿ã€ããCOMPLEXããè¿ããŸã
æ»ãå€ãæ ŒçŽããå Žæãæãã·ãŒã±ã³ã¹ã ããã©ã«ãã®GNUã®äžã§
åŒã³åºãèŠçŽã§ã¯ããã®ãããªé¢æ°ã¯ãGNUã®å Žåãšåãããã«çµæãè¿ãã ãã§ãã
C ---ããã©ã«ãã®ãREALãé¢æ°ã¯Cã¿ã€ãã®ãfloatããè¿ãããCOMPLEXãé¢æ°ã¯
GNUCã¿ã€ããcomplexãã ããã«ããã®ãªãã·ã§ã³ã¯ -fsecond-ã¢ã³ããŒã¹ã³ã¢
ãªãã·ã§ã³ããã ã -fno-second-ã¢ã³ããŒã¹ã³ã¢ æ瀺çã«èŠæ±ãããŸãã
ããã¯ããšã€ã³ã¿ãŒãã§ã€ã¹ããã³ãŒãã®çæã«ã¯åœ±é¿ããŸããã libgfortran
ãšãããããã
ãŠã©ãŒã«ã¿ã€ã - ã³ã³ãã€ã«ãããFortranã³ãŒããæ··åããããšã¯è¯ãèãã§ã¯ãããŸãã -ff2c ã³ãŒãä»ã
ããã©ã«ãã§ã³ã³ãã€ã« -fno-f2c ãšããŠã®åŒã³åºãèŠçŽããCOMPLEXãã®åŒã³åºãããŸãã¯
ç°ãªãæ¹æ³ã§ã³ã³ãã€ã«ãããããã°ã©ã éšåéã®ããã©ã«ãã®ãREALãé¢æ°
åŒã³åºãèŠçŽã¯å®è¡æã«ç ŽãããŸãã
ãŠã©ãŒã«ã¿ã€ã - ããã«ãããããã©ã«ãã®ãREALãã¿ã€ãã®çµã¿èŸŒã¿é¢æ°ãæž¡ãã³ãŒããå£ããŸãã
ãŸãã¯ãCOMPLEXããå®éã®åŒæ°ãšããŠäœ¿çšããŸããã©ã€ãã©ãªã®å®è£ ã§ã¯ -fno-f2c
åŒã³åºãèŠçŽã
-fno-ã¢ã³ããŒã¹ã³ã¢
FortranãœãŒã¹ãã¡ã€ã«ã§æå®ããããšã³ãã£ãã£ã®ååãè¿œå ããŠå€æããªãã§ãã ãã
ãããã«ã¢ã³ããŒã¹ã³ã¢ãä»ããŸãã
é£çµ¡å -ãã¡ã³ããŒã¹ã³ã¢ãªã³ã° äºå®äžãGNUFortranã¯å€éšåã«XNUMXã€ã®ã¢ã³ããŒã¹ã³ã¢ãè¿œå ããŸã
ã¢ã³ããŒã¹ã³ã¢ãªãã ããã¯ãå€ãã®äººãäœæããã³ãŒããšã®äºææ§ã確ä¿ããããã«è¡ãããŸã
UNIXFortranã³ã³ãã€ã©ã
ãã¶ãªãïŒGNUFortranã®ããã©ã«ãã®åäœã¯ãšäºææ§ããããŸãã f2c ãš g77ã«ã€ããŠã¯
äœ¿çš -ff2c GNUFortranã§ã³ã³ãã€ã«ããããªããžã§ã¯ããã¡ã€ã«ã
ãããã®ããŒã«ã§äœæããããªããžã§ã¯ãã³ãŒããšäºææ§ããããŸãã
æŽ»çš -fno-ã¢ã³ããŒã¹ã³ã¢ åé¡ãå®éšããŠããªãéãããå§ãããŸãã
GNU Fortranã®æ¢åã®ã·ã¹ãã ç°å¢ãžã®çµ±åãªã©ïŒã«å¯ŸããŠïŒ
æ¢åã®ã©ã€ãã©ãªãããŒã«ãªã©ïŒã
ããšãã°ã -ãã¡ã³ããŒã¹ã³ã¢ãªã³ã°ãããã³ã®ãããªä»ã®ããã©ã«ããæ³å® -fcase- lower ãš
ãjïŒïŒããšãmax_countïŒïŒãã¯å€éšé¢æ°ã§ããããmy_varããšãlvarãã¯å€éšé¢æ°ã§ãã
ããŒã«ã«å€æ°ã次ã®ãããªã¹ããŒãã¡ã³ã
I = JïŒïŒ+ MAX_COUNTïŒMY_VARãLVARïŒ
次ã®ãããªãã®ãšããŠå®è£ ãããŸãã
i = j _ïŒïŒ+ max_count __ïŒïŒmy_var __ãïŒlvarïŒ;
é£çµ¡å -fno-ã¢ã³ããŒã¹ã³ã¢ãåãã¹ããŒãã¡ã³ãã次ã®ããã«å®è£ ãããŸãã
i = jïŒïŒ+ max_countïŒïŒmy_varãïŒlvarïŒ;
æŽ»çš -fno-ã¢ã³ããŒã¹ã³ã¢ ãŠãŒã¶ãŒå®çŸ©åãçŽæ¥æå®ã§ããŸããã
ãããã°ããã³GNUFortranã³ãŒããä»ã®èšèªãšã€ã³ã¿ãŒãã§ãŒã¹ããå Žåã
ååãäžèŽãããšããçç±ã ã㧠ã«ãã£ãŠå®è£ ãããã€ã³ã¿ãŒãã§ã€ã¹ãæå³ããŸã
å€éšåã®GNUFortranã¯ãä»ã®ããã€ãã«ãã£ãŠå®è£ ãããã€ã³ã¿ãŒãã§ãŒã¹ãšäžèŽããŸã
ãã®åãååã®èšèªã ã€ãŸããGNUFortranã«ãã£ãŠçæãããã³ãŒãããªã³ã¯ããã
ãã®æ¹æ³ãŸãã¯ä»ã®æ¹æ³ã䜿çšããŠä»ã®ã³ã³ãã€ã©ã«ãã£ãŠçæãããã³ãŒãã¯ã
ãœãªã¥ãŒã·ã§ã³å šäœã®ããäžéš---äž¡æ¹ã®ã³ã³ãã€ã©ã«ãã£ãŠçæãããã³ãŒãã
ããŒãã³ã°ä»¥å€ã®åé¡ã«ã€ããŠåæããã«ã¯ãããªãã®åŽåãå¿ èŠã«ãªãå¯èœæ§ããããããŒãã³ã°ãšã¯ç°ãªãã
äžäžèŽããªã³ã«ãŒã¯éåžžããããã®ä»ã®é åã®äžäžèŽãæ€åºã§ããŸããã
ãŸãã -fno-ã¢ã³ããŒã¹ã³ã¢ãã¢ã³ããŒã¹ã³ã¢ãè¿œå ãããŠããªãããã
ãŠãŒã¶ãŒå®çŸ©ã®å€éšåãååãšç«¶åãããšããéåžžã«çŸå®çãªå¯èœæ§
ã·ã¹ãã ã©ã€ãã©ãªå ã§ãæªè§£æ±ºã®åç §ãã°ãèŠã€ããå¯èœæ§ããããŸã
å Žåã«ãã£ãŠã¯é£ãã---ããã°ã©ã ã®å®è¡æã«çºçãã次ã®ããã«ã®ã¿è¡šç€ºãããå ŽåããããŸã
å®è¡æã®ãã°ã®ããåäœã
GNU Fortranã®å°æ¥ã®ããŒãžã§ã³ã§ã¯ãåœåãšãªã³ã¯ã®åé¡ãæ¹åããŠã
ãããã°ã§ã¯ãããšã
ãªã³ã«ããèŠãååã¯ãå¶çºçãªãªã³ã¯ãé²ãããã«ãã³ã°ã«ãããŠããŸã
äºææ§ã®ãªãã€ã³ã¿ãŒãã§ã€ã¹ãæã€ããã·ãŒãžã£ã
-fno-ãã¡ã€ã«å šäœ
ãã®ãã©ã°ã«ããââãã³ã³ãã€ã©ã¯ãã¡ã€ã«å ã®åããã·ãŒãžã£ã解決ããŠå€æããŸãã
å¥ã ã«ã
ããã©ã«ãã§ã¯ããã¡ã€ã«å šäœã解æãããåäžã®ããã³ããšã³ãããªãŒã«é 眮ãããŸãã ãã®é
解決ããã¹ãŠã®éåžžã®ãã§ãã¯ãšä¿®æ£ã«å ããŠãå€éšãžã®åç §
åããã¡ã€ã«å ã«ããããã·ãŒãžã£ã¯ãããã§ãªãå Žåããã®ããã·ãŒãžã£ã®è§£æ±ºã«åœ±é¿ããŸã
ãã§ã«è¡ãããã€ã³ã¿ãŒãã§ã€ã¹ã®ãã§ãã¯ã äŸåé¢ä¿ã¯å€æŽããããšã§è§£æ±ºãããŸã
ãã¡ã€ã«ãããã¯ãšã³ãããªãŒã«å€æãããé åºã ãããã£ãŠãæé
åç §ãããŠãããã®ã¯ãåç §ãšããã¯ãšã³ãã®è€è£œã®åã«ç¿»èš³ãããŸã
ããªãŒå®£èšãåé€ãããŸããã
ãã® -fno-ãã¡ã€ã«å šäœ ãªãã·ã§ã³ã¯éæšå¥šã§ãããééã£ãã³ãŒãã«ã€ãªããå¯èœæ§ããããŸãã
-fsecond-ã¢ã³ããŒã¹ã³ã¢
ããã©ã«ãã§ã¯ãGNUFortranã¯å€éšåã«ã¢ã³ããŒã¹ã³ã¢ãè¿œå ããŸãã ãã®ãªãã·ã§ã³ã
䜿çšãããGNUFortranã¯ãã¢ã³ããŒã¹ã³ã¢ä»ãã®ååã«XNUMXã€ã®ã¢ã³ããŒã¹ã³ã¢ãè¿œå ããXNUMXã€ã®ã¢ã³ããŒã¹ã³ã¢ãè¿œå ããŸãã
ã¢ã³ããŒã¹ã³ã¢ã®ãªãå€éšåã«ã GNU Fortranã¯ãŸããXNUMXã€ã®ã¢ã³ããŒã¹ã³ã¢ãè¿œå ããŸã
å€éšåãšã®ååã®è¡çªãé¿ããããã«ãã¢ã³ããŒã¹ã³ã¢ä»ãã®å éšåã
ãã®ãªãã·ã§ã³ã¯ã次ã®å Žåã«ã¯å¹æããããŸããã -fno-ã¢ã³ããŒã¹ã³ã¢ æå¹ã§ãã ããã¯ã«ãã£ãŠæ瀺ãããŸã
-ff2c ãªãã·ã§ã³ãéžæããŸãã
ãã以å€ã®å Žåããã®ãªãã·ã§ã³ã䜿çšãããšããMAX_COUNTããªã©ã®å€éšåã次ã®ããã«å®è£ ãããŸãã
ãmax_count_ãã§ã¯ãªãããªã³ã¯æã®å€éšã·ã³ãã«ãmax_count__ããžã®åç §ã
ããã¯ãšã®äºææ§ã®ããã«å¿ èŠã§ã g77 ãš f2cãããã³ã®äœ¿çšã«ãã£ãŠæ瀺ãããŸã
-ff2c ãªãã·ã§ã³ãéžæããŸãã
-fcoarray =
ãªã
Co-ArrayãµããŒããç¡å¹ã«ããŸãã Co-Array宣èšãšç»åå¶åŸ¡ã¹ããŒãã¡ã³ãã®äœ¿çš
ã³ã³ãã€ã«æãšã©ãŒãçºçããŸãã ïŒãã£ãã©ã«ãïŒ
ã·ã³ã°ã«ã€ã¡ãŒãžã¢ãŒããã€ãŸããnum_imagesïŒïŒãã¯åžžã«XNUMXã€ã§ãã
ãªã ã©ã€ãã©ãªããŒã¹ã®Co-Array䞊ååã é©åãªGNUFortranã³ã¢ã¬ã€ã©ã€ãã©ãª
ãªã³ã¯ããå¿ èŠããããŸãã
-fcheck =
ã©ã³ã¿ã€ã ãã§ãã¯ã®çæãæå¹ã«ããŸãã åŒæ°ã¯ã³ã³ãåºåãã®ãªã¹ãã§ãªããã°ãªããŸãã
次ã®ããŒã¯ãŒãã®ã
ã ã®ãã¹ãŠã®ã©ã³ã¿ã€ã ãã¹ããæå¹ã«ãã -fcheck.
é å枩床
å®éã®åŒæ°ãæž¡ãããã«äžæé åãå¿ èŠãªå Žåã«å®è¡æã«èŠåããŸã
çæãããŸãã ãã®èŠåã«ãã£ãŠçæãããæ å ±ã¯ã
ãã®ãããªäžæçãªãã®ãé¿ããããã«ãæé©åã
泚ïŒèŠåã¯ãå Žæããšã«XNUMXåã ãå°å·ãããŸãã
å¢ç
é åã®æ·»ãåããã³å®£èšããããã®ã«å¯Ÿããå®è¡æãã§ãã¯ã®çæãæå¹ã«ããŸã
æå°å€ãšæ倧å€ã ãŸããæ³å®ããã³å»¶æãããé åã€ã³ããã¯ã¹ããã§ãã¯ããŸã
å®éã«å²ãåœãŠãããå¢çã«å¯ŸããŠé åã圢æãããã¹ãŠã®æååã確å®ã«ããŸã
æ瀺çãªtypespecããªãæåé åã³ã³ã¹ãã©ã¯ã¿ãŒã®å Žåãé·ãã¯åãã§ãã
äžéšã®ãã§ãã¯ã§ã¯ã -fcheck = bounds ã¡ã€ã³ã®ã³ã³ãã€ã«ã®ããã«èšå®ãããŠããŸã
ããã°ã©ã ã
泚ïŒå°æ¥çã«ã¯ãããã«ã¯ä»ã®åœ¢åŒã®ãã§ãã¯ãå«ãŸããå¯èœæ§ããããŸãã
ãµãã¹ããªã³ã°åç §ã
do ã«ãŒãå埩ã®ç¡å¹ãªå€æŽã«å¯Ÿããã©ã³ã¿ã€ã ãã§ãã¯ã®çæãæå¹ã«ãã
å€æ°ã
memã® ã¡ã¢ãªå²ãåœãŠã®å®è¡æãã§ãã¯ã®çæãæå¹ã«ããŸãã 泚ïŒãã®ãªãã·ã§ã³
ãALLOCATEãã¹ããŒãã¡ã³ãã䜿çšããæ瀺çãªå²ãåœãŠã«ã¯åœ±é¿ããŸããã
åžžã«ãã§ãã¯ãããŸãã
ãã€ã³ã¿
ãã€ã³ã¿ãšå²ãåœãŠå¯èœãªããžã§ã¯ãã®å®è¡æãã§ãã¯ã®çæãæå¹ã«ããŸãã
ååž°
ååž°çã«åŒã³åºããããµãã«ãŒãã³ã®å®è¡æãã§ãã¯ã®çæãæå¹ã«ãã
ååž°ãšããŠããŒã¯ãããŠããªãé¢æ°ã ãåç §ããŠãã ãã -åšæ³¢æ°ã 泚ïŒãã
ãã§ãã¯ã¯OpenMPããã°ã©ã ã§ã¯æ©èœãããäžç·ã«äœ¿çšãããšç¡å¹ã«ãªããŸã
-åšæ³¢æ° ãš -fopenmp.
-fbounds-ãã§ãã¯
ã®éæšå¥šãšã€ãªã¢ã¹ -fcheck = bounds.
-fcheck-array-temporaries
ã®éæšå¥šãšã€ãªã¢ã¹ -fcheck = array-temps.
-fmax-array-constructor =n
ãã®ãªãã·ã§ã³ã䜿çšããŠãé åã³ã³ã¹ãã©ã¯ã¿ãŒã§èš±å¯ãããäžéãå¢ããããšãã§ããŸãã
以äžã®ã³ãŒãã§ã¯ãã³ã³ãã€ã«æã«é åãæ¡åŒµããããã«ãã®ãªãã·ã§ã³ãå¿ èŠã§ãã
ããã°ã©ã ãã¹ã
æé»çãªã
æŽæ°j
æŽæ°ããã©ã¡ãŒã¿:: n = 100000
æŽæ°ããã©ã¡ãŒã¿:: iïŒnïŒ=ïŒ/ïŒ2 * jãj = 1ãnïŒ/ïŒ
å°å· 'ïŒ10ïŒI0,1XïŒïŒ'ãi
ããã°ã©ã ãã¹ãçµäº
ãŠã©ãŒã«ã¿ã€ã - ãã® ãªãã·ã§ã³ ã§ãã ã€ãªãã ããž é·ã ã³ã³ãã€ã« <font style="vertical-align: inherit;">åæ°</font> ãš é床㫠倧 ãªããžã§ã¯ã
ãã¡ã€ã«ã
ã®ããã©ã«ãå€ n 65535ã§ãã
-fmax-stack-var-size =n
ãã®ãªãã·ã§ã³ã¯ãã«é 眮ãããæ倧ã®é åã®ãµã€ãºããã€ãåäœã§æå®ããŸãã
ã¹ã¿ãã¯; ãµã€ãºãè¶ ããå Žåãã¹ã¿ãã£ãã¯ã¡ã¢ãªã䜿çšãããŸãïŒ
ååž°çïŒã ãªãã·ã§ã³ã䜿çšãã -åšæ³¢æ° ããããªãååž°çæé ãå¯èœã«ãããã
RECURSIVEå±æ§ãæã£ãŠãããã䞊åããã°ã©ã çšã§ãã 䜿çšãã -fno-èªå 絶察ã«äœ¿çšããªã
ã¹ã¿ãã¯
ãã®ãªãã·ã§ã³ã¯çŸåšãäžå®ã®å¢çã§å®£èšãããããŒã«ã«é åã«ã®ã¿åœ±é¿ãã
ãã¹ãŠã®æåå€æ°ã«é©çšãããããã§ã¯ãããŸããã GNU Fortranã®å°æ¥ã®ããŒãžã§ã³ã§ã¯ããããæ¹åãããå¯èœæ§ããããŸã
è¡åã
ã®ããã©ã«ãå€ n 32768ã§ãã
-fstack-é å
ãã®ãªãã·ã§ã³ãè¿œå ãããšãFortranã³ã³ãã€ã©ãŒã¯ãã¹ãŠã®ããŒã«ã«é åãé 眮ããŸãã
ã¹ã¿ãã¯ã¡ã¢ãªãžã®ãµã€ãºãäžæã§ãã ããã°ã©ã ãéåžžã«å€§ããªããŒã«ã«é åã䜿çšããŠããå Žåã¯ã
äžéšã®ã¹ã¿ãã¯ã¡ã¢ãªã®ã©ã³ã¿ã€ã å¶éãæ¡åŒµããå¿ èŠãããå¯èœæ§ããããŸã
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã ãã®ãã©ã°ã¯ãæé©åã¬ãã«ã§ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸã -ãªãŒãã¡ã¹ã.
-fpackãã掟ç
ãã®ãªãã·ã§ã³ã¯ãGNUFortranã«æŽŸçåã¡ã³ããŒãå¯èœãªéãå¯ã«ããã¯ããããã«æ瀺ããŸãã
ãã®ãªãã·ã§ã³ã§ã³ã³ãã€ã«ãããã³ãŒãã¯ããªãã§ã³ã³ãã€ã«ãããã³ãŒããšäºææ§ããªãå¯èœæ§ããããŸã
ãã®ãªãã·ã§ã³ã¯ãå®è¡é床ãé ããªãå¯èœæ§ããããŸãã
-frepack-é å
ç¶æ³ã«ãã£ãŠã¯ãGNUFortranãæ³å®ããã圢ç¶ã®é åã»ã¯ã·ã§ã³ã
ã¡ã¢ãªã®éé£ç¶é åãèšè¿°ããèšè¿°åã ãã®ãªãã·ã§ã³ã¯ãã«ã³ãŒããè¿œå ããŸã
å®è¡æã«ããŒã¿ãé£ç¶ãããããã¯ã«åããã¯ããé¢æ°ããããŒã°ã
ããã«ãããã¢ã¬ã€ãžã®ã¢ã¯ã»ã¹ãé«éåãããŸãã ãããããã¯å°å ¥ããããšãã§ããŸã
ç¹ã«æž¡ãããããŒã¿ã
é£ç¶ããŠããªãã
-fshort-åæå
ãã®ãªãã·ã§ã³ã¯ãã§ã³ã³ãã€ã«ãããCã³ãŒããšã®çžäºéçšæ§ã®ããã«æäŸãããŠããŸãã
-fshort-åæå ãªãã·ã§ã³ã ããã«ãããGNUFortranã¯æå°ã®ãINTEGERãã®çš®é¡ãéžæããŸãã
äžããããåæåã»ããã¯é©åãããã®ãã¹ãŠã®åæåã«ãã®çš®ãäžããŸãã
-fexternal-ãã©ã¹
ãã®ãªãã·ã§ã³ã¯ ã°ãã©ã«ãã©ã³ äžéšã®è¡åã®BLASé¢æ°ãžã®åŒã³åºããçæãã
ç¬èªã®ã¢ã«ãŽãªãºã ã䜿çšãã代ããã«ããMATMULãã®ãããªæäœ
é¢ä¿ããè¡åãæå®ãããå¶éããã倧ããïŒãåç §ïŒ -fblas-matmul-limitïŒã ããã¯
æé©åããããã³ããŒã®BLASã©ã€ãã©ãªãå©çšã§ããå Žåã¯æçã§ãã BLASã©ã€ãã©ãªã¯
ãªã³ã¯æã«æå®ããå¿ èŠããããŸãã
-fblas-matmul-limit =n
éèŠãªã®ã¯ -fexternal-ãã©ã¹ æå¹ã§ãã è¡åã®è¡åä¹ç®
ãµã€ãºã倧ããïŒãŸãã¯çããïŒ n BLASé¢æ°ã®åŒã³åºãã«ãã£ãŠå®è¡ãããŸãã
ä»ã®äººã¯ã«ãã£ãŠåŠçãããŸãã ã°ãã©ã«ãã©ã³ å éšã¢ã«ãŽãªãºã ã ãããªãã¯ã¹ãé¢ä¿ããŠããå Žå
æ£æ¹åœ¢ã§ã¯ãªãå Žåããµã€ãºæ¯èŒã¯ã®å¹Ÿäœå¹³åã䜿çšããŠå®è¡ãããŸã
åŒæ°ãšçµæã®è¡åã®æ¬¡å ã
ã®ããã©ã«ãå€ n 30ã§ãã
-åšæ³¢æ°
ãã¹ãŠã®ããŒã«ã«é åãã¹ã¿ãã¯ã«åŒ·å¶çã«å²ãåœãŠãããšã«ãããéæ¥ååž°ãèš±å¯ããŸãã
ãã®ãã©ã°ãäžç·ã«äœ¿çšããããšã¯ã§ããŸãã -fmax-stack-var-size = or -fno-èªå.
-finit-ããŒã«ã«-ãŒã
-finit-integer =n
-finit-real =
-finit-logical =
-finit-character =n
ãã® -finit-ããŒã«ã«-ãŒã ãªãã·ã§ã³ã¯ãããŒã«ã«ã®ãINTEGERããåæåããããã«ã³ã³ãã€ã©ã«æ瀺ããŸãã
ãREALãããã³ãCOMPLEXãå€æ°ããŒãã«ããLOGICALãå€æ°ãfalseã«ããCHARACTERãã
nullãã€ãã®æååãžã®å€æ°ã ãããã现ããåæåãªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
æäŸè -finit-integer =n, -finit-real = ïŒããã
ããŒã«ã«ã®ãCOMPLEXãå€æ°ã®å®æ°éšãšèæ°éšãåæåããŸãïŒã
-finit-logical =, -finit-character =n ïŒã©ã㧠n ASCIIæåã§ã
å€ïŒãªãã·ã§ã³ã ãããã®ãªãã·ã§ã³ã¯åæåãããŸãã
ã»å²ãåœãŠå¯èœãªé å
ã»æŽŸçåå€æ°ã®ã³ã³ããŒãã³ã
ã»ãEQUIVALENCEãã¹ããŒãã¡ã³ãã«è¡šç€ºãããå€æ°ã
ïŒãããã®å¶éã¯ãå°æ¥ã®ãªãªãŒã¹ã§åé€ãããå¯èœæ§ããããŸãïŒã
ãªãã -finit-real = nan ãªãã·ã§ã³ã¯ããREALãå€æ°ãšãCOMPLEXãå€æ°ã次ã®ããã«åæåããŸãã
éããªNaNã ã·ã°ããªã³ã°NaNã®äœ¿çš -finit-real = snan; ãã ããã³ã³ãã€ã«æã¯æ³šæããŠãã ãã
æé©åã¯ããããéããªNaNã«å€æããå¯èœæ§ãããããã®ãã©ããã³ã°ãæå¹ã«ããå¿ èŠããããŸã
ïŒäŸïŒçµç± -ffpe-ãã©ãã).
æåŸã«ã -finit- * ãªãã·ã§ã³ã¯èŠåãæ²é»ãããŸã
ã«ãã£ãŠæŸåºãããã§ããã -åæåãããŠããŸãã 圱é¿ãåããããŒã«ã«å€æ°ã
-falign-commons
ããã©ã«ãã§ã¯ã ã°ãã©ã«ãã©ã³ ãCOMMONããããã¯å ã®ãã¹ãŠã®å€æ°ã®é©åãªé 眮ã匷å¶ããŸãã
å¿ èŠã«å¿ããŠããããããã£ã³ã°ããŸãã ç¹å®ã®ãã©ãããã©ãŒã ã§ã¯ããã¯å¿ é ã§ãããä»ã®ãã©ãããã©ãŒã ã§ã¯å¢å ããŸã
ããã©ãŒãã³ã¹ã ãCOMMONããããã¯ãäžè²«ããããŒã¿åã§å®£èšãããŠããªãå Žå
ã©ãã§ãããã®ããã£ã³ã°ã¯åé¡ãåŒãèµ·ããå¯èœæ§ãããã -fno-align-commons ã«äœ¿çšããããšãã§ããŸã
èªåäœçœ®åãããç¡å¹ã«ããŸãã ãã®ãªãã·ã§ã³ã®åã圢åŒããã¹ãŠã®ãã¡ã€ã«ã«äœ¿çšããå¿ èŠããããŸã
ãCOMMONããããã¯ãå ±æããŸãã ãCOMMONããããã¯ã§ã®æœåšçãªé 眮ã®åé¡ãåé¿ããã«ã¯ã
ãªããžã§ã¯ãã倧ãããã®ããå°ãããã®ã®é ã«äžŠã¹ãããšããå§ãããŸãã
-fno-protect-parens
ããã©ã«ãã§ã¯ãåŒã®æ¬åŒ§ã¯ã次ã®ãããªãã¹ãŠã®æé©åã¬ãã«ã§äœ¿çšãããŸãã
ã³ã³ãã€ã©ãŒãåé¢é£ä»ããè¡ããªãããšã 䜿çšãã -fno-protect-parens ããšãã§ããŸã
ãREALãããã³ãCOMPLEXãåŒã䞊ã¹æ¿ããŠããé«éãªã³ãŒããçæããã³ã³ãã€ã©ã ãäºæ¿ãã ãã
åé¢é£ä»ãã®æé©åã®ãã -fno-signed-zeros ãš -fno-ãã©ãã-æ°åŠ ããå¿ èŠã
æå¹ã«ãªããŸãã æ¬åŒ§ã«ããä¿è·ã¯ãããã©ã«ãã§æå¹ã«ãªã£ãŠããŸãã -ãªãŒãã¡ã¹ã is
äžããããã
-frealloc-lhs
åºæã®å²ãåœãŠã®å²ãåœãŠå¯èœãªå·ŠåŽã¯èªåçã«
å²ãåœãŠãããŠããªããã圢ç¶ãç°ãªãå Žåã¯ãïŒåïŒå²ãåœãŠãããŸãã ãªãã·ã§ã³ã¯
次ã®å Žåãé€ããŠãããã©ã«ãã§æå¹ã«ãªã£ãŠããŸã -std = f95 äžããããŸãã ãåç §ããŠãã ãã -Wrealloc-lhs.
-ç©æ¥µçãªæ©èœã®æé€
åŒæ°ãªã¹ããåäžã®é¢æ°ã¯ãé¢ä¿ãªãã¹ããŒãã¡ã³ãå ã§åé€ãããŸã
ãããã®æ©èœããPUREããšããŒã¯ãããŠãããã©ããã ããšãã°ã
a = fïŒbãcïŒ+ fïŒbãcïŒ
ãfããžã®åŒã³åºãã¯XNUMXåã ãã§ãã ãã®ãªãã·ã§ã³ã¯ã次ã®å Žåã«ã®ã¿æ©èœããŸã
-ffrontend-æé©å æå¹ã§ãã
-ffrontend-æé©å
ãã®ãªãã·ã§ã³ã¯ãFortranã®ããŒãã®æäœã«åºã¥ããŠãããã³ããšã³ãã®æé©åãå®è¡ããŸã
ããªãŒã解æããŸãã ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸã -O ãªãã·ã§ã³ã ããã«ããæé©åãå¯èœã«ãªããŸã
ãªãã·ã§ã³ã«ã¯ãåŒå ã®åäžã®é¢æ°åŒã³åºãã®åé€ãåé€ãå«ãŸããŸã
æ¯èŒãšå²ãåœãŠã«ããããTRIMããžã®äžèŠãªåŒã³åºããããã³TRIMïŒaïŒã®çœ®ãæã
ãaïŒ1ïŒLEN_TRIMïŒaïŒïŒãã æå®ããããšã§éžæã解é€ã§ããŸã -fno-ããã³ããšã³ã-æé©å.
ENVIRONMENT
ãã® ã°ãã©ã«ãã©ã³ ã³ã³ãã€ã©ã¯çŸåšãå¶åŸ¡ããããã«ç°å¢å€æ°ã䜿çšããŠããŸãã
ã®åäœã«åœ±é¿ãäžãããã®ãè¶ ãããã®åäœ gccã®.
onworks.netãµãŒãã¹ã䜿çšããŠãªã³ã©ã€ã³ã§aarch64-linux-gnu-gfortran-4.8ã䜿çšãã