เบžเบฒเบชเบฒเบญเบฑเบ‡เบเบดเบ”เบžเบฒเบชเบฒเบเบฃเบฑเปˆเบ‡เปเบญเบชเบ›เบฒเป‚เบเบ™

Ad


OnWorks favicon

mips64el-linux-gnuabi64-gfortran-5 - เบญเบญเบ™เบฅเบฒเบเปƒเบ™เบ„เบฅเบฒเบง

Run mips64el-linux-gnuabi64-gfortran-5 in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ mips64el-linux-gnuabi64-gfortran-5 เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบ”เป‰เปƒเบ™ OnWorks เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบŸเบฃเบตเป‚เบ”เบเปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เปƒเบ™เบซเบผเบฒเบเป†เบšเปˆเบญเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบญเบญเบ™เป„เบฅเบ™เปŒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบฑเปˆเบ™ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator

เป‚เบ„เบ‡เบเบฒเบ™:

NAME


gfortran - GNU Fortran compiler

เบชเบฐเบซเบผเบธเบšเบชเบฑเบ‡เบฅเบงเบก


gfortran [-c|-S|-E]
[-g] [- เปœเป‰เบฒ] [-Oเบฅเบฐเบ”เบฑเบš]
[-Wเป€เบ•เบทเบญเบ™... ] [- pedantic]
[-Idir... ] [-Ldir... ]
[-Dเบกเบฐเบซเบฒเบžเบฒเบ[=defn]...] [-Uเบกเบฐเบซเบฒเบžเบฒเบ]
[-fเบ—เบฒเบ‡เป€เบฅเบทเบญเบ... ]
[-mเบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹... ]
[-o outfile] infile...

เบžเบฝเบ‡เปเบ•เปˆเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰; เป€เบšเบดเปˆเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญ.

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”


เป„เบ”เป‰ gfortran เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เป‚เบ”เบโ€‹ gcc เบ„เปเบฒเบชเบฑเปˆเบ‡. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™
เบชเบฐเป€เบžเบฒเบฐเบเบฑเบš GNU Fortran เปเบกเปˆเบ™เป€เบญเบเบฐเบชเบฒเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบ GCC เปเบฅเบฐ GNU Fortran เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบ—เบฑเบ‡เบชเบญเบ‡เป‚เบ”เบ gfortran เปเบฅเบฐเป‚เบ”เบ gcc (เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเปƒเบ”เป†
เบ„เบปเบ™เบ‚เบฑเบšเบญเบทเปˆเบ™เป†เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เป€เบŠเบฑเปˆเบ™ g ++), เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เป€เบžเบตเปˆเบก GNU Fortran เบเบฑเบš GCC
เบเบฒเบ™เปเบˆเบเบขเบฒเบเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบ GNU Fortran เป‚เบ”เบเบœเบนเป‰เบ‚เบฑเบšเบ‚เบตเปˆเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”.

เปƒเบ™เบšเบฒเบ‡เบเปเบฅเบฐเบ™เบต, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบกเบตเบฎเบนเบšเปเบšเบšเบ—เบฒเบ‡เบšเบงเบเปเบฅเบฐเบ—เบฒเบ‡เบฅเบปเบš; เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ—เบฒเบ‡โ€‹เบฅเบปเบšโ€‹เบ‚เบญเบ‡โ€‹ -ffoo เบˆเบฐ
be -fno-foo. เบ„เบนเปˆเบกเบทเบ™เบตเป‰เป€เบญเบเบฐเบชเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบญเบ‡เบฎเบนเบšเปเบšเบšเบ™เบตเป‰, เบญเบฑเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบกเบšเปเปˆเปเบกเปˆเบ™
Default

OPTIONS


เบ™เบตเป‰เปเบกเปˆเบ™เบšเบปเบ”เบชเบฐเบซเบผเบธเบšเบ‚เบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฐเป€เบžเบฒเบฐเบเบฑเบš GNU Fortran, เบˆเบฑเบ”เบเบธเปˆเบกเบ•เบฒเบกเบ›เบฐเป€เบžเบ”.
เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบขเบนเปˆเปƒเบ™เบžเบฒเบเบ•เปเปˆเป„เบ›เบ™เบตเป‰.

เบŸเปเบฃเบฑเบ™ เบžเบฒเบชเบฒ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™
- เบเบฒเบ™โ€‹เบซเบผเบธเบ”โ€‹เบฅเบปเบ‡โ€‹เบžเบฒเบโ€‹เปƒเบ™โ€‹ -fbackslash -fcray-pointer -fd-lines-as-code -fd-lines-as-comments
-fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 -fdollar-ok
-fixed-line-length-n -ffixed-line-length-none -ffree-form -ffree-เบ„เบงเบฒเบกเบเบฒเบงเปเบ–เบง-n
-ffree-line-length-none -fimplicit-none -finteger-4-integer-8 -fmax-identifier-length
-fmodule-เป€เบญเบเบฐเบŠเบปเบ™ -fixed-form -fno-range-เบเบงเบ” -fopenacc -fopenmp -freal-4-เบˆเบดเบ‡-10
-freal-4-เบˆเบดเบ‡-16 -freal-4-เบˆเบดเบ‡-8 -freal-8-เบˆเบดเบ‡-10 -freal-8-เบˆเบดเบ‡-16 -freal-8-เบˆเบดเบ‡-4
-std=std

เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเปˆเบญเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™
-HAS-เบ„เปเบฒเบ–เบฒเบก[=เบ„เปเบฒเบ•เบญเบš] -Aเบ„เปเบฒเบ–เบฒเบก=เบ„เปเบฒเบ•เบญเบš -C -CC -Dเบกเบฐเบซเบฒเบžเบฒเบ[=defn] -H -P -Uเบกเบฐเบซเบฒเบžเบฒเบ -cpp -dD
-dI -dM -dN -dU -fworking-directory -Imultilib dir - เบ„เปเบฒโ€‹เบ™เบดโ€‹เบเบฒเบกโ€‹ เป€เบญเบเบฐเบชเบฒเบ™ -iquote -isysroot dir
- เบฅเบฐเบšเบปเบš dir -nocpp -nostdinc -undef

Error เปเบฅเบฐ เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบž เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™
- เป€เบงโ€‹เบฅเบฒโ€‹เบŠเบดเป‰เบ‡ - เบเบฒ -Wampersand - Warray-bounds -Wc-binding-type - เบเบฒเบ™โ€‹เบ•เบฑเบ”โ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹
- เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹ - เบเบฒเบ™โ€‹เบฅเบปเบšโ€‹เบฅเป‰เบฒเบ‡ Wfunctionโ€‹ -Wimplicit-interface - เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบเบฒเบ™โ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹
-Wintrinsic-เป€เบ‡เบปเบฒ -Wuse-เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™ -Wintrinsics-std -Wline-เบ•เบฑเบ”
-Wno-align-commons -Wno-tabs -Wreal-q-เบ„เบปเบ‡เบ—เบตเปˆ - เปเบ›เบเปƒเบˆ - Wunderflow
-Wunused-เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต -Wrealloc-lhs -Wrealloc-lhs-เบ—เบฑเบ‡เปเบปเบ” -Wtarget-เบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ” -fmax-errors=n
-fsyntax เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™ - pedantic -pedantic เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹

Debugging เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™
-fbacktrace -fdump-fortran-optimized -fdump-fortran-เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš -fdump-parse-tree
-ffpe-trap=เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ -ffpe-summary=เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ

Directory เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™
-Idir -Jdir -fintrinsic-modules-เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ dir

เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™
-static-libgfortran

เป€เบงเบฅเบฒเปเบฅเปˆเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™
-fconvert=เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ -fmax-subrecord-length=เบ„เบงเบฒเบกเบเบฒเบง -frecord-marker=เบ„เบงเบฒเบกเบเบฒเบง -fsign-เบชเบนเบ™

เบฅเบฐเบซเบฑเบ” เบเบฒเบ™เบœเบฐเบฅเบดเบ” เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™
-faggressive-function-elimination -fblas-matmul-limit=n -fbounds-เบเบงเบ”โ€‹เบชเบญเบšโ€‹
-fcheck-array-temporaries -fcheck=
-fcoarray= -fexternal-blas -ff2c -ffrontend-optimize
-finit-character=n -finit-integer=n -finit-local-เบชเบนเบ™ -finit-logical=
-finit-real= -fmax-array-constructor=n -fmax-stack-var-size=n
-fno-align-commons -fno เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹ -fno-protect-parens -fno-underscoring
-fsecond-underscore -fpack เบกเบฒเบˆเบฒเบ -frealloc-lhs - เบšเบฑเบ‡เป€เบญเบตเบ™ -frepack-arrays
-fshort-enums -fstack-arrays

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™ เบเบฒเบ™เบ„เบงเบšเบ„เบธเบก เบŸเปเบฃเบฑเบ™ เบžเบฒเบชเบฒ
เบ•เบปเบงเป€เบฅเบทเบญเบเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ„เบงเบšเบ„เบธเบกเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบžเบฒเบชเบฒ Fortran เบ—เบตเปˆเบเบญเบกเบฎเบฑเบšเป‚เบ”เบ compiler:

-ffree-form
-fixed-form
เบฅเบฐเบšเบธเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบเป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡. เบฎเบนเบšเปเบšเบšเบฎเบนเบšเปเบšเบšเบŸเบฃเบตเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™
Fortran 90. เบฎเบนเบšเปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบ•เบฒเบกเบ›เบฐเป€เบžเบ™เบตเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ Fortran เป€เบเบปเปˆเบฒ. เป€เบกเบทเปˆเบญโ€‹เปƒเบ”โ€‹
เบ—เบฑเบ‡เบชเบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธ, เบฎเบนเบšเปเบšเบšเปเบซเบผเปˆเบ‡เปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเป„เบŸเบฅเปŒ.

- เบเบฒเบ™โ€‹เบซเบผเบธเบ”โ€‹เบฅเบปเบ‡โ€‹เบžเบฒเบโ€‹เปƒเบ™โ€‹
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบฒเบเปƒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ” (เบฅเบงเบกเบ—เบฑเบ‡เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบชเบฐเป€เบžเบฒเบฐ GNU) เป€เบ›เบฑเบ™
เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบš. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบเบฑเบš -std=f95 เป€เบžเบทเปˆเบญเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปเบ•เปˆเป„เบ”เป‰เบฎเบฑเบš
เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป€เบ–เบดเบ‡โ€‹เบฅเบฐโ€‹เบ”เบฑเบšโ€‹เบญเบฑเบ™โ€‹เป€เบ•เบฑเบกโ€‹เบ—เบตเปˆโ€‹เบ‚เบญเบ‡ intrinsics เบ—เบตเปˆโ€‹เบกเบตโ€‹เบขเบนเปˆโ€‹เบเบฑเบšโ€‹ gfortran. เบเป‰เบญเบ™เป€เบซเบ”เบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบ”เบฃ.
-Wintrinsics-std เบˆเบฐเบ–เบทเบเบฅเบฐเป€เบฅเบตเบ เปเบฅเบฐเบšเปเปˆเบกเบตเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบเบณเบ™เบปเบ”เป€เบญเบ‡เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบ”เบฝเบงเบเบฑเบ™เบเบฑเบš
เบžเบฒเบเปƒเบ™เปƒเบ”เบ™เบถเปˆเบ‡เบˆเบฐเบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ เบเบปเบเป€เบงเบฑเป‰เบ™เป€เบกเบทเปˆเบญเบกเบฑเบ™เบ–เบทเบเบ›เบฐเบเบฒเบ”เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบงเปˆเบฒ "เบžเบฒเบเบ™เบญเบ".

-fd-lines-as-code
-fd-lines-as-comments
เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ›เบดเปˆเบ™เบ›เบปเบงเบžเบดเป€เบชเบ”เบชเปเบฒเบฅเบฑเบšเบชเบฒเบเบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ "d" เบซเบผเบท "D" เปƒเบ™เปเบซเบผเปˆเบ‡เปเบšเบšเบŸเบญเบกเบ„เบปเบ‡เบ—เบตเปˆ.
เบ–เป‰เบฒ -fd-lines-as-code เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เปƒเบซเป‰เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบทเบเบฑเบšเบงเปˆเบฒเบ–เบฑเบ™เบ—เปเบฒเบญเบดเบ”
เบšเบฑเบ™เบˆเบธเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡. เบ–เป‰เบฒ -fd-lines-as-comments เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹, เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบดเปˆเบ™โ€‹เบ›เบปเบงโ€‹เป€เบ›เบฑเบ™โ€‹
เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™.

-fdollar-ok
เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ $ เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ•เบปเบงเบ—เบณเบญเบดเบ”เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปƒเบ™เบŠเบทเปˆเบชเบฑเบ™เบเบฒเบฅเบฑเบ. เบชเบฑเบ™เบเบฒเบฅเบฑเบเบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ $ เบกเบต
เบ›เบฐเบ•เบดเป€เบชเบ”เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบกเบฑเบ™เบšเปเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบเบปเบ”เบฅเบฐเบšเบฝเบšเปƒเบ”เบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบเบฒเบ™เบžเบดเบก implicit เป€เบ›เบฑเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™
เบœเบนเป‰เบ‚เบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ $ เปƒเบ™เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡ "IMPLICIT" เบเบฑเบ‡เบ–เบทเบเบ›เบฐเบ•เบดเป€เบชเบ”.

-fbackslash
เบ›เปˆเบฝเบ™เบเบฒเบ™เบ•เบตเบ„เบงเบฒเบกเปเบฒเบเบ‚เบญเบ‡ backslashes เปƒเบ™เบ•เบปเบงเปœเบฑเบ‡เบชเบทเบชเบฐเบ•เบฃเบดเบ‡เบˆเบฒเบ backslash เบ”เบฝเบง
เบฅเบฑเบโ€‹เบชเบฐโ€‹เบ™เบฐโ€‹เป€เบ›เบฑเบ™ "Cโ€‹-styleโ€‹" เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบซเบ™เบตโ€‹. เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เบฐเบซเบเบฒเบเบญเบญเบ
"\a", "\b", "\f", "\n", "\r", "\t", "\v", "\\", เปเบฅเบฐ "\0" เบ•เปเปˆเบเบฑเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ ASCII
เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™, backspace, เบŸเบตเบ”เปเบšเบšเบŸเบญเบก, เปเบ–เบงเปƒเปเปˆ, เบเบฑเบšเบ„เบทเบ™ carriage, เปเบ–เบšเปเบ™เบงเบ™เบญเบ™, เปเบ–เบšเบ•เบฑเป‰เบ‡,
backslash, เปเบฅเบฐ NUL, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, "\x"nn, "\u"nnnn เปเบฅเบฐโ€‹เป€เบˆเบปเป‰เบฒ"nnnnnnnn
(เบšเปˆเบญเบ™โ€‹เบ—เบตเปˆโ€‹เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ„เบปเบ™ n เปเบกเปˆเบ™เบ•เบปเบงเป€เบฅเบเป€เบฅเบเบ–เบฒเบ™เบชเบดเบšเบซเบปเบ) เบ–เบทเบเปเบ›เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Unicode
เบ—เบตเปˆโ€‹เบชเบญเบ”โ€‹เบ„เป‰เบญเบ‡โ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹เบˆเบธเบ”โ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰โ€‹. เบเบฒเบ™เบ›เบฐเบชเบปเบกเบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡เบ•เบปเบงเบฅเบฐเบ„เบญเบ™
เบ™เบณเปœเป‰เบฒเบ”เป‰เบงเบ \ เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบ.

-fmodule-เป€เบญเบเบฐเบŠเบปเบ™
เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบŠเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบซเบปเบงเปœเปˆเบงเบเป‚เบกเบ”เบนเบ™เป€เบ›เบฑเบ™ "PRIVATE". เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ—เบตเปˆโ€‹เบเปˆเบฝเบงโ€‹เบ‚เป‰เบญเบ‡โ€‹
เปœเปˆเบงเบเบ‡เบฒเบ™เบ•เปˆเบฒเบ‡เป†เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบˆเบฐเบ–เบทเบเบ›เบฐเบเบฒเบ”เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบงเปˆเบฒเป€เบ›เบฑเบ™ "เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ".

-fixed-line-length-n
เบ•เบฑเป‰เบ‡เบ–เบฑเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ”เบ™เบถเปˆเบ‡เบ–เบทเบเบฅเบฐเป€เบงเบฑเป‰เบ™เปƒเบ™เปเบ–เบงเบฎเบนเบšเปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆเบ›เบปเบเบเบฐเบ•เบดเปƒเบ™
เป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡, เปเบฅเบฐเป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบ—เบตเปˆเบŠเปˆเบญเบ‡เป„เบ”เป‰เบ–เบทเบเบชเบปเบกเบกเบธเบ” (เป€เบ›เบฑเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ padded เบเบฑเบšเบ„เบงเบฒเบกเบเบฒเบงเบ™เบฑเป‰เบ™) เบซเบผเบฑเบ‡เบˆเบฒเบ
เบ›เบฒเบเบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ„เบปเบ‡เบ—เบตเปˆเบชเบฑเป‰เบ™.

เบ„เปˆเบฒเบ™เบดเบเบปเบกเบชเบณเบฅเบฑเบš n เบ›เบฐเบเบญเบšเบกเบต 72 (เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปเบฅเบฐเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™), 80 (เบฎเบนเบšเบšเบฑเบ”), เปเบฅเบฐ
132 (เบเบปเบ‡เบเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "extended-source" เปƒเบ™เบšเบฒเบ‡ compilers เบ—เบตเปˆเบ™เบดเบเบปเบก). n เบญเบฒเบ”เบˆเบฐ
เบเบฑเบ‡เบˆเบฐเป€เบ›เบฑเบ™ none, เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเป€เบชเบฑเป‰เบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบเปเบฅเบฐเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡
constants เบšเปเปˆเป€เบ„เบตเบเบกเบตเบŠเปˆเบญเบ‡ implicit เบ•เบทเปˆเบกเปƒเบชเปˆเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เปƒเบชเปˆเป€เบชเบฑเป‰เบ™.
-ffixed-line-length-0 เบซเบกเบฒเบโ€‹เบ„เบงเบฒเบกโ€‹เบงเปˆเบฒโ€‹เบชเบดเปˆเบ‡โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹ -ffixed-line-length-none.

-ffree-เบ„เบงเบฒเบกเบเบฒเบงเปเบ–เบง-n
เบ•เบฑเป‰เบ‡เบ–เบฑเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบ•เบปเบงเบฅเบฐเบ„เบญเบ™เปƒเบ”เบ–เบทเบเบฅเบฐเป€เบฅเบตเบเปƒเบ™เปเบ–เบงเปเบšเบšเบšเปเปˆเป€เบชเบเบ„เปˆเบฒเปเบšเบšเบ›เบปเบเบเบฐเบ•เบดเปƒเบ™เปเบซเบผเปˆเบ‡เบ—เบตเปˆเบกเบฒ
เป„เบŸเบฅเปŒ. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 132. n เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ none, เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเป€เบชเบฑเป‰เบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™
เบกเบตเบ„เบงเบฒเบกเปเบฒเบ. -ffree-line-length-0 เบซเบกเบฒเบโ€‹เบ„เบงเบฒเบกโ€‹เบงเปˆเบฒโ€‹เบชเบดเปˆเบ‡โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹ -ffree-line-length-none.

-fmax-identifier-length=n
เบฅเบฐเบšเบธเบ„เบงเบฒเบกเบเบฒเบงเบ•เบปเบงเบฅเบฐเบšเบธเบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”. เบ„เปˆเบฒเบ›เบปเบเบเบฐเบ•เบดเปเบกเปˆเบ™ 31 (Fortran 95) เปเบฅเบฐ
63 (Fortran 2003 เปเบฅเบฐ Fortran 2008).

-fimplicit-none
เบฅเบฐเบšเบธเบงเปˆเบฒเบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบžเบดเบกเปเบšเบšเบซเบเปเป‰เป†, เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบˆเบฐเบ›เบฐเบ•เบดเป€เบชเบ”เป‚เบ”เบ "IMPLICIT" เบ—เบตเปˆเบˆเบฐเปเบˆเป‰เบ‡.
เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ—เบปเปˆเบฒเบเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบก "เบšเปเปˆเบกเบต implicit" เปƒเบ™เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ—เบธเบเป†
เบฅเบฐเบšเบฝเบšเบเบฒเบ™.

-fcray-pointer
เป€เบ›เบตเบ”เปƒเบŠเป‰เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ•เบปเบงเบŠเบตเป‰ Cray, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡เบ•เบปเบงเบŠเบตเป‰ C-like.

-fopenacc
เป€เบ›เบตเบ”เปƒเบŠเป‰เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ OpenACC. เบ™เบตเป‰เบฎเบงเบกเป€เบ–เบดเบ‡เบ„เบณเบชเบฑเปˆเบ‡ OpenACC "!$acc" เปƒเบ™เบฎเบนเบšเปเบšเบšเบŸเบฃเบต
เปเบฅเบฐ "c$acc", *$acc เปเบฅเบฐ "!$acc" เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™เบฎเบนเบšเปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆ, "!$" เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚
sentinels เปƒเบ™เบฎเบนเบšเปเบšเบšเบŸเบฃเบตเปเบฅเบฐ "c$", "*$" เปเบฅเบฐ "!$" sentinels เปƒเบ™เบฎเบนเบšเปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆ, เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ
เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบซเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบธเบ” OpenACC runtime เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เปƒเบ™โ€‹.

เบˆเบปเปˆเบ‡เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบปเบ”เบฅเบญเบ‡, เบšเปเปˆเบชเบปเบกเบšเบนเบ™, เปเบฅเบฐเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”
เบฅเบธเป‰เบ™เบ‚เบญเบ‡ GCC. เป€เบšเบดเปˆเบ‡https://gcc.gnu.org/wiki/OpenACC> เบชเบณ เบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

-fopenmp
เป€เบ›เบตเบ”เปƒเบŠเป‰เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ OpenMP. เบ™เบตเป‰เบ›เบฐเบเบญเบšเบกเบตเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ OpenMP "!$omp" เปƒเบ™เบฎเบนเบšเปเบšเบšเบŸเบฃเบต
เปเบฅเบฐ "c$omp", *$omp เปเบฅเบฐ "!$omp" เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™เบฎเบนเบšเปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆ, "!$" เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚
sentinels เปƒเบ™เบฎเบนเบšเปเบšเบšเบŸเบฃเบตเปเบฅเบฐ "c$", "*$" เปเบฅเบฐ "!$" sentinels เปƒเบ™เบฎเบนเบšเปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆ, เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ
เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบซเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบธเบ” OpenMP runtime เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เปƒเบ™โ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹ -fopenmp
implies - เบšเบฑเบ‡เป€เบญเบตเบ™.

-fno-range-เบเบงเบ”
เบ›เบดเบ”โ€‹เบเบฒเบ™โ€‹เปƒเบŠเป‰โ€‹เบ‡เบฒเบ™โ€‹เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เป„เบฅโ€‹เบเบฐโ€‹เบœเบปเบ™โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ‡เปˆเบฒเบโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบญเบญเบโ€‹เบ„เบปเบ‡โ€‹เบ—เบตเปˆโ€‹เปƒเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เบเบฒเบ™โ€‹
เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡, GNU Fortran เบˆเบฐเปƒเบซเป‰เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเป€เบงเบฅเบฒ
simplifying "a = 1. / 0". เบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰, เบšเปเปˆเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบˆเบฐเบ–เบทเบเบกเบญเบšเปƒเบซเป‰เปเบฅเบฐ "a" เบˆเบฐเป€เบ›เบฑเบ™
เบกเบญเบšเปเบฒเบเบ„เปˆเบฒ "+Infinity". เบ–เป‰เบฒเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบฐเป€เบกเบตเบ™เป€เบ›เบฑเบ™เบ„เปˆเบฒเบ—เบตเปˆเบขเบนเปˆเบ™เบญเบ
เบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ‚เบญเบ‡ ["-HUGE()":"HUGE()"], เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบˆเบฐเบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบ "-Inf"
เบซเบผเบท "+Inf" เบ•เบฒเบกเบ„เบงเบฒเบกเป€เบซเบกเบฒเบฐเบชเบปเบก. เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, "DATA i/Z'FFFFFFFF'/" เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบ›เบฑเบ™เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบก
overflow เปƒเบ™เบฅเบฐเบšเบปเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆ, เปเบ•เปˆเบกเบต -fno-range-เบเบงเบ” เบกเบนเบ™เบ„เปˆเบฒเบˆเบฐ "เบญเป‰เบญเบกเบฎเบญเบš" เปเบฅเบฐ
"i" เบˆเบฐเบ–เบทเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™ -1 เปเบ—เบ™.

-fdefault-integer-8
เบเบณเบ™เบปเบ”เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบกเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เปเบฅเบฐเบ›เบฐเป€เบžเบ”เป‚เบฅเบˆเบดเบเป€เบ›เบฑเบ™เบ›เบฐเป€เบžเบ”เบเบงเป‰เบฒเบ‡ 8 byte. เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ™เบตเป‰โ€‹เบเบฑเบ‡โ€‹
เบกเบตโ€‹เบœเบปเบ™โ€‹เบเบฐโ€‹เบ—เบปเบšโ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ„เบปเบ‡โ€‹เบ—เบตเปˆโ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เป€เบ•เบฑเบกโ€‹เป€เบŠเบฑเปˆเบ™ 42. เบšเปเปˆโ€‹เบ„เบท -finteger-4-integer-8, เบกเบฑเบ™โ€‹เป€เบฎเบฑเบ”
เบšเปเปˆเบชเบปเปˆเบ‡เป€เบชเบตเบกเบ•เบปเบงเปเบ›เบ”เป‰เบงเบเบเบฒเบ™เบ›เบฐเบเบฒเบ”เบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™.

-fdefault-real-8
เบเปเบฒเบ™เบปเบ”เบ›เบฐเป€เบžเบ”เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ›เบฑเบ™เบ›เบฐเป€เบžเบ”เบเบงเป‰เบฒเบ‡ 8 byte. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบเบฑเบ‡เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡
เบ„เบปเบ‡เบ—เบตเปˆเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบชเบญเบ‡เป€เบ—เบปเปˆเบฒเป€เบŠเบฑเปˆเบ™ 1.0, เปเบฅเบฐเบชเบปเปˆเบ‡เป€เบชเบตเบกเบ„เบงเบฒเบกเบเบงเป‰เบฒเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡ "DOUBLE
PRECISION" เป€เบ›เบฑเบ™ 16 bytes เบ–เป‰เบฒเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆ "-fdefault-double-8" เบˆเบฐเบ–เบทเบเบกเบญเบšเปƒเบซเป‰, เบ„เบทเบเบฑเบ™.
-freal-4-เบˆเบดเบ‡-8, เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบชเบปเปˆเบ‡เป€เบชเบตเบกเบ•เบปเบงเปเบ›เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบเบฒเบ”เบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™.

-fdefault-double-8
เบเปเบฒเบ™เบปเบ”เบ›เบฐเป€เบžเบ” "เบ„เบงเบฒเบกเบŠเบฑเบ”เป€เบˆเบ™เบชเบญเบ‡เป€เบ—เบปเปˆเบฒ" เป€เบ›เบฑเบ™เบ›เบฐเป€เบžเบ”เบเบงเป‰เบฒเบ‡ 8 byte. เบขเปˆเบฒเป€เบฎเบฑเบ”เบซเบเบฑเบ‡เบ–เป‰เบฒเป€เบ›เบฑเบ™เบญเบฑเบ™เบ™เบตเป‰เปเบฅเป‰เบง
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบ–เป‰เบฒ -fdefault-real-8 เปเบกเปˆเบ™เปƒเบซเป‰, "เบ„เบงเบฒเบกเปเบ™เปˆเบ™เบญเบ™เบชเบญเบ‡เป€เบ—เบปเปˆเบฒ" เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™
เบชเบปเปˆเบ‡เป€เบชเบตเบกเป€เบ›เบฑเบ™ 16 bytes เบ–เป‰เบฒเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เปเบฅเบฐ -fdefault-double-8 เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบ™เบตเป‰.
เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เป€เบŠเบฑเปˆเบ™ "1.d0" เบˆเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป‚เบ”เบ -fdefault-real-8 เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ,
เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™ -fdefault-double-8 เบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบกเบฑเบ™.

-finteger-4-integer-8
เบชเบปเปˆเบ‡เป€เบชเบตเบกเบ—เบธเบ "INTEGER(KIND=4)" entities เป€เบ›เบฑเบ™ "INTEGER(KIND=8)" entities. เบ–เป‰เบฒ "KIND=8"
เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบˆเบฐเบ–เบทเบเบญเบญเบ. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡
เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เบ„เบงเบฒเบกเบเบฑเบ‡เบงเบปเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบฅเบงเบกเบกเบตเบเบฒเบ™เป‚เบ—เบซเบฒ
เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบžเบฒเบเบ™เบญเบ, เบเบฒเบ™เบชเบญเบ”เบ„เปˆเบญเบ‡เปƒเบ™ "EQUIVALENCE" เปเบฅเบฐ/เบซเบผเบท "เบ—เปเบฒเบกเบฐเบ”เบฒ", เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบปเปˆเบงเป„เบ›,
BOZ เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เบ„เบปเบ‡โ€‹เบ—เบตเปˆโ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹, เปเบฅเบฐ I/Oโ€‹. เบเบฒเบ™เบเบงเบ”เบเบฒเบ‚เบญเบ‡เบเบฒเบ‡
เบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ” Fortran เบ—เบตเปˆเบ–เบทเบเปเบ›, เบœเบฐเบฅเบดเบ”เป‚เบ”เบ -fdump-เบ•เบปเป‰เบ™เป„เบกเป‰-เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เป€เบ›เบฑเบ™
เปเบ™เบฐเบ™เปเบฒ.

-freal-4-เบˆเบดเบ‡-8
-freal-4-เบˆเบดเบ‡-10
-freal-4-เบˆเบดเบ‡-16
-freal-8-เบˆเบดเบ‡-4
-freal-8-เบˆเบดเบ‡-10
-freal-8-เบˆเบดเบ‡-16
เบชเบปเปˆเบ‡เป€เบชเบตเบกเบ—เบธเบ "REAL(KIND=M)" entities เป€เบ›เบฑเบ™ "REAL(KIND=N)" entities. เบ–เป‰เบฒ "REAL(KIND=N)" เปเบกเปˆเบ™
เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบˆเบฐเบ–เบทเบเบญเบญเบ. เบ—เบธเบเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบš
เป‚เบ”เบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบš
เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹. เบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เบ„เบงเบฒเบกเบเบฑเบ‡เบงเบปเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบฅเบงเบกเบกเบตเบเบฒเบ™เป‚เบ—เบซเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบฒเบเบ™เบญเบ, เบเบฒเบ™เบชเบญเบ”เบ„เปˆเบญเบ‡
เปƒเบ™ "EQUIVALENCE" เปเบฅเบฐ/เบซเบผเบท "เบ—เปเบฒเบกเบฐเบ”เบฒ", เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปเบšเบšเบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เปเบ›เบ‡เบ•เบปเบงเบซเบ™เบฑเบ‡เบชเบทเบ„เบปเบ‡เบ—เบตเปˆเบ‚เบญเบ‡ BOZ,
เปเบฅเบฐ I/O. เบเบฒเบ™เบเบงเบ”เบเบฒเบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบฅเบฐเบ”เบฑเบšเบ›เบฒเบ™เบเบฒเบ‡เบ‚เบญเบ‡ Fortran เปเบ›
เบฅเบฐเบซเบฑเบ”, เบœเบฐเบฅเบดเบ”เป‚เบ”เบ -fdump-เบ•เบปเป‰เบ™เป„เบกเป‰-เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เปเบกเปˆเบ™เปเบ™เบฐเบ™เปเบฒ.

-std=std
เบเปเบฒเบ™เบปเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเป‚เบ„เบ‡เบเบฒเบ™เบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบš, เป€เบŠเบดเปˆเบ‡เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบซเบ™เบถเปˆเบ‡
f95, f2003, f2008, gnu, เบซเบผเบท legacy. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบš std is gnu, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ”
superset เบ‚เบญเบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ Fortran 95 เบ—เบตเปˆเบ›เบฐเบเบญเบšเบกเบตเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ”เบ
GNU Fortran, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบˆเบฐเบ–เบทเบเบกเบญเบšเปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบกเบšเปเปˆเป„เบ”เป‰เปเบ™เบฐเบ™เปเบฒ
เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบฅเบฐเบซเบฑเบ”เปƒเบซเบกเปˆ. เป„เบ”เป‰ legacy เบกเบนเบ™เบ„เปˆเบฒเปเบกเปˆเบ™เบ—เบฝเบšเป€เบ—เบปเปˆเบฒเปเบ•เปˆเบšเปเปˆเบกเบตเบ„เปเบฒเป€เบ•เบทเบญเบ™เบชเปเบฒเบฅเบฑเบš
เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบตเปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบก, เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เป€เบเบปเปˆเบฒเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เป„เบ”เป‰ f95, f2003
เปเบฅเบฐ f2008 เบ„เบธเบ™เบ„เปˆเบฒเบฅเบฐเบšเบธเบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡เบขเปˆเบฒเบ‡เป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”เบเบฑเบš Fortran 95, Fortran 2003 เปเบฅเบฐ
Fortran 2008 เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš; เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปเบกเปˆเบ™เปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ
เบกเบฒเบ”โ€‹เบ•เบฐโ€‹เบ–เบฒเบ™โ€‹เบžเบฒโ€‹เบชเบฒโ€‹เบ—เบตเปˆโ€‹เบเปˆเบฝเบงโ€‹เบ‚เป‰เบญเบ‡โ€‹, เปเบฅเบฐโ€‹เบ„เปเบฒโ€‹เป€เบ•เบทเบญเบ™โ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™ Fortran 77 เบฅเบฑเบโ€‹เบชเบฐโ€‹เบ™เบฐโ€‹เบ—เบตเปˆโ€‹
เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ™เบธเบเบฒเบ”เปเบ•เปˆเบฅเป‰เบฒเบชเบฐเป„เบซเบกเปƒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ•เปเปˆเบกเบฒ. -std=f2008ts เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ Fortran 2008
เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ‚เบญเบ‡เบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™ (TS) 29113 เบ•เปเปˆเป„เบ›
Interoperability เบ‚เบญเบ‡ Fortran เบเบฑเบš C เปเบฅเบฐ TS 18508 เบเปˆเบฝเบงเบเบฑเบšเบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบ™
เบŸเปเบฃเบฑเบ™.

เป€เบ›เบตเบ”เบ™เปเบฒเปƒเบŠเป‰ เปเบฅเบฐ เบ›เบฑเบš เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบเปˆเบญเบ™
เบ•เบปเบงเป€เบฅเบทเบญเบเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ•เบปเบงเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเปˆเบญเบ™. เป€เบšเบดเปˆเบ‡เบžเบฒเบ เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเปˆเบญเบ™ เปเบฅเบฐ เบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚ เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™
เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบกโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบš preprocessing เปƒเบ™โ€‹ gfortran.

-cpp
-nocpp
เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเปˆเบญเบ™. preprocessor เปเบกเปˆเบ™ invoked เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเป„เบŸเบฅเปŒ
is .fpp, .FPP, .F, .FOR, .FTN, .F90, .F95, .F03 or .F08. เปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เป€เบžเบทเปˆเบญเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡
เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเปˆเบญเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒ Fortran เบ›เบฐเป€เบžเบ”เปƒเบ”เบ™เบถเปˆเบ‡.

เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเปˆเบญเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เปƒเบซเป‰เปƒเบŠเป‰เบ›เบธเปˆเบก
เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ—เบฒเบ‡โ€‹เบฅเบปเบšโ€‹: -nocpp.

เป‚เบ›เป€เบŠเบ”เป€เบŠเบต preprocessor เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡. เบ‚เปเป‰โ€‹เบˆเปเบฒโ€‹เบเบฑเบ”โ€‹เปƒเบ”เป†โ€‹เบ‚เบญเบ‡โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹,
เป‚เบ”เบโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปเบกเปˆเบ™โ€‹เบ‚เปเป‰โ€‹เบˆเปเบฒโ€‹เบเบฑเบ”โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบ„เบงเบฒเบกโ€‹เบเบฒเบงโ€‹เบ‚เบญเบ‡โ€‹เป€เบชเบฑเป‰เบ™โ€‹, เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ•เบฐโ€‹เบžเบฑเบ™โ€‹เบเปˆเบญเบ™โ€‹เบเบฒเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เป€เบŠเบฑเปˆเบ™โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹, เบชเบฐโ€‹เบ™เบฑเป‰เบ™โ€‹เบกเบฑเบ™โ€‹
เบญเบฒเบ”เบˆเบฐเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰ -ffree-line-length-none or -ffixed-line-length-none
เบ•เบปเบงเป€เบฅเบทเบญเบ

-dM เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ›เบปเบเบเบฐเบ•เบด, เบชเป‰เบฒเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ '#define' เบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡เบซเบกเบปเบ”.
macros เบ–เบทเบเบเปเบฒเบ™เบปเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ‚เบญเบ‡ preprocessor, เบฅเบงเบกเบ—เบฑเบ‡ macro เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ.
เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบกเบตเบงเบดเบ—เบตเบเบฒเบ™เบŠเบญเบเบซเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒเปƒเบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™
เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบเปˆเบญเบ™. เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบกเบตเป„เบŸเบฅเปŒ foo.f90, เบ„เปเบฒเบชเบฑเปˆเบ‡

เปเบ•เบฐ foo.f90; gfortran -cpp -E -dM foo.f90

เบˆเบฐเบชเบฐเปเบ”เบ‡ macro เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”.

-dD เบ„เบท -dM เบเบปเบเป€เบงเบฑเป‰เบ™เปƒเบ™เบชเบญเบ‡เบ”เป‰เบฒเบ™: เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบฅเบงเบกเป€เบญเบปเบฒ macro เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™, เปเบฅเบฐเบกเบฑเบ™
เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบฑเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ "#define" เปเบฅเบฐเบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบเปˆเบญเบ™. เบ—เบฑเบ‡โ€‹เบชเบญเบ‡โ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบ‚เบญเบ‡โ€‹
เบœเบปเบ™เบœเบฐเบฅเบดเบ”เป„เบ›เบซเบฒเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.

-dN เบ„เบท -dD, เปเบ•เปˆเบ›เปˆเบญเบเบžเบฝเบ‡เปเบ•เปˆเบŠเบทเปˆเบกเบฐเบซเบฒเบžเบฒเบ, เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡เบกเบฑเบ™.

-dU เบ„เบท dD เบเบปเบโ€‹เป€เบงเบฑเป‰เบ™โ€‹เปเบ•เปˆโ€‹เบงเปˆเบฒโ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบกเบฐโ€‹เป‚เบ„โ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ‚เบฐโ€‹เบซเบเบฒเบโ€‹, เบซเบผเบทโ€‹เบเบฒเบ™โ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เปƒเบ™โ€‹
preprocessor เบ„เปเบฒเบชเบฑเปˆเบ‡, เปเบกเปˆเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”; เบœเบปเบ™เบœเบฐเบฅเบดเบ”เปเบกเปˆเบ™เบŠเบฑเบเบŠเป‰เบฒเบˆเบปเบ™เบเปˆเบงเบฒเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเบผเบทเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡
เบกเบฐเบซเบฒเบžเบฒเบ; เปเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡ '#undef' เบเบฑเบ‡เป€เบ›เบฑเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบชเปเบฒเบฅเบฑเบš macros เบ—เบตเปˆเบ—เบปเบ”เบชเบญเบšเปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบขเบนเปˆเบ—เบตเปˆ
เป€เบงโ€‹เบฅเบฒ.

-dI เบญเบญเบเบ„เปเบฒเบชเบฑเปˆเบ‡ '#include' เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบเปˆเบญเบ™.

-fworking-directory
เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเปเบฒเบเปเบ–เบงเปƒเบ™เบœเบปเบ™เบญเบญเบเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต preprocessor เบ—เบตเปˆเบˆเบฐเบ›เปˆเบญเบเปƒเบซเป‰ compiler เป„เบ”เป‰
เบฎเบนเป‰เบˆเบฑเบเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบเปˆเบญเบ™. เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™
เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เปเบฅเป‰เบง, เบ•เบปเบงเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเปˆเบญเบ™เบˆเบฐเบ›เปˆเบญเบเบญเบญเบเบกเบฒ, เบซเบผเบฑเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเปเบ–เบงเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเปเบ–เบงเบ—เบตเบชเบญเบ‡
เบเบฑเบšเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบ•เบดเบ”เบ•เบฒเบกเบ”เป‰เบงเบเบชเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบŠเป‰เบญเบ™. GCC เบˆเบฐเปƒเบŠเป‰เบญเบฑเบ™เบ™เบตเป‰
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, เป€เบกเบทเปˆเบญเบกเบฑเบ™เบกเบตเบขเบนเปˆเปƒเบ™เบงเบฑเบ”เบชเบฐเบ”เบธเบ›เป‰เบญเบ™เบ—เบตเปˆเบ›เบธเบ‡เปเบ•เปˆเบ‡เบเปˆเบญเบ™, เป€เบ›เบฑเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบ›เปˆเบญเบเบญเบญเบเบกเบฒ
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบขเบนเปˆเปƒเบ™เบšเบฒเบ‡เบฎเบนเบšเปเบšเบšเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ”เบตเบšเบฑเบ. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™
เป€เบ›เบตเบ”เปƒเบŠเป‰ implicitly เบ–เป‰เบฒเบ‚เปเป‰เบกเบนเบ™ debugging เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰, เปเบ•เปˆเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเบšเบเบฑเป‰เบ‡เป„เบ”เป‰
เปเบšเบšเบŸเบญเบกเบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเป€เบชเบ” -fno-working-directoryเบ—เบตเปˆเบขเบนเปˆ เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ -P เบ—เบธเบ‡เบกเบตเบขเบนเปˆเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡
เป€เบชเบฑเป‰เบ™, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบšเปเปˆเบกเบตเบœเบปเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบšเปเปˆเบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡ "#line" เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก.

-idirafter dir
เบ„เบปเป‰เบ™เบซเบฒ dir เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบฅเบงเบกโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹, เปเบ•เปˆโ€‹เป€เบฎเบฑเบ”โ€‹เบกเบฑเบ™โ€‹เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบฅเบฒเบโ€‹เบเบฒเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ—เบตเปˆโ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹เบเบฑเบšโ€‹ -I เปเบฅเบฐ
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบฅเบฐเบšเบปเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปเบปเบ”เปเบฅเป‰เบง. dir เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบš
เบ›เบฐโ€‹เบเบญเบšโ€‹เบกเบตโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹. เบ–เป‰เบฒ dir เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ "=", เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ "=" เบˆเบฐเบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบ
sysroot เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ; เป€เบšเบดเปˆเบ‡ --sysroot เปเบฅเบฐ -isysroot.

-Imultilib dir
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ dir เป€เบ›เบฑเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบเปˆเบญเบเบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบตเบชเปˆเบงเบ™เบซเบปเบง C++ เบชเบฐเป€เบžเบฒเบฐเป€เบ›เบปเป‰เบฒเปเบฒเบ.

- เบ„เปเบฒโ€‹เบ™เบดโ€‹เบเบฒเบกโ€‹ เบ„เบณ เบ™เบณ เปœเป‰เบฒ
เบฅเบฐเบšเบธเบงเปˆเบฒ เบ„เบณ เบ™เบณ เปœเป‰เบฒ เป€เบ›เบฑเบ™เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เปเปˆเบกเบฒ -iwithprefix เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบ–เป‰เบฒ เบ„เบณ เบ™เบณ เปœเป‰เบฒ
เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, เบ—เปˆเบฒเบ™เบ„เบงเบ™เบ›เบฐเบเบญเบšเบกเบต '/' เบชเบธเบ”เบ—เป‰เบฒเบ.

-isysroot dir
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบท --sysroot เบ—เบฒเบ‡เป€เบฅเบทเบญเบ, เปเบ•เปˆเปƒเบŠเป‰เบเบฑเบšเป„เบŸเบฅเปŒเบชเปˆเบงเบ™เบซเบปเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เป€เบšเบดเปˆเบ‡
--sysroot เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบกโ€‹.

-iquote dir
เบ„เบปเป‰เบ™เบซเบฒ dir เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒ header เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเบ”เป‰เบงเบ "#include "file"; เบžเบงเบโ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™
เบ„เบปเป‰เบ™เบซเบฒเบชเปเบฒเบฅเบฑเบš "#include ", เบเปˆเบญเบ™เบ—เบธเบเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบฅเบฐเบšเบธเป‚เบ”เบ -I เปเบฅเบฐเบเปˆเบญเบ™
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบฅเบฐเบšเบปเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบ–เป‰เบฒ dir เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ "=", เบˆเบฒเบเบ™เบฑเป‰เบ™ "=" เบˆเบฐเบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบ
sysroot เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ; เป€เบšเบดเปˆเบ‡ --sysroot เปเบฅเบฐ -isysroot.

- เบฅเบฐเบšเบปเบš dir
เบ„เบปเป‰เบ™เบซเบฒ dir เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒ header, เบซเบผเบฑเบ‡เบˆเบฒเบเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบฅเบฐเบšเบธเป‚เบ”เบ -I เปเบ•เปˆเบเปˆเบญเบ™
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบฅเบฐเบšเบปเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เปเบฒเบเบกเบฑเบ™เป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเบฅเบฐเบšเบปเบš, เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบฑเบ™เบ„เบทเบเบฑเบ™
เบเบฒเบ™เบ›เบดเปˆเบ™เบ›เบปเบงเบžเบดเป€เบชเบ”เบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบฅเบฐเบšเบปเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบ–เป‰เบฒ dir เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ
"=", เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ "=" เบˆเบฐเบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบเบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ sysroot; เป€เบšเบดเปˆเบ‡ --sysroot เปเบฅเบฐ -isysroot.

-nostdinc
เบขเปˆเบฒเบ„เบปเป‰เบ™เบซเบฒเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบฅเบฐเบšเบปเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบชเปˆเบงเบ™เบซเบปเบง. เบžเบฝเบ‡เปเบ•เปˆเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต
เบ—เปˆเบฒเบ™โ€‹เป„เบ”เป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹เบเบฑเบšโ€‹ -I เบ—เบฒเบ‡เป€เบฅเบทเบญเบ (เปเบฅเบฐเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ›เบฐเบˆเบธเบšเบฑเบ™, เบ–เป‰เบฒ
เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก) เบ–เบทเบเบ„เบปเป‰เบ™เบซเบฒ.

-undef
เบขเปˆเบฒเบเบณเบ™เบปเบ”เบกเบฒเป‚เบ„เบฃเบชเบฐเป€เบžเบฒเบฐเบฅเบฐเบšเบปเบš เบซเบผเบท GCC เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เป†เบฅเปˆเบงเบ‡เปœเป‰เบฒ. เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰เบฅเปˆเบงเบ‡เปœเป‰เบฒ
เบกเบฐเบซเบฒเบžเบฒเบเบเบฑเบ‡เบ„เบปเบ‡เบ–เบทเบเบเปเบฒเบ™เบปเบ”.

-Aเบ„เบฒเบ”เบ„เบฐเป€เบ™=เบ„เปเบฒเบ•เบญเบš
เป€เบฎเบฑเบ”เบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เบเบฑเบš predicate เป„เบ”เป‰ เบ„เบฒเบ”เบ„เบฐเป€เบ™ เปเบฅเบฐเบ•เบญเบš เบ„เปเบฒเบ•เบญเบš. เปเบšเบšเบŸเบญเบกเบ™เบตเป‰เปเบกเปˆเบ™
เบ•เป‰เบญเบ‡เบเบฒเบ™เบฎเบนเบšเปเบšเบšเป€เบเบปเปˆเบฒ -A predicate (เบ„เปเบฒเบ•เบญเบš), เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™
เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบžเบดเป€เบชเบ”เบ‚เบญเบ‡เปเบเบฐ.

-HAS-เบ„เบฒเบ”เบ„เบฐเป€เบ™=เบ„เปเบฒเบ•เบญเบš
เบเบปเบเป€เบฅเบตเบเบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เบเบฑเบš predicate เบ„เบฒเบ”เบ„เบฐเป€เบ™ เปเบฅเบฐเบ•เบญเบš เบ„เปเบฒเบ•เบญเบš.

-C เบขเปˆเบฒเบ›เบฐเบ–เบดเป‰เบกเบ„เปเบฒเป€เบซเบฑเบ™. เบ„เปเบฒเป€เบซเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เป„เบ›เบซเบฒเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”, เบเบปเบเป€เบงเบฑเป‰เบ™
เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ„เปเบฒโ€‹เบ„เบดเบ”โ€‹เป€เบซเบฑเบ™โ€‹เปƒเบ™โ€‹เบ„เปเบฒโ€‹เปเบ™เบฐโ€‹เบ™เปเบฒโ€‹เบเบฒเบ™โ€‹เบ›เบธเบ‡โ€‹เปเบ•เปˆเบ‡โ€‹, เบ—เบตเปˆโ€‹เบ–เบทเบโ€‹เบฅเบปเบšโ€‹เบžเป‰เบญเบกโ€‹เบเบฑเบšโ€‹เบ„เปเบฒโ€‹เปเบ™เบฐโ€‹เบ™เปเบฒโ€‹.

เบ—เปˆเบฒเบ™เบ„เบงเบ™เบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบ‚เป‰เบฒเบ‡เบ„เบฝเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰ -C; เบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰ preprocessor เป„เบ”เป‰
เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบ„เบดเบ”เป€เบซเบฑเบ™เป€เบ›เบฑเบ™ token เปƒเบ™เบชเบดเบ”เบ—เบดเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ„เปเบฒเป€เบซเบฑเบ™เบ—เบตเปˆเบ›เบฒเบเบปเบ”เบขเบนเปˆ
เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ™เบฑเป‰เบ™เป€เบ›เบฑเบ™
เปเบ–เบงเปเบซเบผเปˆเบ‡เบ—เปเบฒเบกเบฐเบ”เบฒ, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ token เบ—เปเบฒเบญเบดเบ”เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบšเปเปˆเปเบกเปˆเบ™ '#' เบญเบตเบเบ•เปเปˆเป„เบ›.

เบ„เปเบฒเป€เบ•เบทเบญเบ™: เบ›เบฐเบˆเบธเบšเบฑเบ™เบ™เบตเป‰เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ„เปเบฒเป€เบซเบฑเบ™เปเบšเบš C-Style เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. preprocessor เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰
เบฎเบฑเบšเบฎเบนเป‰เบ„เปเบฒเป€เบซเบฑเบ™เปเบšเบš Fortran.

-CC เบขเปˆเบฒเบ›เบฐเบ–เบดเป‰เบกเบ„เปเบฒเป€เบซเบฑเบ™, เบฅเบงเบกเบ—เบฑเบ‡เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบกเบฐเบซเบฒเบžเบฒเบ. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบท -C, เบเบปเบเป€เบงเบฑเป‰เบ™
เบ„เปเบฒเบ„เบดเบ”เบ„เปเบฒเป€เบซเบฑเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ macro เบเบฑเบ‡เบ–เบทเบเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เป„เบ›เบซเบฒเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆ
เบกเบฐเบซเบฒเบžเบฒเบเป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบ.

เบ™เบญเบโ€‹เป€เบซเบ™เบทเบญโ€‹เป„เบ›โ€‹เบˆเบฒเบโ€‹เบœเบปเบ™โ€‹เบเบฐโ€‹เบ—เบปเบšโ€‹เบ‚เป‰เบฒเบ‡โ€‹เบ„เบฝเบ‡โ€‹เบ‚เบญเบ‡โ€‹ -C เบ—เบฒเบ‡เป€เบฅเบทเบญเบ, เป„เบ”เป‰ -CC เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบฎเบฑเบ”เปƒเบซเป‰ C++-style เบ—เบฑเบ‡เปเบปเบ”
เบ„เบณเป€เบซเบฑเบ™เบžเบฒเบเปƒเบ™เบกเบฐเบซเบฒเบžเบฒเบเบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™เบ„เบณเป€เบซเบฑเบ™เปเบšเบš C. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบšเปเปˆเปƒเบซเป‰เบ•เปเปˆเบกเบฒ
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบกเบฐเบซเบฒเบžเบฒเบเบˆเบฒเบเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ•เบฑเป‰เบ‡เปƒเบˆเบญเบญเบเบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบชเบฒเบเปเบซเบผเปˆเบ‡.
เป„เบ”เป‰ -CC เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ„เปเบฒเป€เบซเบฑเบ™ lint.

เบ„เปเบฒเป€เบ•เบทเบญเบ™: เบ›เบฐเบˆเบธเบšเบฑเบ™เบ™เบตเป‰เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ„เปเบฒเป€เบซเบฑเบ™ C- เปเบฅเบฐ C++-Style เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. preprocessor เป€เบฎเบฑเบ”
เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบฎเบฑเบšเบฎเบนเป‰เบ„เปเบฒเป€เบซเบฑเบ™เปเบšเบš Fortran.

-DเบŠเบทเปˆ
เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เบŠเบทเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบกเบฐโ€‹เบซเบฒโ€‹เบžเบฒเบโ€‹, เบกเบตโ€‹เบ„เปเบฒโ€‹เบ™เบดโ€‹เบเบฒเบก 1โ€‹.

-DเบŠเบทเปˆ=เบ„เปเบฒเบ™เบดเบเบฒเบก
เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡ เบ„เปเบฒเบ™เบดเบเบฒเบก เปเบกเปˆเบ™ tokenized เปเบฅเบฐเบ›เบธเบ‡เปเบ•เปˆเบ‡เป€เบ›เบฑเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ›เบฐเบเบปเบ”เบงเปˆเบฒเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡
เบเบฒเบ™เปเบ›เบžเบฒเบชเบฒเป„เบฅเบเบฐเบชเบฒเบกเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ '#define'. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบ„เปเบฒเบ™เบดเบเบฒเบกเบˆเบฐ
เบˆเบฐเบ–เบทเบเบ•เบฑเบ”เป‚เบ”เบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปเบ–เบงเปƒเปเปˆเบ—เบตเปˆเบเบฑเบ‡เป„เบงเป‰.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เป€เบญเบตเป‰เบ™ preprocessor เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™ shell เบซเบผเบท shell, เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™
เป€เบžเบทเปˆเบญเปƒเบŠเป‰ syntax เบงเบปเบ‡เบขเบทเบกเบ‚เบญเบ‡ shell เป€เบžเบทเปˆเบญเบ›เบปเบเบ›เป‰เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เป€เบŠเบฑเปˆเบ™เบŠเปˆเบญเบ‡เบ—เบตเปˆเบกเบต a
เบ„เบงเบฒเบกเบซเบกเบฒเบเปƒเบ™ syntax เบ‚เบญเบ‡ shell.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบเปเบฒเบ™เบปเบ” macro เบ„เป‰เบฒเบเบ„เบทเบŸเบฑเบ‡เบŠเบฑเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เบ‚เบฝเบ™ argument เบ‚เบญเบ‡เบกเบฑเบ™
เบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเบกเบตเบงเบปเบ‡เป€เบฅเบฑเบšเบญเป‰เบญเบกเบ‚เป‰เบฒเบ‡เบเปˆเบญเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเป€เบ—เบปเปˆเบฒเบเบฑเบš (เบ–เป‰เบฒเบกเบต). เบงเบปเบ‡เป€เบฅเบฑเบšเปเบกเปˆเบ™
เบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบชเปเบฒเบฅเบฑเบšเปเบเบฐเบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบญเป‰เบฒเบ‡เป€เบ–เบดเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบ”เป‰เบงเบ sh เปเบฅเบฐ csh,
"-D'name(args...)=definition'" เป€เบฎเบฑเบ”เบงเบฝเบ.

-D เปเบฅเบฐ -U เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ•เบฒเบกโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เปƒเบ™โ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹. เบ—เบฑเบ‡เปเบปเบ”
เป„เบŸเบฅเปŒ imacros เปเบฅเบฐ -include เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป„เบŸเบฅเปŒเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ -D เปเบฅเบฐ -U เบ—เบฑเบ‡เบซเบกเบปเบ”.

-H เบžเบดเบกเบŠเบทเปˆเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐ header file เบ—เบตเปˆเปƒเบŠเป‰, เบ™เบญเบเบˆเบฒเบเบเบดเบ”เบˆเบฐเบเปเบฒเบ›เบปเบเบเบฐเบ•เบดเบญเบทเปˆเบ™เป†. เปเบ•เปˆเบฅเบฐ
เบŠเบทเปˆเบ–เบทเบเบซเบเปเป‰เปœเป‰เบฒเป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบกเบฑเบ™เป€เบฅเบดเบเบ›เบฒเบ™เปƒเบ”เปƒเบ™ stack '#include'.

-P เบเบฑเบšเบเบฑเป‰เบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเปเบฒเบเปเบ–เบงเปƒเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบˆเบฒเบเป‚เบ›เบฃเป€เบŠเบชเป€เบŠเบตเบเปˆเบญเบ™. เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™
เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบฅเปˆเบ™ preprocessor เบเปˆเบฝเบงเบเบฑเบšเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบฅเบฐเบซเบฑเบ” C, เปเบฅเบฐเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›
เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเบชเบฑเบšเบชเบปเบ™เป‚เบ”เบ linemarkers.

-UเบŠเบทเปˆ
เบเบปเบเป€เบฅเบตเบเบ„เปเบฒเบ™เบดเบเบฒเบกเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบ‚เบญเบ‡ เบŠเบทเปˆ, เบšเปเปˆเบงเปˆเบฒเบˆเบฐเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบซเบผเบทเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบเบฑเบš a -D เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™ to เบฎเป‰เบญเบ‡เบ‚เป or เบชเบฐเบเบฑเบ”เบเบฑเป‰เบ™ เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” เปเบฅเบฐ เบ„เปเบฒเป€เบ•เบทเบญเบ™
เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปเบกเปˆเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบงเบดเบ™เบดเบ”เป„เบชเบ—เบตเปˆเบฅเบฒเบเบ‡เบฒเบ™เบงเปˆเบฒ GNU Fortran compiler เบšเปเปˆเบชเบฒเบกเบฒเบ”เบฅเบงเบšเบฅเบงเบกเป„เบ”เป‰
เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡. compiler เบˆเบฐเบชเบทเบšเบ•เปเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ„เบ‡เบเบฒเบ™เปƒเบ™
เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเบฅเบฒเบเบ‡เบฒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ•เบทเปˆเบกเบญเบตเบเป€เบžเบทเปˆเบญเบŠเปˆเบงเบเปƒเบ™เบเบฒเบ™เบ”เบตเบšเบฑเบ, เปเบ•เปˆเบˆเบฐเบšเปเปˆเบœเบฐเบฅเบดเบ”เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเปƒเบ”เป†
เบœเบปเบ™เบœเบฐเบฅเบดเบ”.

เบ„เปเบฒเป€เบ•เบทเบญเบ™เปเบกเปˆเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบงเบดเบ™เบดเบ”เป„เบชเบ—เบตเปˆเบฅเบฒเบเบ‡เบฒเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ›เบฐเบเบปเบ”เบ•เบปเบง
erroneous เปเบ•เปˆเบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบซเบผเบทเปเบ™เบฐเบ™เปเบฒเบงเปˆเบฒเบกเบตเปเบ™เบงเป‚เบ™เป‰เบกเบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ bug เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™.
เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒ - เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹ เบ–เบทเบเบเปเบฒเบ™เบปเบ”, เบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเป„เบ”เป‰เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเป‚เบ„เบ‡เบเบฒเบ™.

เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบžโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบผเบฒเบโ€‹เป‚เบ”เบโ€‹เบกเบตโ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹ -W, เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡ - Wimplicit
เป€เบžเบทเปˆเบญเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบเบฒเบ” implicit. เปเบ•เปˆเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบชเบฐเป€เบžเบฒเบฐเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบเบฑเบ‡
เบกเบตเบฎเบนเบšเปเบšเบšเบ—เบฒเบ‡เบฅเบปเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ -Wno- เบ›เบดเบ”โ€‹เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹เป„เบžโ€‹; เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡, -Wno - implicit.
เบ„เบนเปˆเบกเบทเบ™เบตเป‰เบชเบฐเปเบ”เบ‡เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบญเบ‡เบฎเบนเบšเปเบšเบš, เบญเบฑเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบกเบšเปเปˆเปเบกเปˆเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ„เบงเบšเบ„เบธเบกเบˆเปเบฒเบ™เบงเบ™เปเบฅเบฐเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปเบฅเบฐเบ„เปเบฒเป€เบ•เบทเบญเบ™เบ—เบตเปˆเบœเบฐเบฅเบดเบ”เป‚เบ”เบ GNU Fortran:

-fmax-errors=n
เบˆเปเบฒโ€‹เบเบฑเบ”โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบชเบนเบ‡โ€‹เบชเบธเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เป€เบžเบทเปˆเบญโ€‹ n, เปƒเบ™เบˆเบธเบ”เบ—เบตเปˆ GNU Fortran เบ›เบฐเบเบฑเบ™เบ•เบปเบง
เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเบชเบทเบšเบ•เปเปˆเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡. เบ–เป‰เบฒ n เปเบกเปˆเบ™ 0, เบšเปเปˆเบกเบต
เบˆเปเบฒเบเบฑเบ”เบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบœเบฐเบฅเบดเบ”.

-fsyntax เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™
เบเบงเบ”เป€เบšเบดเปˆเบ‡เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบš syntax เบœเบดเบ”เบžเบฒเบ”, เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เบฅเบงเบšเบฅเบงเบกเบกเบฑเบ™. เบ™เบตเป‰เบˆเบฐเบชเป‰เบฒเบ‡
เป„เบŸเบฅเปŒเป‚เบกเบ”เบนเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบฅเบฐเบซเบฑเบ”, เปเบ•เปˆเบšเปเปˆเบกเบตเป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบญเบทเปˆเบ™.

- pedantic
เบญเบญเบเบ„เปเบฒเป€เบ•เบทเบญเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเป„เบ› Fortran 95. - pedantic เบเบฑเบ‡เปƒเบŠเป‰เป„เบ”เป‰เบเบฑเบš
เบžเบฒเบชเบฒ C เบชเป‰เบฒเบ‡เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเบกเบฑเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡ GNU Fortran, เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ \e
เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ„เบปเบ‡เบ—เบตเปˆเบžเบฒเบเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบŠเบฑเปˆเบ™ "#include".

เป‚เบ›เบฃเปเบเบฃเบก Fortran 95 เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ„เบงเบ™เบฅเบงเบšเบฅเบงเบกเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เป‚เบ”เบเบกเบตเบซเบผเบทเบšเปเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰.
เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เป‚เบ”เบเบšเปเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰, เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ GNU เปเบฅเบฐเบฅเบฑเบเบชเบฐเบ™เบฐ Fortran เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก
เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™. เบ”เป‰เบงเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰, เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบ›เบฐเบ•เบดเป€เบชเบ”.

เบœเบนเป‰เปƒเบŠเป‰เบšเบฒเบ‡เบ„เบปเบ™เบžเบฐเบเบฒเบเบฒเบกเปƒเบŠเป‰ - pedantic เป€เบžเบทเปˆเบญเบเบงเบ”เบเบฒเป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบ”เบฒเป‚เบ„เบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡. เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบŠเบญเบเบซเบฒ
เบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™ --- เบกเบฑเบ™เบžเบปเบšเป€เบซเบฑเบ™เบšเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบšเปเปˆเบกเบตเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, เปเบ•เปˆ
เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ GNU Fortran เปƒเบ™เบ‚เบปเบ‡เป€เบ‚เบ”เบ™เบตเป‰เปเบกเปˆเบ™เบเบดเบ™เบ”เบตเบ•เป‰เบญเบ™เบฎเบฑเบš.

เบญเบฑเบ™เบ™เบตเป‰เบ„เบงเบ™เปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบš -std=f95, -std=f2003 or -std=f2008.

-pedantic เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹
เบ„เบท - pedantic, เบเบปเบเป€เบงเบฑเป‰เบ™เบงเปˆเบฒเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปเบกเปˆเบ™เบœเบฐเบฅเบดเบ”เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เป€เบ•เบทเบญเบ™.

- เบเบฒ
เป€เบ›เบตเบ”เปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบ—เบตเปˆเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™
เปเบฅเบฐเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบทเปˆเบญเบงเปˆเบฒเปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบซเบผเบตเบเป€เบงเบฑเป‰เบ™. เบ›เบฐเบˆเบธเบšเบฑเบ™เบ™เบตเป‰เบฅเบงเบกเบกเบต - เป€เบงโ€‹เบฅเบฒโ€‹เบŠเบดเป‰เบ‡,
-Wampersand, - เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹, - เปเบ›เบเปƒเบˆ, -Wc-binding-type, -Wintrinsics-std,
-Wno-tabs, -Wintrinsic-เป€เบ‡เบปเบฒ, -Wline-เบ•เบฑเบ”, -Wtarget-เบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”, -Wreal-q-เบ„เบปเบ‡เบ—เบตเปˆ
เปเบฅเบฐ - เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹.

- เป€เบงโ€‹เบฅเบฒโ€‹เบŠเบดเป‰เบ‡
เป€เบ•เบทเบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ™เบฒเบกเปเบเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ dummy. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบกเบฑเบ™เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ„เบทเบเบฑเบ™
เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ•เบปเบงเบˆเบดเบ‡เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ dummy เบเบฑเบš "INTENT(IN)" เปเบฅเบฐ dummy
เป‚เบ•เป‰เบ–เบฝเบ‡เบเบฑเบš "INTENT(OUT)" เปƒเบ™เบเบฒเบ™เป‚เบ—เบ”เป‰เบงเบเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™.

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบˆเบฐเบเบฐเบ•เบธเป‰เบ™เป€เบ•เบทเบญเบ™.

เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš
เปเบ–เบšเบ›เบปเบเบเบฐเบ•เบดเบเปˆเบญเบ(a,b)
integer, intent(in):: เบ
integer, intent(out):: เบ‚
เบชเบดเป‰เบ™เบชเบธเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบ›เบฐเบˆเบณเบเปˆเบญเบ
เบเบฒเบ™โ€‹เป‚เบ•เป‰โ€‹เบ•เบญเบšโ€‹เบ—เบตเปˆโ€‹เบชเบดเป‰เบ™โ€‹เบชเบธเบ”โ€‹
เบˆเบณเบ™เบงเบ™ :: เบ

เปเบ–เบšเบเบฒเบ™เป‚เบ—(a,a)

-Wampersand
เป€เบ•เบทเบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ‚เบฒเบ” ampersand เปƒเบ™เบ„เบปเบ‡เบ—เบตเปˆเบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™. เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเป„เบ”เป‰เบ–เบทเบเบกเบญเบšเปƒเบซเป‰
เบเบฑเบš -Wampersand, - pedantic, -std=f95, -std=f2003 เปเบฅเบฐ -std=f2008. เบซเบกเบฒเบเป€เบซเบ”: เบšเปเปˆเบกเบต
ampersand เปƒเบซเป‰เบขเบนเปˆเปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ„เบปเบ‡เบ—เบตเปˆเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, GNU Fortran เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบชเบทเบšเบ•เปเปˆเบขเบนเปˆเบ—เบตเปˆ
เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ„เปเบฒเบ„เบดเบ”เป€เบซเบฑเบ™เบ—เปเบฒเบญเบดเบ”, เบšเปเปˆเบกเบตเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบ ampersand เบ—เบตเปˆเบฅเบดเป€เบฅเบตเปˆเบก
เบเบฒเบ™เบชเบทเบšเบ•เปเปˆ.

- Warray-เบŠเบปเปˆเบงโ€‹เบ„เบฒเบงโ€‹
เป€เบ•เบทเบญเบ™เบเปˆเบฝเบงเบเบฑเบš array เบŠเบปเปˆเบงเบ„เบฒเบงเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบ compiler. เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบ
เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปƒเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš, เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบŠเบปเปˆเบงเบ„เบฒเบงเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

-Wc-binding-type
เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ•เบปเบงเปเบ›เบญเบฒเบ”เบˆเบฐเบšเปเปˆเปเบกเปˆเบ™ C interoperable. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ
เบ•เบปเบงเปเบ›เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบเบฒเบ”เป‚เบ”เบเปƒเบŠเป‰เบ›เบฐเป€เบžเบ”เบžเบฒเบเปƒเบ™เบ—เบตเปˆเบกเบตเบ›เบฐเป€เบžเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰
เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบชเปเบฒเบฅเบฑเบš C interoperability เปƒเบ™ "ISO_C_Binding" เบžเบฒเบเปƒเบ™.
เป‚เบกเบ”เบนเบ™. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป‚เบ”เบ - เบเบฒ.

- เบเบฒเบ™โ€‹เบ•เบฑเบ”โ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹
เป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบเบฒเบ™เบเบณเบ™เบปเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบˆเบฐเบ•เบฑเบ”เบชเบฒเบเบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰.

-Wline-เบ•เบฑเบ”
เป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเป€เบชเบฑเป‰เบ™เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบˆเบฐเบ–เบทเบเบ•เบฑเบ”เบญเบญเบ. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป‚เบ”เบ - เบเบฒเบ—เบตเปˆเบขเบนเปˆ เบชเปเบฒเบฅเบฑเบš
free-form source code, เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ -Werror=เป€เบชเบฑเป‰เบ™-เบ•เบฑเบ” เบเบฒเบ™เบ•เบฑเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง
เบ–เบทเบเบฅเบฒเบเบ‡เบฒเบ™เบงเปˆเบฒเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”.

- เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹
เป€เบ•เบทเบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปƒเบˆเป€เบซเบฅเบทเป‰เบญเบกเปƒเบช implicit เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบชเบฐเปเบ”เบ‡เบญเบญเบ
เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปƒเบˆโ€‹เป€เบซเบฅเบทเป‰เบญเบกโ€‹เปƒเบชโ€‹. เบšเบปเปˆเบ‡เบšเบญเบเป‚เบ”เบ - เบเบฒ.

-Wconversion-extra
เป€เบ•เบทเบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เปเบ›เบ‡ implicit เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ›เบฐเป€เบžเบ”เปเบฅเบฐเบ›เบฐเป€เบžเบ”เบ•เปˆเบฒเบ‡เป†. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เป€เบฎเบฑเบ”
เบšเปเปˆ เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒ - เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹.

-Wextra
เป€เบ›เบตเบ”เปƒเบŠเป‰เบšเบฒเบ‡เบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เป€เบ•เบทเบญเบ™เบชเบณเบฅเบฑเบšเบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบžเบฒเบชเบฒเบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเบกเบตเบšเบฑเบ™เบซเบฒ.
เบ›เบฐเบˆเบธเบšเบฑเบ™เบ™เบตเป‰เบ›เบฐเบเบญเบšเบกเบต -Wcompare-เบˆเบดเบ‡ เปเบฅเบฐ -Wunused-เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต.

-Wimplicit-interface
เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ–เบทเบเป€เบญเบตเป‰เบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™. เบซเบกเบฒเบเป€เบซเบ”เบ™เบตเป‰เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบเบงเบ”เบชเบญเบš
เบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบˆเบฐเปเบˆเป‰เบ‡. เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบ›เบฐเบเบฒเบ”
เบกเบตเบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡เปƒเบ™เบ—เบปเปˆเบงเบšเบฑเบ™เบ”เบฒเบซเบปเบงเปœเปˆเบงเบเป‚เบ„เบ‡เบเบฒเบ™.

- เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบเบฒเบ™โ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹
เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒเบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบซเบผเบทเบšเปเปˆเบกเบต
เบ›เบฐเบเบฒเบ”เบงเปˆเบฒเป€เบ›เบฑเบ™ "เบžเบฒเบเบ™เบญเบ".

-Wintrinsics-std
เป€เบ•เบทเบญเบ™เบ–เป‰เบฒ gfortran เบžเบปเบšเป€เบซเบฑเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบ„เป‰เบฒเบเบ„เบท intrinsic เบšเปเปˆเบกเบตเบขเบนเปˆเปƒเบ™
เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเป€เบฅเบทเบญเบเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ (เบกเบต -std) เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฑเบ™เป€เบ›เบฑเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™ "เบžเบฒเบเบ™เบญเบ" เป€เบžเบฒเบฐเบงเปˆเบฒ
เบ™เบตเป‰. - เบเบฒเบ™โ€‹เบซเบผเบธเบ”โ€‹เบฅเบปเบ‡โ€‹เบžเบฒเบโ€‹เปƒเบ™โ€‹ เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบšเปเปˆเป€เบ„เบตเบเบเบฐเบ•เบธเป‰เบ™เบžเบถเบ”เบ•เบดเบเปเบฒเบ™เบตเป‰เปเบฅเบฐเบชเบฐเป€เบซเบกเบตเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ
เบเบฑเบšเบžเบฒเบเปƒเบ™เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเป€เบฅเบทเบญเบ.

-Wreal-q-เบ„เบปเบ‡เบ—เบตเปˆ
เบœเบฐเบฅเบดเบ”เบ„เบณเป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ•เบปเบงเปœเบฑเบ‡เบชเบทเบ„เบปเบ‡เบ—เบตเปˆเบ—เบตเปˆเบกเบตเบ•เบปเบงเปœเบฑเบ‡เบชเบท "q".

- เปเบ›เบเปƒเบˆ
เบœเบฐเบฅเบดเบ”เบ„เปเบฒเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ” "เบชเบปเบ‡เปƒเบช" เบ–เบทเบเบžเบปเบš. เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ
เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เป€เบ•เบฑเบเบ™เบดเบเบ•เบฒเบกเบเบปเบ”เปเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบกเบตเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบžเบฒเบเปƒเบ•เป‰เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

* เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ SELECT INTEGER เบกเบตเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบˆเบฑเบšเบ„เบนเปˆเป„เบ”เป‰เบ•เบฒเบกเบ—เบตเปˆเบ•เปเปˆเบฒเบเบงเปˆเบฒ
เบ„เปˆเบฒเปเบกเปˆเบ™เปƒเบซเบเปˆเบเบงเปˆเบฒเบกเบนเบ™เบ„เปˆเบฒเป€เบ—เบดเบ‡เบ‚เบญเบ‡เบกเบฑเบ™.

* เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ SELECT LOGICAL เบกเบตเบชเบฒเบกเบเปเบฅเบฐเบ™เบต.

* A Transfer เบฅเบฐเบšเบธเปเบซเบผเปˆเบ‡เบ—เบตเปˆเบชเบฑเป‰เบ™เบเบงเปˆเบฒเบ›เบฒเบเบ—เบฒเบ‡.

* เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบ‚เบญเบ‡โ€‹เบœเบปเบ™โ€‹เบเบฒเบ™โ€‹เบ—เปเบฒโ€‹เบ‡เบฒเบ™โ€‹เปเบกเปˆเบ™โ€‹เบ›เบฐโ€‹เบเบฒเบ”โ€‹เบซเบผเบฒเบโ€‹เบโ€‹เปˆโ€‹เบงเบฒโ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบ„เบฑเป‰เบ‡โ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹. เบ–เป‰เบฒ
- pedantic เบซเบผเบทเบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰, เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”.

* เบ•เบปเบงเปเบ› "เบฅเบฑเบเบชเบฐเบ™เบฐ" เบ–เบทเบเบ›เบฐเบเบฒเบ”เบ”เป‰เบงเบเบ„เบงเบฒเบกเบเบฒเบงเบฅเบปเบš.

-Wtabs
เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เปเบ–เบšเบ–เบทเบเบเบญเบกเบฎเบฑเบšเป€เบ›เบฑเบ™เบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡, เปเบ•เปˆเปเบ–เบšเบšเปเปˆเปเบกเปˆเบ™เบชเบฐเบกเบฒเบŠเบดเบเบ‚เบญเบ‡ Fortran
เบŠเบธเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™. เบชเปเบฒเบฅเบฑเบšเปเบ–เบงเบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เปเบ–เบšเบ—เบตเปˆเบ•เบดเบ”เบ•เบฒเบกเบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบเบฅเบฐเบซเบงเปˆเบฒเบ‡ 1 เปเบฅเบฐ 9 เปเบกเปˆเบ™
เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. -Wtabs เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบตเบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบž เบ–เป‰เบฒเบžเบปเบšเปเบ–เบšเปƒเบ”เบ™เบถเปˆเบ‡. เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹,
-Wtabs เปเบกเปˆเบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบชเปเบฒเบฅเบฑเบš - pedantic, -std=f95, -std=f2003, -std=f2008, -std=f2008ts เปเบฅเบฐ
- เบเบฒ.

- Wunderflow
เบœเบฐเบฅเบดเบ”เบ„เปเบฒเป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญเบžเบปเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ„เบปเบ‡เบ—เบตเปˆเบ‚เบญเบ‡เบ•เบปเบงเป€เบฅเบ, เป€เบŠเบดเปˆเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš
UNDERFLOW เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก. เป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

-Wintrinsic-เป€เบ‡เบปเบฒ
เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เบซเบผเบทเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป‚เบกเบ”เบนเบ™เบกเบตเบŠเบทเปˆเบ”เบฝเบงเบเบฑเบ™เป€เบ›เบฑเบ™
เบžเบฒเบเปƒเบ™; เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบซเบผเบท "เบžเบฒเบเบ™เบญเบ" เบซเบผเบท "INTRINSIC"
เบเบฒเบ™เบ›เบฐเบเบฒเบ”เบญเบฒเบ”เบˆเบฐเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป‚เบ—เบ•เปเปˆเบกเบฒเปเบเป‰เป„เบ‚เบ•เบฒเบกเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™
เบžเบฒเบเปƒเบ™ / เบ‚เบฑเป‰เบ™เบ•เบญเบ™. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป‚เบ”เบ - เบเบฒ.

-Wuse-เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™
เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ—เบตเปˆ "เปƒเบŠเป‰" เบšเปเปˆเบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” "เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™" เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เบ™เปเบฒเป€เบ‚เบปเป‰เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เป‚เบ”เบ implicitly.
เบซเบปเบงเปœเปˆเบงเบเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเปƒเบŠเป‰เปเบฅเป‰เบง.

-Wunused-dummy-เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡
เป€เบ•เบทเบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ dummy เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป‚เบ”เบ - เบเบฒ.

-Wunused-เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต
เบเบปเบ‡โ€‹เบเบฑเบ™โ€‹เบ‚เป‰เบฒเบกโ€‹เบเบฑเบš gccเบ„เบงเบฒเบกโ€‹เบซเบกเบฒเบโ€‹เบ‚เบญเบ‡ -Wunused-เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต, gfortranเบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ™เบตเป‰โ€‹
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบšเปเปˆเป„เบ”เป‰เป€เบ•เบทเบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ dummy เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰ (เป€เบšเบดเปˆเบ‡ -Wunused-dummy-เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡), เปเบ•เปˆเบงเปˆเบฒ
เบเปˆเบฝเบงเบเบฑเบšเบ„เปˆเบฒ "PARAMETER" เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰. -Wunused-เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต เปเบกเปˆเบ™เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป‚เบ”เบ -Wextra เบ–เป‰เบฒเบเบฑเบ‡
- เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹ or - เบเบฒ เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰.

-Walign-commons
เป‚เบ”เบเบ•เบปเบงเบขเปˆเบฒเบ‡, gfortran เป€เบ•เบทเบญเบ™เบเปˆเบฝเบงเบเบฑเบšเป‚เบญเบเบฒเบ”เปƒเบ”เป†เบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบ—เบตเปˆเบ–เบทเบ padded เบชเปเบฒเบฅเบฑเบšเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก
เบเบฒเบ™เบˆเบฑเบ”เบงเบฒเบ‡เบžเบฒเบเปƒเบ™เบšเบฅเบฑเบญเบ "COMMON". เบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ›เบดเบ”เป„เบ”เป‰เป‚เบ”เบเบœเปˆเบฒเบ™
-Wno-align-commons. เป€เบšเบดเปˆเบ‡เบ•เบทเปˆเบก -falign-เบ—เบปเปˆเบงเป„เบ›.

- เบเบฒเบ™โ€‹เบฅเบปเบšโ€‹เบฅเป‰เบฒเบ‡ Wfunctionโ€‹
เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบเบฒเบ™เป‚เบ—เบซเบฒเบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เปƒเบ”เป†เบ–เบทเบเบฅเบปเบšเบฅเป‰เบฒเบ‡เป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ—เบตเปˆเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™
-ffrontend-optimize เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

-Wrealloc-lhs
เป€เบ•เบทเบญเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ compiler เบญเบฒเบ”เบˆเบฐเปƒเบชเปˆเบฅเบฐเบซเบฑเบ”เป€เบžเบทเปˆเบญเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบซเบผเบทเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™
array เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบชเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ” intrinsic เปƒเบ™เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเบžเบฒเบเปƒเบ™. เปƒเบ™โ€‹เบงเบปเบ‡โ€‹เบเบฒเบ™โ€‹เบฎเป‰เบญเบ™โ€‹,
เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™ Fortran 2003 เบญเบฒเบ”เบˆเบฐเบซเบผเบธเบ”เบฅเบปเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš. เบ–เป‰เบฒ array เปเบกเปˆเบ™
เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบ—เบตเปˆเบกเบตเบฎเบนเบšเบฎเปˆเบฒเบ‡เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเป‰เบง, เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ™เปเบฒเปƒเบŠเป‰ array-spec เบ—เบฑเบ‡เบซเบกเบปเบ” array
(เป€เบŠเบฑเปˆเบ™ "(:,:,:)") เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบ›เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบŠเป‰เบฒเบเบกเบทเป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™.
เบเบงเบ”. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเปƒเบ™เบšเบฒเบ‡เบเปเบฅเบฐเบ™เบตเบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเปเบกเปˆเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ compiler เบˆเบฐ
เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ—เบฑเบ™เบ—เบต. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบšเบทเป‰เบญเบ‡เบ‚เบงเบฒเบกเบทเบ›เบฐเบเบญเบšเบ”เป‰เบงเบ
เบ•เบปเบงเปเบ›เบ”เบฝเบงเบเบฑเบ™เบ„เบนเบ™เบ”เป‰เบงเบ scalar. เป€เบšเบดเปˆเบ‡เบ™เบณ -frealloc-lhs.

-Wrealloc-lhs-เบ—เบฑเบ‡เปเบปเบ”
เป€เบ•เบทเบญเบ™เป€เบกเบทเปˆเบญ compiler เปƒเบชเปˆเบฅเบฐเบซเบฑเบ”เป€เบžเบทเปˆเบญเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™ เบซเบผเบทเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบญเบฑเบ™
allocatable variable; เบ™เบตเป‰เบฎเบงเบกเป€เบ–เบดเบ‡เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ เปเบฅเบฐเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเป„เบ”เป‰เบกเบฒ.

-Wcompare-เบˆเบดเบ‡
เป€เบ•เบทเบญเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เบฝเบšเบ—เบฝเบšเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบซเบผเบทเบชเบฐเบฅเบฑเบšเบชเบฑเบšเบŠเป‰เบญเบ™เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบชเบฐเป€เบซเบกเบตเบžเบฒเบšเบซเบผเบทเบ„เบงเบฒเบกเบšเปเปˆเบชเบฐเป€เบซเบกเบตเบžเบฒเบš. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™
เบšเบปเปˆเบ‡เบšเบญเบเป‚เบ”เบ -Wextra.

-Wtarget-เบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”
เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบ•เบปเบงเบŠเบตเป‰เปƒเบ™เบเบฒเบ™เบกเบญเบšเปเบฒเบเบ•เบปเบงเบŠเบตเป‰เบญเบฒเบ”เบˆเบฐเบเบฒเบงเบเบงเปˆเบฒเป€เบ›เบปเป‰เบฒเปเบฒเบเบ‚เบญเบ‡เบกเบฑเบ™. เบ™เบตเป‰
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป‚เบ”เบ - เบเบฒ.

-Wzerotrip
เป€เบ•เบทเบญเบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบเบฒเบ™ loop "DO" เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบนเบ™เปƒเบ™เป€เบงเบฅเบฒเบฅเบงเบšเบฅเบงเบก. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™
เบšเบปเปˆเบ‡เบšเบญเบเป‚เบ”เบ - เบเบฒ.

- เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹
เบ›เปˆเบฝเบ™เบ„เบณเป€เบ•เบทเบญเบ™เบ—เบฑเบ‡เปเบปเบ”เปƒเบซเป‰เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”.

เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบšเบฑเบ™เบ”เบฒเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™ Fortran.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™ เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ debugging เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™ เป‚เบ„เบ‡เบเบฒเบ™ or GNU เบŸเปเบฃเบฑเบ™
GNU Fortran เบกเบตโ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เบ•เปˆเบฒเบ‡เป†โ€‹เบ—เบตเปˆโ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™ debugging เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹เบซเบผเบทโ€‹
GNU Fortran compiler.

-fdump-fortran-เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš
เป€เบญเบปเบฒเป„เบกเป‰เบขเบทเบ™เบ•เบปเป‰เบ™ parse เบžเบฒเบเปƒเบ™เบญเบญเบเบซเบผเบฑเบ‡เบˆเบฒเบเปเบ›เป‚เบ„เบ‡เบเบฒเบ™เปเบซเบผเปˆเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบžเบฒเบเปƒเบ™
เบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™. เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปเบ—เป‰เป†เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ debugging GNU Fortran compiler เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡.

-fdump-fortran-optimized
เบชเบปเปˆเบ‡เบญเบญเบเบ•เบปเป‰เบ™เป„เบกเป‰เปเบเบเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ”เป‰เบฒเบ™เบซเบ™เป‰เบฒ. เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปเบ—เป‰เป†เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ debugging
GNU Fortran compiler เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡.

-fdump-parse-tree
เป€เบญเบปเบฒเป„เบกเป‰เบขเบทเบ™เบ•เบปเป‰เบ™ parse เบžเบฒเบเปƒเบ™เบญเบญเบเบซเบผเบฑเบ‡เบˆเบฒเบเปเบ›เป‚เบ„เบ‡เบเบฒเบ™เปเบซเบผเปˆเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบžเบฒเบเปƒเบ™
เบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™. เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปเบ—เป‰เป†เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ debugging GNU Fortran compiler เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡.
เบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เบ–เบทเบเบ›เบฐเบ•เบดเป€เบชเบ”; เปƒเบŠเป‰ "-fdump-fortran-original" เปเบ—เบ™.

-ffpe-trap=เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ
เบฅเบฐเบšเบธเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ”เบฑเบเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบˆเบธเบ”เบฅเบญเบเป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™. เปƒเบ™เบฅเบฐเบšเบปเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบ–เป‰เบฒ เบ
เบเบฒเบ™เบเบปเบเป€เบงเบฑเป‰เบ™เบˆเบธเบ”เบ—เบตเปˆเบฅเบญเบเบ•เบปเบงเป€เบเบตเบ”เบ‚เบถเป‰เบ™ เปเบฅเบฐเปƒเบชเปˆเบเบฑเบšเบ”เบฑเบเบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ™เบฑเป‰เบ™เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™, SIGFPE
เบชเบฑเบ™โ€‹เบเบฒเบ™โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเบปเปˆเบ‡โ€‹เปเบฅเบฐโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบ–เบทเบโ€‹เป€เบญเบปเบฒโ€‹เบฅเบนเบโ€‹เบญเบญเบโ€‹, เบเบฒเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบซเบผเบฑเบโ€‹เบ—เบตเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ”โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹
เบเบฒเบ™เบ”เบตเบšเบฑเบ. เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ เปเบกเปˆเบ™เบฅเบฒเบเบเบฒเบ™เบ—เบตเปˆเบ‚เบฑเป‰เบ™เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ” (เบญเบฒเบ”เบˆเบฐเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ) เบ•เปเปˆเป„เบ›เบ™เบตเป‰
เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™: เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ (เบเบฒเบ™เบ”เบณเป€เบ™เบตเบ™เบเบฒเบ™เบˆเบธเบ”เบฅเบญเบเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เป€เบŠเบฑเปˆเบ™ "SQRT(-1.0)"), เบชเบนเบ™
(เบเบฒเบ™โ€‹เบซเบฒเบ™โ€‹เป‚เบ”เบโ€‹เบชเบนเบ™โ€‹)โ€‹, overflow (เบฅเบปเป‰เบ™เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบˆเบธเบ”เบฅเบญเบ), underflow
(underflow เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบ‡เบฒเบ™โ€‹เบˆเบธเบ”โ€‹เบ—เบตเปˆโ€‹เป€เบฅเบทเปˆเบญเบ™โ€‹เป„เบ”เป‰โ€‹)โ€‹, เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ (เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ„เบงเบฒเบกเบŠเบฑเบ”เป€เบˆเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡
เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™), เปเบฅเบฐ เบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบด (เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เปƒเบ™โ€‹เบ„เปˆเบฒโ€‹เบœเบดเบ”โ€‹เบ›เบปเบโ€‹เบเบฐโ€‹เบ•เบดโ€‹)โ€‹. เบซเป‰เบฒเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”
เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบเบปเบ‡เบเบฑเบšเบซเป‰เบฒเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™ IEEE 754, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบชเบธเบ”เบ—เป‰เบฒเบ (เบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบด)
เบšเปเปˆเปเบกเปˆเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ IEEE 754 เปเบ•เปˆเบกเบตเบขเบนเปˆเปƒเบ™เบšเบฒเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบปเปˆเบงเป„เบ›
เป€เบŠเบฑเปˆเบ™ x86.

เบชเบฒเบกเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ—เปเบฒเบญเบดเบ” (เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เบชเบนเบ™, เปเบฅเบฐ overflow) เบกเบฑเบเบˆเบฐเบชเบฐเปเบ”เบ‡เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบฎเป‰เบฒเบเปเบฎเบ‡
เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”, เปเบฅเบฐเป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเป‚เบ„เบ‡เบเบฒเบ™เบกเบตเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰,
เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เปƒเบชเปˆเบเบฑเบšเบ”เบฑเบเบชเปเบฒเบฅเบฑเบšเบชเบฒเบกเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ™เบตเป‰เปเบกเปˆเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบ”เบต.

เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ, เบ–เป‰เบฒเบšเปเปˆเปเบกเปˆเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบˆเบธเบ”เบ—เบตเปˆเป€เบฅเบทเปˆเบญเบ™เป„เบ”เป‰เบชเบนเบ™เป€เบชเบเบ„เบงเบฒเบกเปเบกเปˆเบ™เบเปเบฒเบเป‰เบญเบ™เบเบฒเบ™เบฎเบญเบš,
เปเบฅเบฐเป€เบžเบฒเบฐเบชเบฐเบ™เบฑเป‰เบ™ "ffpe-trap=inexact" เบกเบตเปเบ™เบงเป‚เบ™เป‰เบกเบ—เบตเปˆเบˆเบฐเบšเปเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ”เบฑเบเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™.

-ffpe-summary=เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ
เบฅเบฐเบšเบธเบฅเบฒเบเบŠเบทเปˆเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบˆเบธเบ”เบฅเบญเบ, เป€เบŠเบดเปˆเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบ—เบธเบ‡เบˆเบฐเบ–เบทเบเบžเบดเบกเบญเบญเบ
"ERROR_UNIT" เป€เบกเบทเปˆเบญเป€เบญเบตเป‰เบ™ "STOP" เปเบฅเบฐ "ERROR STOP". เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบ—เบฑเบ‡ none, เบ—เบฑเบ‡เบซเบกเบปเบ” เบซเบผเบท
เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเบ‚เบฑเป‰เบ™เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰: เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เบชเบนเบ™, overflow, underflow,
เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ เปเบฅเบฐ เบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบด, (เป€เบšเบดเปˆเบ‡ -ffpe-เบ”เบฑเบ เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™.)

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบชเบฐเบซเบผเบธเบšเบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบ•เปˆ เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ เปเบกเปˆเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™.

-fno-backtrace
เป€เบกเบทเปˆเบญเบžเบปเบšเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” runtime เบฎเป‰เบฒเบเปเบฎเบ‡ เบซเบผเบทเบชเบฑเบ™เบเบฒเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ
(เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เบเบฒเบ™โ€‹เปเบšเปˆเบ‡โ€‹เบเบธเปˆเบกโ€‹, เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบœเบดเบ”โ€‹เบเบปเบ”โ€‹เบซเบกเบฒเบโ€‹, เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เบฅเบปเบ”โ€‹เป€เบกโ€‹, เบ‚เปเป‰โ€‹เบเบปเบโ€‹เป€เบงเบฑเป‰เบ™โ€‹เบˆเบธเบ”โ€‹เบ—เบตเปˆโ€‹เป€เบฅเบทเปˆเบญเบ™โ€‹เป„เบ”เป‰โ€‹, เปเบฅเบฐโ€‹
เบชเบฑเบ™เบเบฒเบ™ POSIX เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” core), เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” Fortran runtime เบžเบฐเบเบฒเบเบฒเบก
เบชเบปเปˆเบ‡เบœเบปเบ™เบ•เบญเบšเปเบ—เบ™เบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. "-fno-backtrace" เบ›เบดเบ”เบเบฒเบ™เบœเบฐเบฅเบดเบ” backtrace.
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบžเบฝเบ‡เปเบ•เปˆเบกเบตเบญเบดเบ”เบ—เบดเบžเบปเบ™เบ•เปเปˆเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเป‰เบ™เบ•เป Fortran.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™ เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ เบฅเบฐเบšเบปเบš เบ„เบปเป‰เบ™เบซเบฒ
เบ•เบปเบงเป€เบฅเบทเบญเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเปเบ™เบงเปƒเบ” GNU Fortran เบ„เบปเป‰เบ™เบซเบฒเป„เบŸเบฅเปŒเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เป‚เบ”เบ "INCLUDE"
เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบŠเบญเบเบซเบฒเป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰.

เบกเบฑเบ™เบเบฑเบ‡เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ„เบปเป‰เบ™เบซเบฒเบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบ cpp เป€เบกเบทเปˆเบญเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบซเบผเปˆเบ‡ Fortran เบเปˆเบญเบ™.

-Idir
เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฒเบ™เบ•เบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ "เบฅเบงเบก" (เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš "#include"
เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡ cpp preprocessor).

เบเบฑเบ‡เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบปเปˆเบงเป„เบ›เบ‚เบญเบ‡ -I เปเบฅเบฐ "เบฅเบงเบก" เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ„เบทเบเบฑเบ™เบเบฑเบšเบ‚เบญเบ‡
-I เบ”เป‰เบงเบ "#include" เปƒเบ™ cpp preprocessor, เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบŠเบญเบเบซเบฒ header.gcc
เป„เบŸเบฅเปŒ เปเบฅเบฐเบชเบดเปˆเบ‡เบญเบทเปˆเบ™เป†เป€เบŠเบฑเปˆเบ™.

เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ™เบตเป‰เบเบฑเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ„เบปเป‰เบ™เบซเบฒ mod เป„เบŸเบฅเปŒเป€เบกเบทเปˆเบญเป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเป„เบงเป‰เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰
เบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ”เบเบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡ "USE".

-Jdir
เบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เบเปเบฒเบ™เบปเบ”เบšเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบงเบฒเบ‡ mod เป„เบŸเบฅเปŒเบชเปเบฒเบฅเบฑเบšเป‚เบกเบ”เบนเบ™เบฅเบงเบšเบฅเบงเบก. เบกเบฑเบ™เบเบฑเบ‡เบ–เบทเบเป€เบžเบตเปˆเบก
เป„เบ›เบซเบฒเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบˆเบฐเบ„เบปเป‰เบ™เบซเบฒเป‚เบ”เบเบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡ "USE".

เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ›เบฐเบˆเบธเบšเบฑเบ™.

-fintrinsic-modules-เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ dir
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ™เบตเป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เบ—เบตเปˆโ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบญเบ‡โ€‹เป‚เบกโ€‹เบ”เบนเบ™ intrinsic เบ—เบฒเบ‡โ€‹เบชเปˆเบงเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบชเบฑเบ‡โ€‹เบฅเบงเบกโ€‹, เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹
เปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบ„เบฒเบ”เป„เบงเป‰เป‚เบ”เบ compiler.

เบญเบดเบ”เบ—เบดเบžเบปเบ™ เป„เบ”เป‰ เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™
เบ•เบปเบงเป€เบฅเบทเบญเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบ‚เบปเป‰เบฒเบกเบฒเบซเบผเบดเป‰เบ™เป€เบกเบทเปˆเบญ compiler เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบŸเบฅเปŒเบงเบฑเบ”เบ–เบธเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”
เป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”. เบžเบงเบเบกเบฑเบ™เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบ–เป‰เบฒเบœเบนเป‰เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡.

-static-libgfortran
เบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบšเบปเบšเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡ libgfortran เป€เบ›เบฑเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเปเบšเปˆเบ‡เบ›เบฑเบ™เปเบฅเบฐเบชเบฐเบ–เบดเบ”, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰
เบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰เบชเบฐเบšเบฑเบš static. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบชเบฐเบšเบฑเบšเบžเบฒเบชเบฒเบ—เบตเปˆเปเบšเปˆเบ‡เบ›เบฑเบ™ libgfortran เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™
เป€เบกเบทเปˆเบญ compiler เป„เบ”เป‰เบ–เบทเบเบเปเบฒเบ™เบปเบ”, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบšเปเปˆเบกเบตเบœเบปเบ™.

เบญเบดเบ”เบ—เบดเบžเบปเบ™ runtime เบžเบถเบ”เบ•เบดเบเปเบฒ
เบ•เบปเบงเป€เบฅเบทเบญเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบžเบถเบ”เบ•เบด เบเบณ runtime เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบ”เป‰เบงเบ GNU Fortran.

-fconvert=เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡
เบฅเบฐเบšเบธเบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบšเปเปˆเบกเบตเบฎเบนเบšเปเบšเบš. เบ„เปˆเบฒเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปƒเบˆเป€เบซเบฅเบทเป‰เบญเบกเปƒเบช
เปเบกเปˆเบ™: native, เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™; เปเบฅเบเบ›เปˆเบฝเบ™เบ›เบฐเบชเบปเบš, swap เบฅเบฐเบซเบงเปˆเบฒเบ‡ big- เปเบฅเบฐ little-endian; endian เปƒเบซเบเปˆ, เปƒเบŠเป‰
big-endian เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบšเปเปˆเบกเบตเบฎเบนเบšเปเบšเบš; เบžเบฝเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบ endian, เปƒเบŠเป‰ little-endian
เบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบšเปเปˆเบกเบตเบฎเบนเบšเปเบšเบš.

เบ™เบตเป‰ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ เบกเบต an เบœเบปเบ™เบเบฐเบ—เบปเบš เบžเบฝเบ‡เปเบ•เปˆ เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ เปƒเบซเบกเปˆ in เป„เบ”เป‰ เบ•เบปเป‰เบ™เบ•เป เป‚เบ„เบ‡เบเบฒเบ™. เป„เบ”เป‰ "เปเบ›เบ‡" เบ•เบปเบงเบฅเบฐเบšเบธ
เปเบฅเบฐ เป„เบ”เป‰ GFORTRAN_CONVERT_UNIT เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก เบ•เบปเบงเปเบ› override เป„เบ”เป‰ Default เบฅเบฐเบšเบธ by
-fconvert.

-frecord-marker=เบ„เบงเบฒเบกเบเบฒเบง
เบฅเบฐเบšเบธเบ„เบงเบฒเบกเบเบฒเบงเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบšเบฑเบ™เบ—เบถเบเบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบšเปเปˆเบกเบตเบฎเบนเบšเปเบšเบš. เบ„เปˆเบฒเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบš เบ„เบงเบฒเบกเบเบฒเบง
เปเบกเปˆเบ™ 4 เปเบฅเบฐ 8. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 4. เบ™เบตเป‰ is เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™ เบˆเบฒเบ เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ เบชเบฐเบšเบฑเบš of gfortran,
เป€เบŠเบดเปˆเบ‡เบฅเบฐเบšเบธเบ„เบงเบฒเบกเบเบฒเบงเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบšเบฑเบ™เบ—เบถเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡ 8 เปƒเบ™เบฅเบฐเบšเบปเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆ. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™
เบญเปˆเบฒเบ™ เบซเบผเบทเบ‚เบฝเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบฅเบธเป‰เบ™เบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰ gfortran, เปƒเบŠเป‰
-frecord-marker=8.

-fmax-subrecord-length=เบ„เบงเบฒเบกเบเบฒเบง
เบฅเบฐเบšเบธเบ„เบงเบฒเบกเบเบฒเบงเบชเบนเบ‡เบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบ—เบถเบเบเปˆเบญเบ. เบ„เปˆเบฒเบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบเบฒเบงเปเบกเปˆเบ™
2147483639, เบŠเบถเปˆเบ‡เป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปเบ—เป‰เป†เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบ gfortran
เบŠเบธเบ”เบเบงเบ”.

-fsign-เบชเบนเบ™
เป€เบกเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™, เบ•เบปเบงเป€เบฅเบเบˆเบธเบ”เบฅเบญเบเบ•เบปเบงเบ‚เบญเบ‡เบ„เปˆเบฒเบชเบนเบ™เบ—เบตเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบšเบดเบ”เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰
เป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบเบฅเบปเบšเบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบšเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ”เปเบฅเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบฅเบปเบšเปƒเบ™ "SIGN"
เบžเบฒเบเปƒเบ™. -fno-sign-zero เบšเปเปˆเป„เบ”เป‰เบžเบดเบกเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบฅเบปเบšเบ‚เบญเบ‡เบ„เปˆเบฒเบชเบนเบ™ (เบซเบผเบทเบ„เปˆเบฒ
เบกเบปเบ™เป€เบ›เบฑเบ™เบชเบนเบ™เบชเบณเบฅเบฑเบš I/O) เปเบฅเบฐเบ–เบทเบงเปˆเบฒเบชเบนเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบเบšเบงเบเบขเบนเปˆเปƒเบ™เบ•เบปเบงเป€เบ„เบทเปˆเบญเบ‡ "SIGN"
เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš Fortran 77. เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ -fsign-เบชเบนเบ™.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™ เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ เบฅเบฐเบซเบฑเบ” เบเบฒเบ™เบœเบฐเบฅเบดเบ” เบญเบฐเบ™เบธเบชเบฑเบ™เบเบฒ
เบ•เบปเบงเป€เบฅเบทเบญเบเบ—เบตเปˆเบšเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ„เบงเบšเบ„เบธเบกเบชเบปเบ™เบ—เบดเบชเบฑเบ™เบเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบฅเบฐเบซเบฑเบ”
เบเบฒเบ™เบœเบฐเบฅเบดเบ”.

เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบ—เบฑเบ‡เบฎเบนเบšเปเบšเบšเบ—เบฒเบ‡เบšเบงเบเปเบฅเบฐเบ—เบฒเบ‡เบฅเบปเบš; เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ—เบฒเบ‡โ€‹เบฅเบปเบšโ€‹เบ‚เบญเบ‡โ€‹ -ffoo เบˆเบฐ
-fno-foo. เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰, เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เปƒเบ™เปเบšเบšเบŸเบญเบกเบ—เบตเปˆเบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰ --- เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ„เบดเบ”เบญเบญเบเบฎเบนเบšเปเบšเบšเบญเบทเปˆเบ™เป‚เบ”เบเบเบฒเบ™เบ–เบญเบ™เบญเบญเบ เบšเปเปˆ- เบซเบผเบทเป€เบžเบตเปˆเบกเบกเบฑเบ™.

-fno เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹
เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เปเปˆเปเบ•เปˆเบฅเบฐเบซเบ™เปˆเบงเบเบ‡เบฒเบ™เป‚เบ„เบ‡เบเบฒเบ™ (เบเบปเบเป€เบงเบฑเป‰เบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบกเบฒเบเป€เบ›เบฑเบ™ RECURSIVE) เบ„เบทเบเบฑเบšเบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™ "SAVE".
เป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเป†เบ•เบปเบงเปเบ›เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปเบฅเบฐเบญเบฒเป€เบฃเบ—เบตเปˆเบญเป‰เบฒเบ‡เบญเบตเบ‡เบขเบนเปˆเปƒเบ™เบกเบฑเบ™. เบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบš
เบ•เบฑเบ™เบ—เบปเปˆเบงเป„เบ›. (เบšเบฒเบ‡เบ•เบปเบงเบชเบฑเบ‡เบฅเบงเบก Fortran เปƒเบซเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบžเบฒเบเปƒเบ•เป‰เบŠเบทเปˆ -static or
- เบŠเปˆเบงเบโ€‹เบ›เบฐโ€‹เบขเบฑเบ”โ€‹.) เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบŠเบถเปˆเบ‡เป€เบ›เบฑเบ™ - เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹, เปƒเบŠเป‰ stack เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบ›เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเบ™เป‰เบญเบเบเบงเปˆเบฒ
เบเปˆเบงเบฒเบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเปƒเบซเป‰เป‚เบ”เบ -fmax-stack-var-size. เปƒเบŠเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบ - เบšเบฑเบ‡เป€เบญเบตเบ™ เปƒเบŠเป‰เบšเปเปˆ
เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ„เบปเบ‡เบ—เบตเปˆ.

-ff2c
เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบ g77 เปเบฅเบฐ f2c.

เบชเบปเบ™เบ—เบดเบชเบฑเบ™เบเบฒเบเบฒเบ™เป€เบญเบตเป‰เบ™เปƒเบŠเป‰เป‚เบ”เบ g77 (เบ”เบฑเป‰เบ‡โ€‹เป€เบ”เบตเบกโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เปƒเบ™โ€‹ f2c) เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบ—เบตเปˆโ€‹
เบ—เบตเปˆเบเบฑเบšเบ„เบทเบ™เบ›เบฐเป€เบžเบ”เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ "REAL" เป€เบžเบทเปˆเบญเบ•เบปเบงเบˆเบดเบ‡เบเบฑเบšเบ„เบทเบ™เบ›เบฐเป€เบžเบ” C "เบชเบญเบ‡" เปเบฅเบฐเบซเบ™เป‰เบฒเบ—เบตเปˆ
เบ—เบตเปˆเบเบฑเบšเบ„เบทเบ™เบ›เบฐเป€เบžเบ” "COMPLEX" เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบ„เบทเบ™เบ„เปˆเบฒเบœเปˆเบฒเบ™ argument เบžเบดเป€เบชเบ”เปƒเบ™เบเบฒเบ™เป‚เบ—
เบฅเปเบฒเบ”เบฑเบšเบ—เบตเปˆเบŠเบตเป‰เป„เบ›เบซเบฒเบšเปˆเบญเบ™เป€เบเบฑเบšเบ„เปˆเบฒเบเบฑเบšเบ„เบทเบ™. เบžเบฒเบเปƒเบ•เป‰ GNU เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
เบเบฒเบ™เป€เบญเบตเป‰เบ™เบชเบปเบ™เบ—เบดเบชเบฑเบ™เบเบฒ, เบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบžเบฝเบ‡เปเบ•เปˆเบชเบปเปˆเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบ•เบฒเบกเบ—เบตเปˆเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบ™ GNU
C---default "REAL" เบŸเบฑเบ‡เบŠเบฑเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™เบŸเบฑเบ‡เบŠเบฑเบ™ C type "float", เปเบฅเบฐ "COMPLEX" functions เบเบฑเบšเบ„เบทเบ™เบกเบฒ.
เบ›เบฐเป€เบžเบ” GNU C "เบชเบฐเบฅเบฑเบšเบชเบฑเบšเบŠเป‰เบญเบ™". เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบซเบกเบฒเบเป€เบ–เบดเบ‡ -fsecond-underscore
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ, เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆ -fno-second-underscore เบ–เบทเบเบฎเบฝเบเบฎเป‰เบญเบ‡เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡.

เบ™เบตเป‰เบšเปเปˆเบกเบตเบœเบปเบ™เบ•เปเปˆเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเป‚เบ•เป‰เบ•เบญเบšเบเบฑเบš libgfortran
เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”.

เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡: เบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบˆเบฐเบ›เบฐเบชเบปเบกเบฅเบฐเบซเบฑเบ” Fortran เบฅเบงเบšเบฅเบงเบกเบเบฑเบš -ff2c เบ”เป‰เบงเบเบฅเบฐเบซเบฑเบ”
เบฅเบงเบšเบฅเบงเบกเบ”เป‰เบงเบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ -fno-f2c เป€เบญเบตเป‰เบ™เบชเบปเบ™เบ—เบดเบชเบฑเบ™เบเบฒเป€เบ›เบฑเบ™, เป‚เบ—เบซเบฒ "COMPLEX" เบซเบผเบท
เบŸเบฑเบ‡เบŠเบฑเบ™ "REAL" เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบžเบฒเบเบชเปˆเบงเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบ–เบทเบเบฅเบงเบšเบฅเบงเบกเบ”เป‰เบงเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™
เบชเบปเบ™เบ—เบดเบชเบฑเบ™เบเบฒเบเบฒเบ™เป€เบญเบตเป‰เบ™เบˆเบฐเบ—เปเบฒเบฅเบฒเบเปƒเบ™เป€เบงเบฅเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”.

เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡: เบ™เบตเป‰เบˆเบฐเบ—เปเบฒเบฅเบฒเบเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบœเปˆเบฒเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ "REAL"
เบซเบผเบท "COMPLEX" เป€เบ›เบฑเบ™เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ•เบปเบงเบˆเบดเบ‡, เบเป‰เบญเบ™เบงเปˆเบฒเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปƒเบŠเป‰ -fno-f2c
เบฎเบฝเบโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบปเบ™โ€‹เบ—เบดโ€‹เบชเบฑเบ™โ€‹เบเบฒโ€‹.

-fno-underscoring
เบขเปˆเบฒเบซเบฑเบ™เบ›เปˆเบฝเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบ™เบดเบ•เบดเบšเบธเบเบ„เบปเบ™เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡ Fortran เป‚เบ”เบเบเบฒเบ™เบ•เปเปˆเบ—เป‰เบฒเบ
เบ‚เบตเบ”เบเป‰เบญเบ‡เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ.

เบเบฑเบš - เบเบฒเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบ—เบถเบ™โ€‹ เบกเบตเบœเบปเบ™เบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰, GNU Fortran เบ•เบทเปˆเบกเปƒเบชเปˆเบˆเบธเบ”เปœเบถเปˆเบ‡เปƒเบชเปˆเบŠเบทเปˆเบžเบฒเบเบ™เบญเบ
เบ—เบตเปˆเบšเปเปˆเบกเบตเบ‚เบตเบ”เบเป‰เบญเบ‡. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบœเบฐเบฅเบดเบ”เป‚เบ”เบเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ
UNIX Fortran compilers.

เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡: เบžเบถเบ”เบ•เบดเบเปเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡ GNU Fortran เบšเปเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš f2c เปเบฅเบฐ g77, เบเบฐเบฅเบธเบ™เบฒ
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ -ff2c เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป„เบŸเบฅเปŒเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบ”เป‰เบงเบ GNU Fortran
เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบฅเบฐเบซเบฑเบ”เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เบเบฒเบ™ เบ™เบณ เปƒเบŠเป‰ -fno-underscoring เบšเปเปˆเปเบ™เบฐเบ™เปเบฒเป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เบ—เบปเบ”เบฅเบญเบ‡เบเบฑเบšเบšเบฑเบ™เบซเบฒ
เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบ‚เบญเบ‡ GNU Fortran เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง (vis-a-vis
เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆ, เป€เบ„เบทเปˆเบญเบ‡เบกเบท, เปเบฅเบฐเบญเบทเปˆเบ™เป†).

เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฑเบš - เบเบฒเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบ—เบถเบ™โ€‹, เปเบฅเบฐเบชเบปเบกเบกเบธเบ”เบงเปˆเบฒ "j()" เปเบฅเบฐ "max_count()" เปเบกเปˆเบ™
เบŸเบฑเบ‡เบŠเบฑเบ™เบžเบฒเบเบ™เบญเบเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ "my_var" เปเบฅเบฐ "lvar" เปเบกเปˆเบ™เบ•เบปเบงเปเบ›เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบท

I = J() + MAX_COUNT (MY_VAR, LVAR)

เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš:

i = j_() + max_count__(&my_var__, &lvar);

เบเบฑเบš -fno-underscoring, เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ”เบฝเบงเบเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบท:

i = j() + max_count(&my_var, &lvar);

เบเบฒเบ™ เบ™เบณ เปƒเบŠเป‰ -fno-underscoring เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เป‚เบ”เบโ€‹เบเบปเบ‡โ€‹เบ‚เบญเบ‡โ€‹เบŠเบทเปˆโ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป‚เบ”เบโ€‹เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เปƒเบ™โ€‹เบ‚เบฐโ€‹เบ™เบฐโ€‹เบ—เบตเปˆโ€‹
debugging เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ interfacing เบฅเบฐเบซเบฑเบ” GNU Fortran เบเบฑเบšเบžเบฒเบชเบฒเบญเบทเปˆเบ™เป†.

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบเป‰เบญเบ™เบงเปˆเบฒเบŠเบทเปˆเบเบปเบ‡เบเบฑเบ™ เบšเปเปˆ เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบ
GNU Fortran เบชเปเบฒเบฅเบฑเบšเบŠเบทเปˆเบžเบฒเบเบ™เบญเบเบเบปเบ‡เบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบ„เบปเบ™เบญเบทเปˆเบ™
เบžเบฒเบชเบฒเบชเปเบฒเบฅเบฑเบšเบŠเบทเปˆเบ”เบฝเบงเบเบฑเบ™เบ™เบฑเป‰เบ™. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เป„เบ”เป‰เบฎเบฑเบšเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบœเบฐเบฅเบดเบ”เป‚เบ”เบ GNU Fortran เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš
เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบœเบฐเบฅเบดเบ”เป‚เบ”เบ compiler เบญเบทเปˆเบ™เป‚เบ”เบเปƒเบŠเป‰เบ™เบตเป‰เบซเบผเบทเบงเบดเบ—เบตเบเบฒเบ™เบญเบทเปˆเบ™เป†เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆ a
เบชเปˆเบงเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ‚เบญเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เป‚เบ”เบเบฅเบงเบก --- เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบ—เบฑเบ‡เบชเบญเบ‡ compilers เบเบฑเบš
เบ•เบปเบเบฅเบปเบ‡เบเปˆเบฝเบงเบเบฑเบšเบšเบฑเบ™เบซเบฒเบญเบทเปˆเบ™เบ™เบญเบเบˆเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบŠเบทเปˆเบชเบฒเบกเบฒเบ”เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เปเบฅเบฐ, เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบšเบŠเบทเปˆ
เบ„เบงเบฒเบกเบšเปเปˆเป€เบซเบฑเบ™เบ”เบต, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบ›เบปเบเบเบฐเบ•เบดเบšเปเปˆเบชเบฒเบกเบฒเบ”เบเบงเบ”เบžเบปเบšเบ„เบงเบฒเบกเบšเปเปˆเป€เบซเบฑเบ™เบ”เบตเปƒเบ™เบ‚เบปเบ‡เป€เบ‚เบ”เบญเบทเปˆเบ™เป†เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบกเบต -fno-underscoring, เบเบฒเบ™เบ‚เบฒเบ”เบเบฒเบ™เปƒเบชเปˆเบˆเบธเบ”เบŠเป‰เบญเบ™เบ—เป‰เบฒเบเปเบ™เบฐเบ™เปเบฒ
เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบ—เบตเปˆเบŠเบทเปˆเบžเบฒเบเบ™เบญเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เบˆเบฐเบ‚เบฑเบ”เบเบฑเบšเบŠเบทเปˆ
เปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบฅเบฐเบšเบปเบš, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบŠเบญเบเบซเบฒเบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚, เบญเป‰เบฒเบ‡เบญเบตเบ‡เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡
เบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเปƒเบ™เบšเบฒเบ‡เบเปเบฅเบฐเบ™เบต --- เบžเบงเบเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ„เบ‡เบเบฒเบ™, เปเบฅเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™
เบžเบถเบ”เบ•เบดเบเปเบฒ buggy เปƒเบ™เป€เบงเบฅเบฒเปเบฅเปˆเบ™.

เปƒเบ™เบชเบฐเบšเบฑเบšเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบ‚เบญเบ‡ GNU Fortran เบžเบงเบเป€เบฎเบปเบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบŠเบทเปˆเปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบšเบฑเบ™เบซเบฒเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™
debugging เบชเบฐเป€เบซเบกเบตเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เปƒเบŠเป‰เบŠเบทเปˆเบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เปเบซเบผเปˆเบ‡, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ
เบŠเบทเปˆเบ—เบตเปˆเป€เบซเบฑเบ™เป‚เบ”เบ linker เปเบกเปˆเบ™ mangled เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เป‚เบ”เบเบšเบฑเบ‡เป€เบญเบตเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡
เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบšเปเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰.

-fsecond-underscore
เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, GNU Fortran เบ•เบทเปˆเบกเปƒเบชเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบ‚เบตเบ”เบเป‰เบญเบ‡เปƒเบชเปˆเบŠเบทเปˆเบžเบฒเบเบ™เบญเบ. เบ–เป‰เบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™
GNU Fortran เบ—เบตเปˆเปƒเบŠเป‰เปเบฅเป‰เบงเบ•เบทเปˆเบกเบชเบญเบ‡เบญเบฑเบ™เปƒเบชเปˆเบเบฑเบšเบŠเบทเปˆเบ—เบตเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบ‚เบตเบ”เบเป‰เบญเบ‡ เปเบฅเบฐเปœเบถเปˆเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบ‚เบตเบ”เบเป‰เบญเบ‡
เบ•เปเปˆเบเบฑเบšเบŠเบทเปˆเบžเบฒเบเบ™เบญเบเบ—เบตเปˆเบšเปเปˆเบกเบตเบ‚เบตเบ”เบเป‰เบญเบ‡. GNU Fortran เบเบฑเบ‡เบ•เบทเปˆเบกเบชเบญเบ‡เบญเบฑเบ™เปƒเบ•เป‰เบฅเบปเบ‡เปƒเบชเปˆ
เบŠเบทเปˆเบžเบฒเบเปƒเบ™เบ—เบตเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบ‚เบตเบ”เบเป‰เบญเบ‡เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบŠเบทเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เบเบฑเบšเบŠเบทเปˆเบžเบฒเบเบ™เบญเบ.

เบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เบšเปเปˆเบกเบตเบœเบปเบ™เบ–เป‰เบฒ -fno-underscoring เบกเบตเบœเบปเบ™เบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰. เบกเบฑเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เป‚เบ”เบโ€‹
-ff2c เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰, เบŠเบทเปˆเบžเบฒเบเบ™เบญเบเป€เบŠเบฑเปˆเบ™ "MAX_COUNT" เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™ a
เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ–เบดเบ‡เบชเบฑเบ™เบเบฒเบฅเบฑเบเบžเบฒเบเบ™เบญเบเบ‚เบญเบ‡เป€เบงเบฅเบฒเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ "max_count__", เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ "max_count_".
เบ™เบตเป‰เปเบกเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš g77 เปเบฅเบฐ f2c, เปเบฅเบฐโ€‹เปเบกเปˆเบ™โ€‹เบซเบกเบฒเบโ€‹เบ„เบงเบฒเบกโ€‹เบงเปˆเบฒโ€‹เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹
-ff2c เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

-fcoarray=
none
เบ›เบดเบ”เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš coarray; เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบเบฒเบ” coarray เปเบฅเบฐโ€‹เบ„เปเบฒโ€‹เบšเบฑเบ™โ€‹เบเบฒเบโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เบฎเบนเบšโ€‹เบžเบฒเบšโ€‹
เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเป€เบงเบฅเบฒ. (เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™)

เบ”เบฝเบง
เป‚เปเบ”เบฎเบนเบšเบ”เบฝเบง, เป€เบŠเบฑเปˆเบ™ "num_images()" เปเบกเปˆเบ™เบญเบฑเบ™เบ”เบฝเบงเบชเบฐเป€เปเบต.

lib เบเบฒเบ™เบ‚เบฐเปœเบฒเบ™เปเบšเบšเบ‚เบฐเปœเบฒเบ™เบ‚เบญเบ‡เบซเปเบชเบฐเปเบธเบ”; เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” GNU Fortran coarray เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก
เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.

-fcheck=
เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบงเบฅเบฒเปเบฅเปˆเบ™; argument เบˆเบฐเป€เบ›เบฑเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเบ‚เบฑเป‰เบ™เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบˆเบธเบ”
เบ‚เบญเบ‡เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰.

เบ—เบฑเบ‡เบซเบกเบปเบ” เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป€เบงเบฅเบฒเปเบฅเปˆเบ™เบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡ -fcheck.

array-temps
เป€เบ•เบทเบญเบ™เปƒเบ™เป€เบงเบฅเบฒเปเบฅเปˆเบ™เป€เบกเบทเปˆเบญเบœเปˆเบฒเบ™เบเบฒเบ™เป‚เบ•เป‰เปเบเป‰เบ‡เบ•เบปเบงเบˆเบดเบ‡เบ—เบตเปˆเบญเบฒเป€เบฃเบŠเบปเปˆเบงเบ„เบฒเบงเบˆเบฐเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™
เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™. เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบเบฒเบ™เป€เบ•เบทเบญเบ™เป„เบžเบ™เบตเป‰เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบเปเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปƒเบ™
เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš, เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบŠเบปเปˆเบงเบ„เบฒเบงเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

เปเบฒเบเป€เบซเบ”: เบกเบตเบเบฒเบ™เบžเบดเบกเบ„เบณเป€เบ•เบทเบญเบ™เบžเบฝเบ‡เปเบ•เปˆเบ„เบฑเป‰เบ‡เบ”เบฝเบงเบ•เปเปˆเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ.

เบ‚เบญเบšเป€เบ‚เบ”
เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบงเบฅเบฒเปเบฅเปˆเบ™เบชเปเบฒเบฅเบฑเบš array subscripts เปเบฅเบฐเบ•เปเปˆเบเบฑเบšเบเบฒเบ™เบ›เบฐเบเบฒเบ”
เบ„เปˆเบฒเบ•เปเปˆเบฒเบชเบธเบ” เปเบฅเบฐเบชเบนเบ‡เบชเบธเบ”. เบกเบฑเบ™เบเบฑเบ‡เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ” array เบชเปเบฒเบฅเบฑเบšเบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™เปเบฅเบฐ deferred
arrays เบฎเบนเบšเบฎเปˆเบฒเบ‡เบ•เปเปˆเบเบฑเบšเบ‚เบญเบšเป€เบ‚เบ”เบˆเบฑเบ”เบชเบฑเบ™เบ•เบปเบงเบˆเบดเบ‡เปเบฅเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒ string เบ—เบฑเบ‡เบซเบกเบปเบ”
เบ„เบงเบฒเบกเบเบฒเบงเปเบกเปˆเบ™เป€เบ—เบปเปˆเบฒเบเบฑเบ™เบชเบณเบฅเบฑเบšเบ•เบปเบงเบชเป‰เบฒเบ‡เบญเบฒเป€เบฃเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบ•เบปเบงเปเบšเบšเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡.

เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™เบ™เบฑเป‰เบ™ -fcheck=เบ‚เบญเบšเป€เบ‚เบ” เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ‚เบญเบ‡เบ•เบปเป‰เบ™เบ•เป
เป‚เบ„เบ‡เบเบฒเบ™.

เบซเบกเบฒเบเป€เบซเบ”: เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเบฅเบงเบกเป€เบญเบปเบฒเปเบšเบšเบŸเบญเบกเบญเบทเปˆเบ™เป†เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบš, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบเบงเบ”เบชเบญเบš
เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡ substring.

do เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบงเบฅเบฒเปเบฅเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบฑเบ”เปเบเป‰เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบŠเปเป‰เบฒเบ„เบทเบ™เบ‚เบญเบ‡ loop
เบ•เบปเบงเปเบ›

mem เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบงเบฅเบฒเปเบฅเปˆเบ™เบชเบณเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณ. เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹: เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ™เบตเป‰โ€‹
เบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡ "ALLOCATE", เป€เบŠเบดเปˆเบ‡เบˆเบฐเป€เบ›เบฑเบ™
เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบชเบฐโ€‹เป€เบซเบกเบตโ€‹.

เบ•เบปเบงเบŠเบตเป‰
เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบงเบฅเบฒเปเบฅเปˆเบ™เบชเบณเบฅเบฑเบšเบ•เบปเบงเบŠเบตเป‰ เปเบฅเบฐ เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™.

เบเบฒเบ™เป€เบญเบตเป‰เบ™เบ„เบทเบ™
เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบงเบฅเบฒเปเบฅเปˆเบ™เบชเปเบฒเบฅเบฑเบš recursively เป€เบญเบตเป‰เบ™เบงเปˆเบฒ subroutines เปเบฅเบฐ
เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเปเบฒเบเบงเปˆเบฒเป€เบ›เบฑเบ™ recursive. เป€เบšเบดเปˆเบ‡เบ™เบณ - เบšเบฑเบ‡เป€เบญเบตเบ™. เบซเบกเบฒเบเป€เบซเบ”: เบ™เบตเป‰
เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™ OpenMP เปเบฅเบฐเบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ–เป‰เบฒเปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบ™เบเบฑเบš
- เบšเบฑเบ‡เป€เบญเบตเบ™ เปเบฅเบฐ -fopenmp.

-fbounds-เบเบงเบ”โ€‹เบชเบญเบšโ€‹
เบเบปเบเป€เบฅเบตเบเบ™เบฒเบกเปเบเบ‡เบชเบณเบฅเบฑเบš -fcheck=เบ‚เบญเบšเป€เบ‚เบ”.

-fcheck-array-temporaries
เบเบปเบเป€เบฅเบตเบเบ™เบฒเบกเปเบเบ‡เบชเบณเบฅเบฑเบš -fcheck=array-temps.

-fmax-array-constructor=n
เบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ‚เบตเบ”เบˆเปเบฒเบเบฑเบ”เป€เบ—เบดเบ‡เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบ™เบ•เบปเบงเบชเป‰เบฒเบ‡เบญเบฒเป€เบฃ.
เบฅเบฐเบซเบฑเบ”เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เป€เบžเบทเปˆเบญเบ‚เบฐเบซเบเบฒเบ array เปƒเบ™เป€เบงเบฅเบฒเบฅเบงเบšเบฅเบงเบก.

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป‚เบ„เบ‡เบเบฒเบ™
เบšเปเปˆเบกเบต implicit
เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบก j
integer, เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต :: n = 100000
integer, เบžเบฒเบฃเบฒเบกเบดเป€เบ•เบต :: i(n) = (/ (2*j, j = 1, n) /)
เบžเบดเบก '(10(I0,1X))', i
เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบชเบดเป‰เบ™โ€‹เบชเบธเบ”โ€‹

เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡: เบ™เบตเป‰ เบ—เบฒเบ‡เป€เบฅเบทเบญเบ เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰ เบ™เปเบฒเป„เบ›เบชเบนเปˆ to เบเบฒเบง เบฅเบงเบšเบฅเบงเบก เป€เบงเบฅเบฒ เปเบฅเบฐ เบซเบผเบฒเบเป€เบเบตเบ™เป„เบ› เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ เบˆเบธเบ”โ€‹เบ›เบฐโ€‹เบชเบปเบ‡
เป„เบŸเบฅเปŒ.

เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เบชเบณ เบฅเบฑเบš n เปเบกเปˆเบ™ 65535.

-fmax-stack-var-size=n
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ™เบตเป‰โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เปƒเบ™ bytes เบ‚เบญเบ‡โ€‹เบญเบฒโ€‹เป€เบฃโ€‹เบ—เบตเปˆโ€‹เปƒเบซเบเปˆโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เปƒเบชเปˆโ€‹เปƒเบ™โ€‹
stack; เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เปเบกเปˆเบ™โ€‹เป€เบเบตเบ™โ€‹เบ„เบงเบฒเบกโ€‹เบŠเบปเบ‡โ€‹เบˆเปเบฒ static เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ (เบเบปเบโ€‹เป€เบงเบฑเป‰เบ™โ€‹เปƒเบ™โ€‹เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบเบฒเบ™โ€‹เบซเบกเบฒเบโ€‹เป€เบ›เบฑเบ™
เบเบฑเบšเบ„เบทเบ™เบกเบฒ). เปƒเบŠเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบ - เบšเบฑเบ‡เป€เบญเบตเบ™ เป€เบžเบทเปˆเบญเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบ‚เบฑเป‰เบ™เบ•เบญเบ™ recursive เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰
เบกเบตเบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐ RECURSIVE เบซเบผเบทเบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ™. เปƒเบŠเป‰ -fno เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹ เบšเปเปˆเป€เบ„เบตเบเปƒเบŠเป‰
stack เป„เบ”เป‰.

เบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบžเบฝเบ‡เปเบ•เปˆ array เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเบ›เบฐเบเบฒเบ”เบ”เป‰เบงเบเบ‚เบญเบšเป€เบ‚เบ”เบ„เบปเบ‡เบ—เบตเปˆ, เปเบฅเบฐเบญเบฒเบ”เบˆเบฐ
เบšเปเปˆเปƒเบŠเป‰เบเบฑเบšเบ•เบปเบงเปเบ›เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบฑเบ‡เปเบปเบ”. เบฎเบธเปˆเบ™ GNU Fortran เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบญเบฒเบ”เบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบ™เบตเป‰
เบžเบถเบ”เบ•เบด เบเบณ.

เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เบชเบณ เบฅเบฑเบš n เปเบกเปˆเบ™ 32768.

-fstack-arrays
เบเบฒเบ™เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰ Fortran compiler เปƒเบชเปˆ array เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ‚เบญเบ‡
เบšเปเปˆเบฎเบนเป‰เบ‚เบฐเปœเบฒเบ”เปƒเบชเปˆเปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณ stack. เบ–เป‰เบฒเป‚เบ„เบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปƒเบŠเป‰ array เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบผเบฒเบเบกเบฑเบ™เปเบกเปˆเบ™
เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบงเปˆเบฒเป€เบˆเบปเป‰เบฒเบˆเบฐเบ•เป‰เบญเบ‡เบ‚เบฐเบซเบเบฒเบเบ‚เบตเบ”เบˆเบณเบเบฑเบ”เป€เบงเบฅเบฒเปเบฅเปˆเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบชเบณเบฅเบฑเบšเปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณ stack เปƒเบ™เบšเบฒเบ‡เบญเบฑเบ™
เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. เบ—เบธเบ‡เบ™เบตเป‰เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš - เป„เบง.

-fpack เบกเบฒเบˆเบฒเบ
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบšเบญเบ GNU Fortran เปƒเบซเป‰เบซเบธเป‰เบกเบซเปเปˆเบชเบฐเบกเบฒเบŠเบดเบเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเป„เบ”เป‰เบกเบฒเบขเปˆเบฒเบ‡เปƒเบเป‰เบŠเบดเบ”เป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰.
เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เปเบกเปˆเบ™เบกเบตเปเบ™เบงเป‚เบ™เป‰เบกเบ—เบตเปˆเบˆเบฐเบšเปเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰, เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบŠเป‰เบฒเบฅเบปเบ‡.

-frepack-arrays
เปƒเบ™เบšเบฒเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™ GNU Fortran เบญเบฒเบ”เบˆเบฐเบœเปˆเบฒเบ™เบžเบฒเบเบชเปˆเบงเบ™ array เบ—เบตเปˆเบชเบปเบกเบกเบธเบ”เบ•เบดเบ–เบฒเบ™เบœเปˆเบฒเบ™ a
เบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เบญเบฐเบ—เบดเบšเบฒเบเบžเบทเป‰เบ™เบ—เบตเปˆเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเบณเบ—เบตเปˆเบšเปเปˆเบ•เบดเบ”เบเบฑเบ™. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เปƒเบชเปˆ
เบŸเบฑเบ‡เบŠเบฑเบ™ prologue เป€เบžเบทเปˆเบญเบšเบฑเบ™เบˆเบธเบ‚เปเป‰เบกเบนเบ™เบ„เบทเบ™เปƒเปเปˆเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบšเบฅเบฑเบญเบเบ—เบตเปˆเบ•เบดเบ”เบ•เปเปˆเบเบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเปเบฅเปˆเบ™.

เบญเบฑเบ™เบ™เบตเป‰เบ„เบงเบ™เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบญเบฒเป€เบฃเป„เบงเบ‚เบถเป‰เบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เปเบ™เบฐเบ™เปเบฒ
overhead เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป‚เบ—โ€‹เบซเบ™เป‰เบฒโ€‹เบ—เบตเปˆโ€‹, เป‚เบ”เบโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปเบกเปˆเบ™โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบœเปˆเบฒเบ™โ€‹เบเบฒเบ™โ€‹เปเบกเปˆเบ™โ€‹
เบšเปเปˆเบ•เบดเบ”เบเบฑเบ™.

-fshort-enums
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เปƒเบซเป‰โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบฎเปˆเบงเบกโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹เบฅเบฐโ€‹เบซเบฑเบ” C เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบชเบฑเบ‡โ€‹เบฅเบงเบกโ€‹เบเบฑเบšโ€‹
-fshort-enums เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰ GNU Fortran เป€เบฅเบทเบญเบเบ›เบฐเป€เบžเบ” "INTEGER" เบ—เบตเปˆเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”
เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰ enumerator เบˆเบฐเป€เบซเบกเบฒเบฐเปƒเบ™, เปเบฅเบฐเปƒเบซเป‰ enumerators เบ‚เบญเบ‡เบ•เบปเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ›เบฐเป€เบžเบ”เบ™เบตเป‰.

-fexternal-blas
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰ gfortran เบชเป‰เบฒเบ‡เบเบฒเบ™เป‚เบ—เป„เบ›เบซเบฒเบŸเบฑเบ‡เบŠเบฑเบ™ BLAS เบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡ matrix
เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป€เบŠเบฑเปˆเบ™ "MATMUL", เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ algorithms เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡, เบ–เป‰เบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡
matrices เบ—เบตเปˆโ€‹เบเปˆเบฝเบงโ€‹เบ‚เป‰เบญเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เปƒเบซเบเปˆโ€‹เบโ€‹เปˆโ€‹เบงเบฒโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰ (เป€เบšเบดเปˆเบ‡โ€‹ -fblas-matmul-limit). เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™
เบกเบตเบเบณเป„เบฅเบ–เป‰เบฒเบกเบตเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” BLAS เบ‚เบญเบ‡เบœเบนเป‰เบ‚เบฒเบเบ—เบตเปˆเบ›เบฑเบšเปเบ•เปˆเบ‡เปเบฅเป‰เบง. เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” BLAS เบˆเบฐ
เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฅเบฐเบšเบธเปƒเบ™เป€เบงเบฅเบฒเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.

-fblas-matmul-limit=n
เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ -fexternal-blas เบกเบตเบœเบปเบ™เบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰. เบเบฒเบ™เบ„เบนเบ™เบกเบฒเบ•เบฃเบดเบเป€เบšเบทเป‰เบญเบ‡เบ‚เบญเบ‡ matrices
เบกเบตเบ‚เบฐเปœเบฒเบ”เปƒเบซเบเปˆเบเบงเปˆเบฒ (เบซเบผเบทเป€เบ—เบปเปˆเบฒเบเบฑเบš) n เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบฒเบ™เป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆ BLAS,
เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ„เบปเบ™เบญเบทเปˆเบ™เบˆเบฐเบ–เบทเบเบˆเบฑเบ”เบเบฒเบ™เป‚เบ”เบ gfortran เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบžเบฒเบเปƒเบ™. เบ–เป‰เบฒ matrices เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบก
เบšเปเปˆเปเบกเปˆเบ™เบชเบตเปˆเบซเบผเปˆเบฝเบกเบกเบปเบ™, เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ‚เบฐเบซเบ™เบฒเบ”เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบชเบฐเป€เบฅเปˆเบ geometric เบ‚เบญเบ‡
เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เปเบฅเบฐ matrices เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš.

เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เบชเบณ เบฅเบฑเบš n เปเบกเปˆเบ™ 30.

- เบšเบฑเบ‡เป€เบญเบตเบ™
เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ recursion เบ—เบฒเบ‡เบญเป‰เบญเบกเป‚เบ”เบเบเบฒเบ™เบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰ array เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™เบขเบนเปˆเปƒเบ™ stack.
เบ—เบธเบ‡เบ™เบตเป‰เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบš -fmax-stack-var-size= or -fno เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹.

-finit-local-เบชเบนเบ™
-finit-integer=n
-finit-real=
-finit-logical=
-finit-character=n
เป„เบ”เป‰ -finit-local-เบชเบนเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบˆเบฐเบชเบฑเปˆเบ‡เปƒเบซเป‰ compiler เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ "INTEGER", เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.
เบ•เบปเบงเปเบ› "REAL", เปเบฅเบฐ "COMPLEX" เป€เบ›เบฑเบ™เบชเบนเบ™, เบ•เบปเบงเปเบ› "LOGICAL" เป€เบ›เบฑเบ™ false, เปเบฅเบฐ "CHARACTER"
เบ•เบปเบงเปเบ›เป€เบ›เบฑเบ™เบชเบฐเบ•เบฃเบดเบ‡เบ‚เบญเบ‡เป„เบšเบ•เปŒ null. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบฅเบฐเบญเบฝเบ”เบเบงเปˆเบฒเปเบกเปˆเบ™
เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบ -finit-integer=n, -finit-real= (เบŠเบถเปˆเบ‡เบเบฑเบ‡
เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เปเบฅเบฐเบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™เบ‚เบญเบ‡เบ•เบปเบงเปเบ› "COMPLEX" เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™),
-finit-logical=, เปเบฅเบฐ -finit-character=n (เบšเปˆเบญเบ™เบ—เบตเปˆ n เป€เบ›เบฑเบ™เบฅเบฑเบเบชเบฐเบ™เบฐ ASCII
value) เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

* arrays เบˆเบฑเบ”เบชเบฑเบ™

* เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบ›เบฐเป€เบžเบ”เบ—เบตเปˆเป„เบ”เป‰เบกเบฒ

* เบ•เบปเบงเปเบ›เบ—เบตเปˆเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡ "EQUIVALENCE".

(เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”).

เบซเบกเบฒเบเป€เบซเบ”เบงเปˆเบฒ -finit-real=เบ™เบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ•เบปเบงเปเบ› "REAL" เปเบฅเบฐ "COMPLEX" เบ”เป‰เบงเบ a
เบ‡เบฝเบš. เบชเปเบฒเบฅเบฑเบšเบชเบฑเบ™เบเบฒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ NaN -finit-real=snan; เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ, เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเป€เบงเบฅเบฒ
เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบญเบฒเบ”เบˆเบฐเบ›เปˆเบฝเบ™เบžเบงเบเบกเบฑเบ™เป€เบ›เบฑเบ™ NaN เบ—เบตเปˆเบ‡เบฝเบšเป† เปเบฅเบฐเบ•เป‰เบญเบ‡เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เปƒเบชเปˆเบเบฑเบšเบ”เบฑเบ
(เป€เบŠเบฑเปˆเบ™: เบœเปˆเบฒเบ™ -ffpe-เบ”เบฑเบ).

เบชเบธเบ”เบ—เป‰เบฒเบ, เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เปƒเบ”เป† -finit-* เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบˆเบฐเบ›เบดเบ”เบชเบฝเบ‡เป€เบ•เบทเบญเบ™เบงเปˆเบฒ
เบˆเบฐเบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเป‚เบ”เบ - เบ›เบฐเบเบฒเบ” เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบ›เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบš.

-falign-เบ—เบปเปˆเบงเป„เบ›
เป‚เบ”เบเบ•เบปเบงเบขเปˆเบฒเบ‡, gfortran เบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบชเบญเบ”เบ„เปˆเบญเบ‡เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ "COMMON" เบ•เบฑเบ™เป‚เบ”เบ
padding เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™. เปƒเบ™เป€เบงเบ—เบตเบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡, เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบšเบฑเบ‡เบ„เบฑเบš, เบเปˆเบฝเบงเบเบฑเบšเบ„เบปเบ™เบญเบทเปˆเบ™เบกเบฑเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™
เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เบ–เป‰เบฒเบšเบฅเบฑเบญเบ "COMMON" เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบเบฒเบ”เบ”เป‰เบงเบเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡
เบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเปเบซเปˆเบ‡, padding เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒ, เปเบฅเบฐ -fno-align-commons เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญ
เบ›เบดเบ”เบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เบฎเบนเบšเปเบšเบšเบ”เบฝเบงเบเบฑเบ™เบ‚เบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเป„เบŸเบฅเปŒเบ—เบฑเบ‡เบซเบกเบปเบ”
เบ—เบตเปˆเปเบšเปˆเบ‡เบ›เบฑเบ™เบšเบฅเบฑเบญเบ "COMMON". เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบˆเบฑเบ”เบ•เปเบฒเปเบซเบ™เปˆเบ‡เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™ "COMMON",
เปเบ™เบฐเบ™เบณเปƒเบซเป‰เบชเบฑเปˆเบ‡เบงเบฑเบ”เบ–เบธเบˆเบฒเบเปƒเบซเบเปˆเบซเบฒเบ™เป‰เบญเบเบชเบธเบ”.

-fno-protect-parens
เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบงเบปเบ‡เป€เบฅเบฑเบšเปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบเบฝเบ”เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบฅเบฐเบ”เบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง
เบ—เบตเปˆ compiler เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เปƒเบซเบกเปˆ. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ -fno-protect-parens เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰
compiler เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเปƒเบซเบกเปˆ "REAL" เปเบฅเบฐ "COMPLEX" expressions เป€เบžเบทเปˆเบญเบœเบฐเบฅเบดเบ”เบฅเบฐเบซเบฑเบ”เป„เบงเบ‚เบถเป‰เบ™. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ
เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบ„เบทเบ™เปƒเบซเบกเปˆ -fno-เป€เบŠเบฑเบ™เบŠเบทเปˆ-เบชเบนเบ™ เปเบฅเบฐ -fno-traping-เบ„เบฐเบ™เบดเบ”เบชเบฒเบ” เบ•เป‰เบญเบ‡เบเบฒเบ™
เบกเบตเบœเบปเบ™เบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰. เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบงเบปเบ‡เป€เบฅเบฑเบšเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆ - เป„เบง is
เปƒเบซเป‰.

-frealloc-lhs
เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบ—เบฒเบ‡เบŠเป‰เบฒเบเบกเบทเบ‚เบญเบ‡เบเบฒเบ™เบกเบญเบšเปเบฒเบเบžเบฒเบเปƒเบ™เปเบกเปˆเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”
(re)เบˆเบฑเบ”เบชเบฑเบ™ เบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™ เบซเบผเบทเบกเบตเบฎเบนเบšเบฎเปˆเบฒเบ‡เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™
เป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบปเบเป€เบงเบฑเป‰เบ™เป€เบงเบฅเบฒ -std=f95 เปเบกเปˆเบ™เปƒเบซเป‰. เป€เบšเบดเปˆเบ‡เบ™เบณ -Wrealloc-lhs.

-faggressive-function-elimination
เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเบกเบตเบฅเบฒเบเบŠเบทเปˆเบเบฒเบ™เป‚เบ•เป‰เปเบเป‰เบ‡เบ„เบทเบเบฑเบ™เปเบกเปˆเบ™เบ–เบทเบเบฅเบปเบšเบฅเป‰เบฒเบ‡เบžเบฒเบเปƒเบ™เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ•เปˆเบฒเบ‡เป†, เป‚เบ”เบเบšเปเปˆเบชเบปเบ™เป€เบฅเบทเปˆเบญเบ‡
เบŸเบฑเบ‡เบŠเบฑเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เบทเบเปเบฒเบเบงเปˆเบฒ "PURE" เบซเบผเบทเบšเปเปˆ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™

a = f(b,c) + f(b,c)

เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เป‚เบ—เบซเบฒ "f". เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰เบžเบฝเบ‡เปเบ•เปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ
-ffrontend-optimize เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบœเบปเบ™เบเบฐเบ—เบปเบš.

-ffrontend-optimize
เบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ”เป‰เบฒเบ™เบซเบ™เป‰เบฒ, เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบžเบฒเบเบชเปˆเบงเบ™เบ‚เบญเบ‡ Fortran
parse tree. เป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป‚เบ”เบเปƒเบ”เบเปเปˆเบ•เบฒเบก -O เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ—เบตเปˆเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ™เบตเป‰
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบฅเบงเบกโ€‹เป€เบ–เบดเบ‡โ€‹เบเบฒเบ™โ€‹เบฅเบปเบšโ€‹เบฅเป‰เบฒเบ‡โ€‹เบเบฒเบ™โ€‹เป‚เบ—โ€‹เบซเบ™เป‰เบฒโ€‹เบ—เบตเปˆโ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เบžเบฒเบโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบญเบญเบโ€‹, เบเบฒเบ™โ€‹เบฅเบปเบšโ€‹
เบเบฒเบ™เป‚เบ—เบซเบฒ "TRIM" เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเปเบฅเบฐเบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ—เบ™ TRIM(a) เบ”เป‰เบงเบ
"a(1:LEN_TRIM(a))". เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบปเบเป€เบฅเบตเบเบเบฒเบ™เป€เบฅเบทเบญเบเป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธ -fno-frontend-optimize.

ENVIRONMENT


เป„เบ”เป‰ gfortran เบ›เบฐเบˆเบธเบšเบฑเบ™ compiler เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบก
เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบ‡เบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹เบ‚เป‰เบฒเบ‡โ€‹เป€เบ—เบดเบ‡โ€‹เปเบฅเบฐโ€‹เบ™เบญเบโ€‹เบˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบœเบปเบ™โ€‹เบเบฐโ€‹เบ—เบปเบšโ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบ‡เบฒเบ™โ€‹เบ‚เบญเบ‡ gcc.

เปƒเบŠเป‰ mips64el-linux-gnuabi64-gfortran-5 เบญเบญเบ™เป„เบฅเบ™เปŒเป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ onworks.net


เป€เบŠเบตเบšเป€เบงเบต เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบเบŸเบฃเบต

เบ”เบฒเบงเป‚เบซเบผเบ”เปเบญเบฑเบš Windows เปเบฅเบฐ Linux

  • 1
    usm
    usm
    Usm เปเบกเปˆเบ™เบŠเบธเบ” slackware เป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบš
    เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบˆเบฑเบ”เบเบฒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”
    เบเบฒเบ™เปเบเป‰เป„เบ‚เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช. เบกเบฑเบ™เบฎเบงเบกเบเบฑเบ™
    repositories เบŠเบธเบ”เบ•เปˆเบฒเบ‡เป†เบฅเบงเบกเบ—เบฑเบ‡
    เบ‚เบตเป‰เบ„เป‰เบฒเบ™, เบ‚เบตเป‰เบ„เป‰เบฒเบ™, เบ›...
    เบ”เบฒเบงเป‚เบซเบฅเบ” usm
  • 2
    Chart.js
    Chart.js
    Chart.js เปเบกเปˆเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” Javascript เบ—เบตเปˆ
    เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ™เบฑเบเบญเบญเบเปเบšเบšเปเบฅเบฐเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบ•เป‰เบก
    เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบธเบเบ›เบฐเป€เบžเบ”เป‚เบ”เบเปƒเบŠเป‰ HTML5
    เบญเบปเบ‡เบ›เบฐเบเบญเบšเบœเป‰เบฒเปƒเบš. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ js เบชเบฐเป€เบซเบ™เบตเบ—เบตเปˆเบ”เบตเป€เบฅเบตเบ”
    array ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” Chart.js
  • 3
    i Report-Designer เบชเบณ เบฅเบฑเบš JasperReports
    i Report-Designer เบชเบณ เบฅเบฑเบš JasperReports
    เปเบฒเบเป€เบซเบ”: iReport/Jaspersoft Studio Support
    เบ›เบฐเบเบฒเบ”: เป€เบ›เบฑเบ™เบชเบฐเบšเบฑเบš 5.5.0,
    Jaspersoft Studio เบˆเบฐเป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™
    เบฅเบนเบเบ„เป‰เบฒเบญเบญเบเปเบšเบšเบชเปเบฒเบฅเบฑเบš JasperReports. iReport
    เบˆเบฐ ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” iReport-Designer เบชเปเบฒเบฅเบฑเบš JasperReports
  • 4
    PostInstallerF
    PostInstallerF
    PostInstallerF เบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ—เบฑเบ‡เปเบปเบ”
    เบŠเบญเบšเปเบงเบ—เบตเปˆ Fedora Linux เปเบฅเบฐเบญเบทเปˆเบ™เป†
    เบšเปเปˆเบฅเบงเบกเป€เบญเบปเบฒเบ•เบฒเบกเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบซเบผเบฑเบ‡เบˆเบฒเบ
    เปเบฅเปˆเบ™ Fedora เป€เบ›เบฑเบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”. เบ‚เบญเบ‡เบกเบฑเบ™
    เบ‡เปˆเบฒเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบš ...
    เบ”เบฒเบงเป‚เบซเบฅเบ” PostInstallerF
  • 5
    เบชเบฒเบเปเบฎเปˆ
    เบชเบฒเบเปเบฎเปˆ
    เป‚เบ„เบ‡เบเบฒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบเป„เบ›
    https://strace.io. strace is a
    เบเบฒเบ™เบงเบดเบ™เบดเบ”เป„เบช, debugging เปเบฅเบฐเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ
    userspace tracer เบชเปเบฒเบฅเบฑเบš Linux. เบกเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰
    เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบเบงเบ”โ€‹เบเบฒ ...
    เบ”เบฒเบงโ€‹เป‚เบซเบผเบ”โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹
  • 6
    gMKVEExtractGUI
    gMKVEExtractGUI
    GUI เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” mkvextract (เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡
    MKVToolNixโ€‹) เบ—เบตเปˆโ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบชเปˆเบงเบ™โ€‹เบซเบผเบฒเบ (เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹
    เบšเปเปˆเปเบกเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”) เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ mkvextract เปเบฅเบฐ
    mkvinfo เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”. เบ‚เบฝเบ™เปƒเบ™ C#NET 4.0,...
    เบ”เบฒเบงเป‚เบซเบฅเบ” gMKVEExtractGUI
  • เป€เบžเบตเปˆเบกเป€เบ•เบตเบก ยป

Linux เบ„เบณ เบชเบฑเปˆเบ‡

Ad