์˜์–ดํ”„๋ž‘์Šค์–ด์ŠคํŽ˜์ธ์–ด

Ad


์˜จ์›์Šค ํŒŒ๋น„์ฝ˜

mips64el-linux-gnuabi64-gfortran-5 - ํด๋ผ์šฐ๋“œ์˜ ์˜จ๋ผ์ธ

Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ๊ณต๊ธ‰์ž์—์„œ mips64el-linux-gnuabi64-gfortran-5 ์‹คํ–‰

Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๋ฌด๋ฃŒ ์˜จ๋ผ์ธ ์›Œํฌ์Šคํ…Œ์ด์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ๊ณต๊ธ‰์ž์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” mips64el-linux-gnuabi64-gfortran-5 ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ:

์ด๋ฆ„


gfortran - GNU ํฌํŠธ๋ž€ ์ปดํŒŒ์ผ๋Ÿฌ

๊ฐœ์š”


์ง€ํฌํŠธ๋ž€ [-c|-S|-E]
[-g] [-ํŽ˜์ด์ง€] [-O์ˆ˜ํ‰]
[-W๊ฒฝ๊ณ ...] [-ํŽ˜๋‹จ ํ‹ฑ]
[-IDIR...] [-LDIR...]
[-D๋งคํฌ๋กœ[=๋ฐํ”„]...] [-U๋งคํฌ๋กœ]
[-f์„ ํƒ๊ถŒ...]
[-m๊ธฐ๊ณ„ ์˜ต์…˜...]
[-o ์•„์›ƒํŒŒ์ผ] ์ธํŒŒ์ผ...

๊ฐ€์žฅ ์œ ์šฉํ•œ ์˜ต์…˜๋งŒ ์—ฌ๊ธฐ์— ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€๋Š” ์•„๋ž˜๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๊ธฐ์ˆ 


์ตœ๋Œ€ XNUMXW ์ถœ๋ ฅ์„ ์ œ๊ณตํ•˜๋Š” ์ง€ํฌํŠธ๋ž€ ๋ช…๋ น์€ ๋‹ค์Œ์—์„œ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์˜ต์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. GCC ๋ช…๋ น. ์˜ต์…˜๋งŒ
GNU Fortran์—๋งŒ ํ•ด๋‹นํ•˜๋Š” ๋‚ด์šฉ์ด ์—ฌ๊ธฐ์— ๋ฌธ์„œํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  GCC ๋ฐ GNU Fortran ์˜ต์…˜์€ ๋‹ค์Œ์—์„œ ๋ชจ๋‘ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ง€ํฌํŠธ๋ž€ ๊ณผ ๋ณ„ GCC (๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์–ด๋–ค
๊ฐ™์€ ์‹œ๊ฐ„์— ๊ตฌ์ถ•๋œ ๋‹ค๋ฅธ ๋“œ๋ผ์ด๋ฒ„ g ++), GCC์— GNU Fortran์„ ์ถ”๊ฐ€ํ•œ ์ดํ›„
๋ฐฐํฌ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ๊ด€๋ จ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ GNU Fortran ์˜ต์…˜์„ ์ˆ˜๋ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์˜ต์…˜์—๋Š” ๊ธ์ •์ ์ธ ํ˜•ํƒœ์™€ ๋ถ€์ •์ ์ธ ํ˜•ํƒœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ ๋ถ€์ •์ ์ธ ํ˜•ํƒœ - ํ‘ธํ‘ธ ๊ฒ ์ง€
be -fno-foo. ์ด ์„ค๋ช…์„œ๋Š” ์ด ๋‘ ๊ฐ€์ง€ ํ˜•์‹ ์ค‘ ํ•˜๋‚˜๋งŒ ๋ฌธ์„œํ™”ํ•ฉ๋‹ˆ๋‹ค.
ํƒœ๋งŒ.

์˜ต์…˜


๋‹ค์Œ์€ ์œ ํ˜•๋ณ„๋กœ ๊ทธ๋ฃนํ™”๋œ GNU Fortran์˜ ๋ชจ๋“  ์˜ต์…˜์— ๋Œ€ํ•œ ์š”์•ฝ์ž…๋‹ˆ๋‹ค.
์„ค๋ช…์€ ๋‹ค์Œ ์„น์…˜์— ์žˆ์Šต๋‹ˆ๋‹ค.

ํฌํŠธ๋ž€ ์ง€์›ํ•˜๋Š” ์–ธ์–ด ์˜ต์…˜
- ๊ฐ€์„์˜ ๋ณธ์งˆ -f๋ฐฑ์Šฌ๋ž˜์‹œ -fcray ํฌ์ธํ„ฐ -fd-๋ผ์ธ-์ฝ”๋“œ -fd-๋ผ์ธ-์ฃผ์„
-fdefault-๋”๋ธ”-8 -fdefault-์ •์ˆ˜-8 -fdefault-real-8 -fdollar-ํ™•์ธ
-๊ณ ์ • ๋ผ์ธ ๊ธธ์ด-n -fixed-line-length-none -์ž์œ  ํ˜•์‹ -f์ž์œ  ๋ผ์ธ ๊ธธ์ด-n
-ffree-๋ผ์ธ ๊ธธ์ด-์—†์Œ -์•”์‹œ์  ์—†์Œ -finteger-4-์ •์ˆ˜-8 -fmax-์‹๋ณ„์ž-๊ธธ์ด
-f๋ชจ๋“ˆ-๋น„๊ณต๊ฐœ -๊ณ ์ •ํ˜• -fno ๋ฒ”์œ„ ํ™•์ธ -fopenacc -fopenmp -real-4-real-10
-real-4-real-16 -real-4-real-8 -real-8-real-10 -real-8-real-16 -real-8-real-4
-ํ‘œ์ค€=ํ‘œ์ค€

์ „์ฒ˜๋ฆฌ ์˜ต์…˜
-์—์ด-๋ฌธ์ œ[=๋‹ต๋ณ€] -A๋ฌธ์ œ=๋‹ต๋ณ€ -C -CC -D๋งคํฌ๋กœ[=๋ฐํ”„] -H -P -U๋งคํฌ๋กœ -cpp -dD
-๋”” -dM -NS -๋‘ -fworking-๋””๋ ‰ํ† ๋ฆฌ -imultilib DIR -ipprefix ํŒŒ์ผ - ์ธ์šฉ -isysroot DIR
-์•„์ด์‹œ์Šคํ…œ DIR -nocpp -Nostdinc -์–ธ๋ฐํ”„

์˜ค๋ฅ˜ ๊ณผ ๊ฒฝ๊ณ  ์˜ต์…˜
-์™ˆ๋ฆฌ์•„์‹ฑ -๋ฒฝ -์™ํผ์ƒŒ๋“œ -์›Œ๋ ˆ์ด ๊ฒฝ๊ณ„ -Wc ๋ฐ”์ธ๋”ฉ ์œ ํ˜• -๋ฌธ์ž ์ž˜๋ฆผ
-W๋ณ€ํ™˜ -Wfunction ์ œ๊ฑฐ - ์•”๋ฌต์  ์ธํ„ฐํŽ˜์ด์Šค - ์•”๋ฌต์  ์ ˆ์ฐจ
-์œˆํŠธ๋ฆฐ์ง ์„€๋„์šฐ -Wuse ์—†์ด๋งŒ -Wintrinsics-std -Wline ์ž˜๋ฆผ
-Wno-์ •๋ ฌ-๊ณตํ†ต -Wno-ํƒญ -Wreal-q-์ƒ์ˆ˜ -๋†€๋ผ์›€ -๋ถ„๋”ํ”Œ๋กœ์šฐ
-Wunused-๋งค๊ฐœ๋ณ€์ˆ˜ -Wrealloc-lhs -Wrealloc-lhs-๋ชจ๋‘ -Wtarget-ํ‰์ƒ -fmax-์˜ค๋ฅ˜=n
-fsyntax ์ „์šฉ -ํŽ˜๋‹จ ํ‹ฑ - ํ˜„ํ•™์  ์˜ค๋ฅ˜

๋””๋ฒ„๊น… ์˜ต์…˜
-fbacktrace -fdump-fortran ์ตœ์ ํ™” -fdump-ํฌํŠธ๋ž€-์›๋ณธ -fdump-๊ตฌ๋ฌธ ๋ถ„์„ ํŠธ๋ฆฌ
-ffpe-ํŠธ๋žฉ=๋ช…๋ถ€ -ffpe-์š”์•ฝ=๋ช…๋ถ€

๋ช…๋ถ€ ๋‹ด๋‹น ์˜ต์…˜
-IDIR -JDIR -fintrinsic-๋ชจ๋“ˆ-๊ฒฝ๋กœ DIR

(๋งํฌ) ์˜ต์…˜
-์ •์ -libgfortran

๋Ÿฐํƒ€์ž„ ์˜ต์…˜
-f๋ณ€ํ™˜=๋ณ€ํ™˜ -fmax-ํ•˜์œ„ ๋ ˆ์ฝ”๋“œ ๊ธธ์ด=๊ธธ์ด -frecord-๋งˆ์ปค=๊ธธ์ด -fsign-XNUMX

์•”ํ˜ธ ์„ธ๋Œ€ ์˜ต์…˜
-๊ณต๊ฒฉ์  ๊ธฐ๋Šฅ ์ œ๊ฑฐ -fblas-matmul-์ œํ•œ=n -fbounds-์ฒดํฌ
-fcheck-๋ฐฐ์—ด-์ž„์‹œ -์—ํ”„์ฒดํฌ=
-fco๋ฐฐ์—ด= -fexternal-blas -ff2c -ffrontend ์ตœ์ ํ™”
-ํ•œ์ • ๋ฌธ์ž=n - ์œ ํ•œ ์ •์ˆ˜ =n -finit-local-XNUMX - ์œ ํ•œ ๋…ผ๋ฆฌ =
-์ตœ์†Œ์‹ค์ˆ˜= -fmax-๋ฐฐ์—ด ์ƒ์„ฑ์ž=n -fmax-์Šคํƒ-var-ํฌ๊ธฐ=n
-fno-์ •๋ ฌ-๊ณตํ†ต -fno-์ž๋™ -fno ๋ณดํ˜ธ ๊ด„ํ˜ธ -fno-๋ฐ‘์ค„
-fsecond-๋ฐ‘์ค„ -fpack ํŒŒ์ƒ -frealloc-lhs - ์žฌ๊ท€ -frepack-๋ฐฐ์—ด
-fshort ์—ด๊ฑฐํ˜• -fstack-๋ฐฐ์—ด

์˜ต์…˜ ์ œ์–ด ํฌํŠธ๋ž€ ๋ฐฉ์–ธ
๋‹ค์Œ ์˜ต์…˜์€ ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ํ—ˆ์šฉํ•˜๋Š” ํฌํŠธ๋ž€ ๋ฐฉ์–ธ์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

-์ž์œ  ํ˜•์‹
-๊ณ ์ •ํ˜•
์†Œ์Šค ํŒŒ์ผ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ ˆ์ด์•„์›ƒ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์œ  ํ˜•์‹ ๋ ˆ์ด์•„์›ƒ์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
Fortran 90. ๊ณ ์ • ํ˜•์‹์€ ์ „ํ†ต์ ์œผ๋กœ ์ด์ „ Fortran ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์–ธ์ œ
์˜ต์…˜์ด ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์†Œ์Šค ํ˜•์‹์€ ํŒŒ์ผ ํ™•์žฅ์ž์— ์˜ํ•ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

- ๊ฐ€์„์˜ ๋ณธ์งˆ
์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๋‚ด์žฅ ํ”„๋กœ์‹œ์ €(GNU ํŠน์ • ํ™•์žฅ ํฌํ•จ)๊ฐ€
๋ฐ›์•„๋“ค์—ฌ์ง€๋‹ค. ์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ํ•จ๊ป˜ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -ํ‘œ์ค€=f95 ํ‘œ์ค€ ์ค€์ˆ˜๋ฅผ ๊ฐ•์š”ํ•˜์ง€๋งŒ
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋‚ด์žฅ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ์ง€ํฌํŠธ๋ž€. ๊ฒฐ๊ณผ๋กœ์„œ,
-Wintrinsics-std ๋ฌด์‹œ๋˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž ์ •์˜ ํ”„๋กœ์‹œ์ €๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๋ช…์‹œ์ ์œผ๋กœ "EXTERNAL"๋กœ ์„ ์–ธ๋œ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋ชจ๋“  ๋‚ด์žฅ ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

-fd-๋ผ์ธ-์ฝ”๋“œ
-fd-๋ผ์ธ-์ฃผ์„
๊ณ ์ • ํ˜•์‹ ์†Œ์Šค์—์„œ "d" ๋˜๋Š” "D"๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ค„์— ๋Œ€ํ•ด ํŠน๋ณ„ ์ฒ˜๋ฆฌ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
๊ฒฝ์šฐ -fd-๋ผ์ธ-์ฝ”๋“œ ์˜ต์…˜์ด ์ฃผ์–ด์ง€๋ฉด ์ฒซ ๋ฒˆ์งธ ์—ด์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
๊ณต๋ฐฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ -fd-๋ผ์ธ-์ฃผ์„ ์˜ต์…˜์ด ์ฃผ์–ด์ง€๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ ๋ผ์ธ.

-fdollar-ํ™•์ธ
ํ—ˆ์šฉ $ ๊ธฐํ˜ธ ์ด๋ฆ„์—์„œ ์ฒซ ๋ฒˆ์งธ๊ฐ€ ์•„๋‹Œ ์œ ํšจํ•œ ๋ฌธ์ž๋กœ. ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ธฐํ˜ธ $ are
์•”์‹œ์  ํƒ€์ดํ•‘์— ์ ์šฉํ•  ๊ทœ์น™์ด ์„œ๋กœ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ๋ถ€๋จ
๊ณต๊ธ‰์—…์ฒด๋Š” ๋‹ค๋ฅธ ๊ทœ์น™์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ $ "IMPLICIT" ๋ฌธ๋„ ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค.

-f๋ฐฑ์Šฌ๋ž˜์‹œ
๋‹จ์ผ ๋ฐฑ์Šฌ๋ž˜์‹œ์—์„œ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์˜ ๋ฐฑ์Šฌ๋ž˜์‹œ ํ•ด์„ ๋ณ€๊ฒฝ
๋ฌธ์ž๋ฅผ "C ์Šคํƒ€์ผ" ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์กฐํ•ฉ์ด ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค.
"\a", "\b", "\f", "\n", "\r", "\t", "\v", "\\" ๋ฐ "\0"์„ ASCII ๋ฌธ์ž๋กœ
๊ฒฝ๊ณ , ๋ฐฑ์ŠคํŽ˜์ด์Šค, ์–‘์‹ ํ”ผ๋“œ, ์ค„ ๋ฐ”๊ฟˆ, ์บ๋ฆฌ์ง€ ๋ฆฌํ„ด, ๊ฐ€๋กœ ํƒญ, ์„ธ๋กœ ํƒญ,
๊ฐ๊ฐ ๋ฐฑ์Šฌ๋ž˜์‹œ ๋ฐ NUL์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ "\x"nn, "\u"NNNN ๋ฐ "\U"ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹
(์–ด๋””์„œ ๊ฐ๊ฐ n ๋Š” XNUMX์ง„์ˆ˜) ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
์ง€์ •๋œ ์ฝ”๋“œ ํฌ์ธํŠธ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์บ๋ฆญํ„ฐ์˜ ๋‹ค๋ฅธ ๋ชจ๋“  ์กฐํ•ฉ
\๊ฐ€ ์•ž์— ์˜ค๋Š” ๊ฒƒ์€ ํ™•์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-f๋ชจ๋“ˆ-๋น„๊ณต๊ฐœ
๋ชจ๋“ˆ ์—”ํ„ฐํ‹ฐ์˜ ๊ธฐ๋ณธ ์•ก์„ธ์Šค ๊ฐ€๋Šฅ์„ฑ์„ "PRIVATE"๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ด€๋ จ
์—”ํ‹ฐํ‹ฐ๋Š” "PUBLIC"์œผ๋กœ ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธ๋˜์ง€ ์•Š๋Š” ํ•œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

-๊ณ ์ • ๋ผ์ธ ๊ธธ์ด-n
์ผ๋ฐ˜์ ์ธ ๊ณ ์ • ํ˜•์‹ ์ค„์—์„œ ๋ฌธ์ž๊ฐ€ ๋ฌด์‹œ๋˜๋Š” ์—ด์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ํŒŒ์ผ ๋ฐ ์ดํ›„ ๊ณต๋ฐฑ์ด ๊ฐ€์ •๋˜๋Š”(ํ•ด๋‹น ๊ธธ์ด๋งŒํผ ์ฑ„์›Œ์ง„ ๊ฒƒ์ฒ˜๋Ÿผ)
์งง์€ ๊ณ ์ • ํ˜•์‹ ๋ผ์ธ์˜ ๋.

์— ๋Œ€ํ•œ ์ธ๊ธฐ ๊ฐ’ n 72(ํ‘œ์ค€ ๋ฐ ๊ธฐ๋ณธ๊ฐ’), 80(์นด๋“œ ์ด๋ฏธ์ง€) ๋ฐ
132(์ผ๋ถ€ ์ธ๊ธฐ ์žˆ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์˜ "ํ™•์žฅ ์†Œ์Šค" ์˜ต์…˜์— ํ•ด๋‹น). n ๏ผ•์›”
๋˜ํ•œ ์—†์Œ, ์ „์ฒด ํ–‰์ด ์˜๋ฏธ ์žˆ๊ณ  ๊ณ„์†๋˜๋Š” ๋ฌธ์ž๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์ƒ์ˆ˜์—๋Š” ์ค„์„ ์ฑ„์šฐ๊ธฐ ์œ„ํ•ด ์•”์‹œ์  ๊ณต๋ฐฑ์ด ์ถ”๊ฐ€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
-๊ณ ์ • ์ค„ ๊ธธ์ด-0 ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜๋ฏธ -fixed-line-length-none.

-f์ž์œ  ๋ผ์ธ ๊ธธ์ด-n
์†Œ์Šค์˜ ์ผ๋ฐ˜์ ์ธ ์ž์œ  ํ˜•์‹ ํ–‰์—์„œ ๋ฌธ์ž๊ฐ€ ๋ฌด์‹œ๋˜๋Š” ์—ด์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
ํŒŒ์ผ. ๊ธฐ๋ณธ๊ฐ’์€ 132์ž…๋‹ˆ๋‹ค. n ์ˆ˜ ์—†์Œ, ์ฆ‰ ์ „์ฒด ๋ผ์ธ์€
์˜๋ฏธ์žˆ๋Š”. -ffree-๋ผ์ธ ๊ธธ์ด-0 ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜๋ฏธ -ffree-๋ผ์ธ ๊ธธ์ด-์—†์Œ.

-fmax-์‹๋ณ„์ž-๊ธธ์ด=n
์ตœ๋Œ€ ํ—ˆ์šฉ ์‹๋ณ„์ž ๊ธธ์ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ฐ’์€ 31(Fortran 95) ๋ฐ
63(Fortran 2003 ๋ฐ Fortran 2008).

-์•”์‹œ์  ์—†์Œ
๋ช…์‹œ์  "IMPLICIT"์— ์˜ํ•ด ์žฌ์ •์˜๋˜์ง€ ์•Š๋Š” ํ•œ ์•”์‹œ์  ์ž…๋ ฅ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋„๋ก ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
์ง„์ˆ . ์ด๊ฒƒ์€ ๋ชจ๋“  ์‹œ์ž‘ ๋ถ€๋ถ„์— "์•”์‹œ์  ์—†์Œ"์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ˆœ์„œ.

-fcray ํฌ์ธํ„ฐ
C์™€ ์œ ์‚ฌํ•œ ํฌ์ธํ„ฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” Cray ํฌ์ธํ„ฐ ํ™•์žฅ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

-fopenacc
OpenACC ํ™•์žฅ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ž์œ  ํ˜•์‹์˜ OpenACC "!$acc" ์ง€์‹œ๋ฌธ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
๊ณ ์ • ํ˜•์‹์˜ "c$acc", *$acc ๋ฐ "!$acc" ์ง€์‹œ๋ฌธ, "!$" ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ
์ž์œ  ํ˜•์‹์˜ ์„ผํ‹ฐ๋„ฌ๊ณผ ๊ณ ์ • ํ˜•์‹์˜ "c$", "*$" ๋ฐ "!$" ์„ผํ‹ฐ๋„ฌ
์—ฐ๊ฒฐ์€ OpenACC ๋Ÿฐํƒ€์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋„๋ก ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์‹คํ—˜์ ์ธ ๊ธฐ๋Šฅ์ด๋ฉฐ ๋ถˆ์™„์ „ํ•˜๋ฉฐ ํ–ฅํ›„ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
GCC ๋ฒ„์ „. ๋ณด๋‹คhttps://gcc.gnu.org/wiki/OpenACC> ์ž์„ธํ•œ ๋‚ด์šฉ์€.

-fopenmp
OpenMP ํ™•์žฅ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ž์œ  ํ˜•์‹์˜ OpenMP "!$omp" ์ง€์‹œ๋ฌธ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
๋ฐ "c$omp", *$omp ๋ฐ "!$omp" ์ง€์‹œ๋ฌธ(๊ณ ์ • ํ˜•์‹), "!$" ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ
์ž์œ  ํ˜•์‹์˜ ์„ผํ‹ฐ๋„ฌ๊ณผ ๊ณ ์ • ํ˜•์‹์˜ "c$", "*$" ๋ฐ "!$" ์„ผํ‹ฐ๋„ฌ
์—ฐ๊ฒฐ์€ OpenMP ๋Ÿฐํƒ€์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋„๋ก ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ต์…˜ -fopenmp
์˜๋ฏธํ•˜๋‹ค - ์žฌ๊ท€.

-fno ๋ฒ”์œ„ ํ™•์ธ
๋™์•ˆ ์ƒ์ˆ˜ ํ‘œํ˜„์‹์˜ ๋‹จ์ˆœํ™” ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ๋ฒ”์œ„ ๊ฒ€์‚ฌ ๋น„ํ™œ์„ฑํ™”
ํŽธ์ง‘. ์˜ˆ๋ฅผ ๋“ค์–ด, GNU Fortran์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ปดํŒŒ์ผ ํƒ€์ž„์— ์˜ค๋ฅ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
"a = 1. / 0"์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  "a"๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
"+Infinity" ๊ฐ’์„ ํ• ๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‘œํ˜„์‹์ด ์™ธ๋ถ€ ๊ฐ’์œผ๋กœ ํ‰๊ฐ€๋˜๋Š” ๊ฒฝ์šฐ
["-HUGE()":"HUGE()"]์˜ ๊ด€๋ จ ๋ฒ”์œ„์ธ ๊ฒฝ์šฐ ํ‘œํ˜„์‹์€ "-Inf"๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.
๋˜๋Š” ์ ์ ˆํ•˜๊ฒŒ "+Inf". ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ "DATA i/Z'FFFFFFFF'/"๋Š” ์ •์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
๋Œ€๋ถ€๋ถ„์˜ ์‹œ์Šคํ…œ์—์„œ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ -fno ๋ฒ”์œ„ ํ™•์ธ ๊ฐ’์€ "๋ž˜ํ•‘"๋˜๊ณ 
"i"๋Š” ๋Œ€์‹  -1๋กœ ์ดˆ๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.

-fdefault-์ •์ˆ˜-8
๊ธฐ๋ณธ ์ •์ˆ˜ ๋ฐ ๋…ผ๋ฆฌ ์œ ํ˜•์„ 8๋ฐ”์ดํŠธ ๋„ˆ๋น„ ์œ ํ˜•์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜๋„
42์™€ ๊ฐ™์€ ์ •์ˆ˜ ์ƒ์ˆ˜์˜ ์ข…๋ฅ˜์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. -finteger-4-์ •์ˆ˜-8, ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค
๋ช…์‹œ์  ์ข…๋ฅ˜ ์„ ์–ธ์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ์Šน๊ฒฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

-fdefault-real-8
๊ธฐ๋ณธ ์‹ค์ œ ์œ ํ˜•์„ 8๋ฐ”์ดํŠธ ๋„ˆ๋น„ ์œ ํ˜•์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์œ ํ˜•์—๋„ ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
1.0๊ณผ ๊ฐ™์€ ์ด์ค‘์ด ์•„๋‹Œ ์‹ค์ˆ˜ ์ƒ์ˆ˜๋Š” "DOUBLE"์˜ ๊ธฐ๋ณธ ๋„ˆ๋น„๋ฅผ ์Šน๊ฒฉํ•ฉ๋‹ˆ๋‹ค.
PRECISION"์„ "-fdefault-double-16"๋„ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ํ•œ ๊ฐ€๋Šฅํ•˜๋ฉด 8๋ฐ”์ดํŠธ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
-real-4-real-8, ๋ช…์‹œ์  ์ข…๋ฅ˜ ์„ ์–ธ์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ์Šน๊ฒฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-fdefault-๋”๋ธ”-8
"DOUBLE PRECISION" ์œ ํ˜•์„ 8๋ฐ”์ดํŠธ ๋„ˆ๋น„ ์œ ํ˜•์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ์žˆ๋Š” ๊ฒฝ์šฐ ์•„๋ฌด ๊ฒƒ๋„ ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
๊ธฐ๋ณธ๊ฐ’. ๋งŒ์•ฝ์— -fdefault-real-8 ๋Œ€์‹  "DOUBLE PRECISION"์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
๊ฐ€๋Šฅํ•˜๋ฉด 16๋ฐ”์ดํŠธ๋กœ ์Šน๊ฒฉํ•˜๊ณ  -fdefault-๋”๋ธ”-8 ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
"1.d0"๊ณผ ๊ฐ™์€ ์‹ค์ œ ์ƒ์ˆ˜์˜ ์ข…๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. -fdefault-real-8 ๊ทธ๋ž˜๋„,
๊ทธ๋ž˜์„œ ๋˜ํ•œ -fdefault-๋”๋ธ”-8 ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-finteger-4-์ •์ˆ˜-8
๋ชจ๋“  "INTEGER(KIND=4)" ์—”ํ„ฐํ‹ฐ๋ฅผ "INTEGER(KIND=8)" ์—”ํ„ฐํ‹ฐ๋กœ ์Šน๊ฒฉํ•ฉ๋‹ˆ๋‹ค. "์ข…๋ฅ˜=8"์ธ ๊ฒฝ์šฐ
์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
๊ท€ํ•˜์˜ ์ฝ”๋“œ์— ์ ํ•ฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ ค๋˜๋Š” ์˜์—ญ์—๋Š” ๋‹ค์Œ ์ „ํ™”๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
์™ธ๋ถ€ ์ ˆ์ฐจ, "EQUIVALENCE" ๋ฐ/๋˜๋Š” "COMMON" ์ •๋ ฌ, ์ผ๋ฐ˜ ์ธํ„ฐํŽ˜์ด์Šค,
BOZ ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜ ๋ณ€ํ™˜ ๋ฐ I/O. ์ค‘๊ฐ„์ฒด ๊ฒ€์‚ฌ
์— ์˜ํ•ด ์ƒ์„ฑ๋œ ๋ฒˆ์—ญ๋œ Fortran ์ฝ”๋“œ์˜ ํ‘œํ˜„ -fdump-ํŠธ๋ฆฌ-์›๋ณธ์ด๋‹ค
์ œ์•ˆํ–ˆ๋‹ค.

-real-4-real-8
-real-4-real-10
-real-4-real-16
-real-8-real-4
-real-8-real-10
-real-8-real-16
๋ชจ๋“  "REAL(KIND=M)" ์—”ํ„ฐํ‹ฐ๋ฅผ "REAL(KIND=N)" ์—”ํ„ฐํ‹ฐ๋กœ ์Šน๊ฒฉํ•ฉ๋‹ˆ๋‹ค. "REAL(KIND=N)"์ธ ๊ฒฝ์šฐ
์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ์‹ค์ œ ์ข…๋ฅ˜ ์œ ํ˜•์€ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์œผ๋กœ. ์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ ๋‹ค์Œ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹น์‹ ์˜ ์ฝ”๋“œ. ๊ฐ€๋Šฅํ•œ ์šฐ๋ ค ์˜์—ญ์—๋Š” ์™ธ๋ถ€ ์ ˆ์ฐจ์— ๋Œ€ํ•œ ํ˜ธ์ถœ, ์ •๋ ฌ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
"EQUIVALENCE" ๋ฐ/๋˜๋Š” "COMMON"์—์„œ ์ผ๋ฐ˜ ์ธํ„ฐํŽ˜์ด์Šค, BOZ ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜ ๋ณ€ํ™˜,
๋ฐ I/O. ๋ฒˆ์—ญ๋œ Fortran์˜ ์ค‘๊ฐ„ ํ‘œํ˜„ ๊ฒ€์‚ฌ
์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ฝ”๋“œ -fdump-ํŠธ๋ฆฌ-์›๋ณธ, ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค.

-ํ‘œ์ค€=ํ‘œ์ค€
ํ”„๋กœ๊ทธ๋žจ์ด ์ค€์ˆ˜ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ํ‘œ์ค€์„ ์ง€์ •ํ•˜์‹ญ์‹œ์˜ค.
f95, f2003, f2008, ์•”์†Œ ๋น„์Šทํ•œ ์ผ์ข…์˜ ์˜์–‘๋ฐ ์œ ์‚ฐ. ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ๊ฐ’ ํ‘œ์ค€ is ์•”์†Œ ๋น„์Šทํ•œ ์ผ์ข…์˜ ์˜์–‘, ์ง€์ •
์ง€์›๋˜๋Š” ๋ชจ๋“  ํ™•์žฅ์„ ํฌํ•จํ•˜๋Š” Fortran 95 ํ‘œ์ค€์˜ ์ƒ์œ„ ์ง‘ํ•ฉ
GNU Fortran, ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š” ์˜ค๋ž˜๋œ ํ™•์žฅ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜์ง€๋งŒ
์ƒˆ ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด. NS ์œ ์‚ฐ ๊ฐ’์€ ๋™์ผํ•˜์ง€๋งŒ ๋‹ค์Œ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ™•์žฅ์ด๋ฉฐ ์˜ค๋ž˜๋œ ๋น„ํ‘œ์ค€ ํ”„๋กœ๊ทธ๋žจ์— ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NS f95, f2003
๊ณผ f2008 ๊ฐ’์€ Fortran 95, Fortran 2003 ๋ฐ
๊ฐ๊ฐ Fortran 2008 ํ‘œ์ค€; ์ด์™ธ์˜ ๋ชจ๋“  ํ™•์žฅ์— ๋Œ€ํ•ด ์˜ค๋ฅ˜๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
๊ด€๋ จ ์–ธ์–ด ํ‘œ์ค€ ๋ฐ Fortran 77 ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
ํ—ˆ์šฉ๋˜์ง€๋งŒ ์ดํ›„ ํ‘œ์ค€์—์„œ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. -std=f2008ts ํฌํŠธ๋ž€ 2008 ํ—ˆ์šฉ
๊ธฐ์ˆ  ์‚ฌ์–‘(TS) 29113 ์ถ”๊ฐ€๋ฅผ ํฌํ•จํ•œ ํ‘œ์ค€
์ถ”๊ฐ€ ๋ณ‘๋ ฌ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ C ๋ฐ TS 18508๊ณผ Fortran์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ
ํฌํŠธ๋ž€.

์‚ฌ์šฉ ๊ณผ ์‚ฌ์šฉ์ž ์ •์˜ ์ „์ฒ˜๋ฆฌ
์ „์ฒ˜๋ฆฌ๊ธฐ ๊ด€๋ จ ์˜ต์…˜. ์„น์…˜ ์ฐธ์กฐ ์ „์ฒ˜๋ฆฌ ๊ณผ ์กฐ๊ฑด๋ถ€์˜ ํŽธ์ง‘ ์•„์‹œ์•„์ธ ๋Œ€์ƒ
์˜ ์ „์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด ์ง€ํฌํŠธ๋ž€.

-cpp
-nocpp
์ „์ฒ˜๋ฆฌ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ํ™•์žฅ์ž๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์ „์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
is .fpp, .FPP, .F, .์„์œ„ํ•œ, .FTN, .F90, .F95, .F03 or .F08. ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ
๋ชจ๋“  ์ข…๋ฅ˜์˜ Fortran ํŒŒ์ผ์˜ ์‚ฌ์ „ ์ฒ˜๋ฆฌ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

์œ„์— ๋‚˜์—ด๋œ ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„ ํŒŒ์ผ์˜ ์ „์ฒ˜๋ฆฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
๋ถ€์ •์ ์ธ ํ˜•ํƒœ: -nocpp.

์ „์ฒ˜๋ฆฌ๊ธฐ๋Š” ๊ธฐ์กด ๋ชจ๋“œ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ํ˜•์‹์˜ ์ œํ•œ ์‚ฌํ•ญ,
ํŠนํžˆ ๋ผ์ธ ๊ธธ์ด์— ๋Œ€ํ•œ ์ œํ•œ์€ ์ „์ฒ˜๋ฆฌ๋œ ์ถœ๋ ฅ์—๋„ ์ ์šฉ๋˜๋ฏ€๋กœ
์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค -ffree-๋ผ์ธ ๊ธธ์ด-์—†์Œ or -fixed-line-length-none
์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

-dM ์ผ๋ฐ˜ ์ถœ๋ ฅ ๋Œ€์‹  ๋ชจ๋“  '#define' ์ง€์‹œ๋ฌธ ๋ชฉ๋ก์„ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค.
๋ฏธ๋ฆฌ ์ •์˜๋œ ๋งคํฌ๋กœ๋ฅผ ํฌํ•จํ•˜์—ฌ ์ „์ฒ˜๋ฆฌ๊ธฐ ์‹คํ–‰ ์ค‘์— ์ •์˜๋œ ๋งคํฌ๋กœ์ž…๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ๊ท€ํ•˜์˜ ๋ฒ„์ „์— ์‚ฌ์ „ ์ •์˜๋œ ๊ฒƒ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
์ „์ฒ˜๋ฆฌ๊ธฐ. ํŒŒ์ผ์ด ์—†๋‹ค๊ณ  ๊ฐ€์ • ํ‘ธ.f90, ๋ช…๋ น

ํ„ฐ์น˜ foo.f90; gfortran -cpp -E -dM foo.f90

๋ฏธ๋ฆฌ ์ •์˜ ๋œ ๋ชจ๋“  ๋งคํฌ๋กœ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

-dD ์ฒ˜๋Ÿผ -dM ๋‘ ๊ฐ€์ง€ ์ธก๋ฉด์„ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋งคํฌ๋กœ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฉฐ
"#define" ์ง€์‹œ๋ฌธ๊ณผ ์ „์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋‘ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋‘ ์ข…๋ฅ˜์˜
์ถœ๋ ฅ์€ ํ‘œ์ค€ ์ถœ๋ ฅ ํŒŒ์ผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

-NS ์ฒ˜๋Ÿผ -dD, ๊ทธ๋Ÿฌ๋‚˜ ํ™•์žฅ์ด ์•„๋‹Œ ๋งคํฌ๋กœ ์ด๋ฆ„๋งŒ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

-๋‘ ์ฒ˜๋Ÿผ dD ํ™•์žฅ๋˜๊ฑฐ๋‚˜ ์ •์˜๊ฐ€ ํ…Œ์ŠคํŠธ๋œ ๋งคํฌ๋กœ๋งŒ ์ œ์™ธ
์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ์˜ ์‚ฌ์šฉ ๋˜๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ถœ๋ ฅ์ด ์ง€์—ฐ๋ฉ๋‹ˆ๋‹ค.
๋งคํฌ๋กœ; ๋ฐ '#undef' ์ง€์‹œ๋ฌธ์€ ํ…Œ์ŠคํŠธ๋˜์—ˆ์ง€๋งŒ ์ •์˜๋˜์ง€ ์•Š์€ ๋งคํฌ๋กœ์— ๋Œ€ํ•ด์„œ๋„ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
์‹œ๊ฐ„.

-๋”” ์ „์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ ์™ธ์— '#include' ์ง€์‹œ๋ฌธ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

-fworking-๋””๋ ‰ํ† ๋ฆฌ
์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ—ˆ์šฉํ•˜๋Š” ์ „์ฒ˜๋ฆฌ๊ธฐ ์ถœ๋ ฅ์—์„œ โ€‹โ€‹๋ผ์ธ ๋งˆ์ปค ์ƒ์„ฑ์„ ํ™œ์„ฑํ™”
์ „์ฒ˜๋ฆฌ ์‹œ์ ์˜ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์ด
ํ™œ์„ฑํ™”๋˜๋ฉด ์ „์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ์ดˆ๊ธฐ ๋ผ์ธ ๋งˆ์ปค ๋‹ค์Œ์— ๋‘ ๋ฒˆ์งธ ๋ผ์ธ ๋งˆ์ปค๋ฅผ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ๋’ค์— ๋‘ ๊ฐœ์˜ ์Šฌ๋ž˜์‹œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. GCC๋Š” ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค
๋””๋ ‰ํ† ๋ฆฌ, ์‚ฌ์ „ ์ฒ˜๋ฆฌ๋œ ์ž…๋ ฅ์— ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚ด๋ณด๋‚ธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ
์ผ๋ถ€ ๋””๋ฒ„๊น… ์ •๋ณด ํ˜•์‹์˜ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ. ์ด ์˜ต์…˜์€
๋””๋ฒ„๊น… ์ •๋ณด๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ์•”์‹œ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์ง€๋งŒ ๋‹ค์Œ์œผ๋กœ ๊ธˆ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ถ€์ •ํ˜• -fno-์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ. ๊ฒฝ์šฐ -P ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋ช…๋ น์— ์žˆ์Šต๋‹ˆ๋‹ค.
line์—์„œ "#line" ์ง€์‹œ๋ฌธ์ด ์ „ํ˜€ ์ƒ์„ฑ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ด ์˜ต์…˜์€ ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

-idirafter DIR
๊ฒ€์ƒ‰ DIR ํฌํ•จ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ ๋‹ค์Œ์œผ๋กœ ์ง€์ •๋œ ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ ๋‹ค์Œ์— ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค. -I ๊ณผ
ํ‘œ์ค€ ์‹œ์Šคํ…œ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์†Œ์ง„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. DIR ์‹œ์Šคํ…œ์œผ๋กœ ์ทจ๊ธ‰๋œ๋‹ค
๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. dir์ด "="๋กœ ์‹œ์ž‘ํ•˜๋ฉด "="๋Š”
sysroot ์ ‘๋‘์‚ฌ; ๋ณด๋‹ค --sysroot ๊ณผ -isysroot.

-imultilib DIR
DIR ๋Œ€์ƒ๋ณ„ C++ ํ—ค๋”๋ฅผ ํฌํ•จํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์˜ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

-ipprefix ์ ‘๋‘์‚ฌ
์ง€์ • ์ ‘๋‘์‚ฌ ํ›„์† ์ ‘๋‘์‚ฌ๋กœ -iwith ์ ‘๋‘์‚ฌ ์˜ต์…˜. ๋งŒ์•ฝ ์ ‘๋‘์‚ฌ
๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฏ€๋กœ ๋งˆ์ง€๋ง‰ '/'๋ฅผ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

-isysroot DIR
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. --sysroot ์˜ต์…˜์ด์ง€๋งŒ ํ—ค๋” ํŒŒ์ผ์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฐธ์กฐ
--sysroot ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์˜ต์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

- ์ธ์šฉ DIR
๊ฒ€์ƒ‰ DIR "#include "file""๋กœ ์š”์ฒญ๋œ ํ—ค๋” ํŒŒ์ผ์—๋งŒ ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์•„๋‹ˆ๋‹ค
"#ํฌํ•จ"์„ ๊ฒ€์ƒ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ", ๋‹ค์Œ์— ์˜ํ•ด ์ง€์ •๋œ ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ ์•ž์— -I ๊ทธ๋ฆฌ๊ณ  ์ „์—
ํ‘œ์ค€ ์‹œ์Šคํ…œ ๋””๋ ‰ํ† ๋ฆฌ. ๋งŒ์•ฝ์— DIR "="๋กœ ์‹œ์ž‘ํ•˜๋ฉด "="๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.
sysroot ์ ‘๋‘์‚ฌ; ๋ณด๋‹ค --sysroot ๊ณผ -isysroot.

-์•„์ด์‹œ์Šคํ…œ DIR
๊ฒ€์ƒ‰ DIR ํ—ค๋” ํŒŒ์ผ์˜ ๊ฒฝ์šฐ ๋‹ค์Œ์œผ๋กœ ์ง€์ •๋œ ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ ๋’ค์— -I ๊ทธ๋Ÿฌ๋‚˜ ์ „์—
ํ‘œ์ค€ ์‹œ์Šคํ…œ ๋””๋ ‰ํ† ๋ฆฌ. ์‹œ์Šคํ…œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ํ‘œ์‹œํ•˜์—ฌ ๋™์ผํ•˜๊ฒŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
ํ‘œ์ค€ ์‹œ์Šคํ…œ ๋””๋ ‰ํ† ๋ฆฌ์— ์ ์šฉ๋˜๋Š” ํŠน๋ณ„ํ•œ ์ทจ๊ธ‰. ๋งŒ์•ฝ์— DIR ~๋กœ ์‹œ์ž‘ํ•˜๋‹ค
"=", "="๋Š” sysroot ์ ‘๋‘์‚ฌ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค. ๋ณด๋‹ค --sysroot ๊ณผ -isysroot.

-Nostdinc
ํ—ค๋” ํŒŒ์ผ์— ๋Œ€ํ•œ ํ‘œ์ค€ ์‹œ์Šคํ…œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋””๋ ‰ํ† ๋ฆฌ๋งŒ
๋‹น์‹ ์€ ๋กœ ์ง€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค -I ์˜ต์…˜(๋ฐ ํ˜„์žฌ ํŒŒ์ผ์˜ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ
ํ•ด๋‹น)์ด ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค.

-์–ธ๋ฐํ”„
์‹œ์Šคํ…œ ํŠน์ • ๋˜๋Š” GCC ํŠน์ • ๋งคํฌ๋กœ๋ฅผ ๋ฏธ๋ฆฌ ์ •์˜ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋ฏธ๋ฆฌ ์ •์˜๋œ ํ‘œ์ค€
๋งคํฌ๋กœ๋Š” ์ •์˜๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

-A์ˆ ๋ถ€=๋‹ต๋ณ€
์ˆ ์–ด๋กœ ์ฃผ์žฅํ•˜๊ธฐ ์ˆ ๋ถ€ ๋Œ€๋‹ต ๋‹ต๋ณ€. ์ด ์–‘์‹์€
์ด์ „ ํ˜•์‹๋ณด๋‹ค ์„ ํ˜ธ๋˜๋Š” -A predicate(answer), ์—ฌ์ „ํžˆ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
์‰˜ ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-์—์ด-์ˆ ๋ถ€=๋‹ต๋ณ€
์ˆ ์–ด๋กœ ์–ด์„ค์…˜ ์ทจ์†Œ ์ˆ ๋ถ€ ๋Œ€๋‹ต ๋‹ต๋ณ€.

-C ๋Œ“๊ธ€์„ ๋ฒ„๋ฆฌ์ง€ ๋งˆ์„ธ์š”. ๋‹ค์Œ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์ฃผ์„์€ ์ถœ๋ ฅ ํŒŒ์ผ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
์ง€์‹œ๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ญ์ œ๋˜๋Š” ์ฒ˜๋ฆฌ๋œ ์ง€์‹œ๋ฌธ์— ์žˆ๋Š” ์ฃผ์„์˜ ๊ฒฝ์šฐ.

์‚ฌ์šฉ ์‹œ ๋ถ€์ž‘์šฉ์— ๋Œ€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. -C; ๊ทธ๊ฒƒ์€ ์ „์ฒ˜๋ฆฌ๊ธฐ๊ฐ€
๋Œ“๊ธ€์„ ์ž์ฒด์ ์œผ๋กœ ํ† ํฐ์œผ๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒŒ์‹œํŒ์— ํ‘œ์‹œ๋˜๋Š” ๋Œ“๊ธ€์€
์ง€์‹œ ํ–‰์ด ๋  ๊ฒƒ์˜ ์‹œ์ž‘์€ ๊ทธ ํ–‰์„ ๋‹ค์Œ์œผ๋กœ ๋ฐ”๊พธ๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์ค„์˜ ์ฒซ ๋ฒˆ์งธ ํ† ํฐ์ด ๋” ์ด์ƒ '#'์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜ ์†Œ์Šค ์ค„์ž…๋‹ˆ๋‹ค.

๊ฒฝ๊ณ : ์ด๊ฒƒ์€ ํ˜„์žฌ C ์Šคํƒ€์ผ ์ฃผ์„๋งŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒ˜๋ฆฌ๊ธฐ๋Š” ์•„์ง
ํฌํŠธ๋ž€ ์Šคํƒ€์ผ ์ฃผ์„์„ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.

-CC ๋งคํฌ๋กœ ํ™•์žฅ ์ค‘์„ ํฌํ•จํ•˜์—ฌ ์ฃผ์„์„ ์‚ญ์ œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ด๊ฒƒ์€ ๋งˆ์น˜ -C์ œ์™ธ
๋งคํฌ๋กœ์— ํฌํ•จ๋œ ์ฃผ์„๋„ ์ถœ๋ ฅ ํŒŒ์ผ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
๋งคํฌ๋กœ๊ฐ€ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค.

๋ถ€์ž‘์šฉ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ -C ์˜ต์…˜, -CC ์˜ต์…˜์€ ๋ชจ๋“  C++ ์Šคํƒ€์ผ์„ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค.
๋งคํฌ๋กœ ๋‚ด๋ถ€์˜ ์ฃผ์„์„ C ์Šคํƒ€์ผ ์ฃผ์„์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚˜์ค‘์— ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด
์‹ค์ˆ˜๋กœ ์†Œ์Šค ํ–‰์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ์ฃผ์„์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ํ•ด๋‹น ๋งคํฌ๋กœ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ตœ๋Œ€ XNUMXW ์ถœ๋ ฅ์„ ์ œ๊ณตํ•˜๋Š” -CC ์˜ต์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฆฐํŠธ ์ฃผ์„์„ ์ง€์›ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ : ์ด๊ฒƒ์€ ํ˜„์žฌ C ๋ฐ C++ ์Šคํƒ€์ผ ์ฃผ์„๋งŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒ˜๋ฆฌ๊ธฐ๋Š”
์•„์ง Fortran ์Šคํƒ€์ผ ์ฃผ์„์„ ์ธ์‹ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

-Dname
์ •์˜ 1๊ณผ ํ•จ๊ป˜ ์ด๋ฆ„์„ ๋งคํฌ๋กœ๋กœ ๋ฏธ๋ฆฌ ์ •์˜ํ•˜์‹ญ์‹œ์˜ค.

-Dname=์ •์˜
๋‚ด์šฉ ์ •์˜ ํ† ํฐํ™” ๋ฐ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
'#define' ์ง€์‹œ๋ฌธ์—์„œ ๋ฒˆ์—ญ ๋‹จ๊ณ„ XNUMX. ํŠนํžˆ, ์ •์˜๋Š”
ํฌํ•จ๋œ ๊ฐœํ–‰ ๋ฌธ์ž์— ์˜ํ•ด ์ž˜๋ฆฝ๋‹ˆ๋‹ค.

์‰˜ ๋˜๋Š” ์‰˜๊ณผ ์œ ์‚ฌํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ „์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‰˜์˜ ์ธ์šฉ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๋ฐฑ๊ณผ ๊ฐ™์€ ๋ฌธ์ž๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.
์‰˜ ๊ตฌ๋ฌธ์˜ ์˜๋ฏธ.

๋ช…๋ น์ค„์—์„œ ํ•จ์ˆ˜์™€ ๊ฐ™์€ ๋งคํฌ๋กœ๋ฅผ ์ •์˜ํ•˜๋ ค๋ฉด ํ•ด๋‹น ์ธ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค.
๋“ฑํ˜ธ(์žˆ๋Š” ๊ฒฝ์šฐ) ์•ž์— ๊ด„ํ˜ธ๊ฐ€ ์žˆ๋Š” ๋ชฉ๋ก. ๊ด„ํ˜ธ๋Š”
๋Œ€๋ถ€๋ถ„์˜ ์‰˜์— ์˜๋ฏธ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์˜ต์…˜์„ ์ธ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. sh ๋ฐ csh๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ
"-D'name(args...)=definition'"์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

-D ๊ณผ -U ์˜ต์…˜์€ ๋ช…๋ น์ค„์— ์ œ๊ณต๋œ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋‘
-imacros ํŒŒ์ผ ๋ฐ -include ํŒŒ์ผ ์˜ต์…˜์€ ๋ชจ๋“  -D ๋ฐ -U ์˜ต์…˜ ํ›„์— ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

-H ๋‹ค๋ฅธ ์ผ๋ฐ˜ ํ™œ๋™๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ ๊ฐ ํ—ค๋” ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ์ธ์‡„ํ•˜์‹ญ์‹œ์˜ค. ๊ฐ
name์€ '#include' ์Šคํƒ์˜ ๊นŠ์ด๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ๋“ค์—ฌ์“ฐ๊ธฐ๋ฉ๋‹ˆ๋‹ค.

-P ์ „์ฒ˜๋ฆฌ๊ธฐ์˜ ์ถœ๋ ฅ์—์„œ โ€‹โ€‹๋ผ์ธ๋งˆ์ปค ์ƒ์„ฑ์„ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์•„๋งˆ๋„
C ์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ ๋ฌด์–ธ๊ฐ€์—์„œ ์ „์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์œ ์šฉํ•˜๋ฉฐ ์ „์†ก๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
linemarkers์— ์˜ํ•ด ํ˜ผ๋™๋  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์—.

-Uname
์ด์ „ ์ •์˜ ์ทจ์†Œ name, ๋‚ด์žฅ ๋˜๋Š” ์ œ๊ณต -D ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์˜ต์…˜ ์— ์˜๋ขฐ or ์ง„์••ํ•˜๋‹ค ์˜ค๋ฅ˜ ๊ณผ ๊ฒฝ๊ณ 
์˜ค๋ฅ˜๋Š” GNU Fortran ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ๋ณด๊ณ ํ•˜๋Š” ์ง„๋‹จ ๋ฉ”์‹œ์ง€์ž…๋‹ˆ๋‹ค.
์†Œ์Šค ์ฝ”๋“œ์˜ ๊ด€๋ จ ๋ถ€๋ถ„. ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๊ณ„์†ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
๋””๋ฒ„๊น…์„ ๋•๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€๋งŒ ์ปดํŒŒ์ผ๋œ ์˜ค๋ฅ˜๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ถœ๋ ฅ.

๊ฒฝ๊ณ ๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ตฌ์„ฑ์„ ๋ณด๊ณ ํ•˜๋Š” ์ง„๋‹จ ๋ฉ”์‹œ์ง€์ž…๋‹ˆ๋‹ค.
์˜ค๋ฅ˜๊ฐ€ ์žˆ์ง€๋งŒ ์œ„ํ—˜ํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ๊ทธ๋žจ์— ๋ฒ„๊ทธ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ์•”์‹œํ•ฉ๋‹ˆ๋‹ค.
์•Š๋Š” ํ•œ -์›Œ๋Ÿฌ ์ง€์ •๋˜์–ด ์žˆ์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ปดํŒŒ์ผ์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ต์…˜์ด ์‹œ์ž‘๋˜๋Š” ๋งŽ์€ ํŠน์ • ๊ฒฝ๊ณ ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -W์˜ˆ๋ฅผ ๋“ค์–ด, - ์•”๋ฌต์ 
์•”์‹œ์  ์„ ์–ธ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์ • ๊ฒฝ๊ณ  ์˜ต์…˜์€ ๊ฐ๊ฐ
์Œ์˜ ํ˜•ํƒœ๋กœ ์‹œ์ž‘ -์•„๋‹ˆ- ๊ฒฝ๊ณ ๋ฅผ ๋„๋ ค๋ฉด; ์˜ˆ๋ฅผ ๋“ค์–ด, -Wno-์•”์‹œ์ .
์ด ์„ค๋ช…์„œ๋Š” ๋‘ ๊ฐ€์ง€ ํ˜•์‹ ์ค‘ ๊ธฐ๋ณธ๊ฐ’์ด ์•„๋‹Œ ํ˜•์‹ ์ค‘ ํ•˜๋‚˜๋งŒ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ GNU Fortran์—์„œ ์ƒ์„ฑ๋˜๋Š” ์˜ค๋ฅ˜ ๋ฐ ๊ฒฝ๊ณ ์˜ ์–‘๊ณผ ์ข…๋ฅ˜๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

-fmax-์˜ค๋ฅ˜=n
์ตœ๋Œ€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ˆ˜๋ฅผ ๋‹ค์Œ์œผ๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. n, ๊ทธ ์‹œ์ ์—์„œ GNU Fortran์€ ๊ตฌ์ œ ๊ธˆ์œต
์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ณ„์† ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๋Œ€์‹ . ๋งŒ์•ฝ์— n ๋Š” 0, ์—†๋‹ค
์ƒ์„ฑ๋œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ˆ˜์— ๋Œ€ํ•œ ์ œํ•œ.

-fsyntax ์ „์šฉ
์ฝ”๋“œ์—์„œ ๊ตฌ๋ฌธ ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•˜๋˜ ์‹ค์ œ๋กœ ์ปดํŒŒ์ผํ•˜์ง€๋Š” ๋งˆ์‹ญ์‹œ์˜ค. ์ด๊ฒƒ์€ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค
๊ฐ ๋ชจ๋“ˆ์— ๋Œ€ํ•œ ๋ชจ๋“ˆ ํŒŒ์ผ์€ ์ฝ”๋“œ์— ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ์ถœ๋ ฅ ํŒŒ์ผ์€ ์—†์Šต๋‹ˆ๋‹ค.

-ํŽ˜๋‹จ ํ‹ฑ
Fortran 95์— ๋Œ€ํ•œ ํ™•์žฅ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋ฅผ ๋ฐœํ–‰ํ•ฉ๋‹ˆ๋‹ค. -ํŽ˜๋‹จ ํ‹ฑ ๋˜ํ•œ ์ ์šฉ
๋‹ค์Œ๊ณผ ๊ฐ™์ด GNU Fortran ์†Œ์Šค ํŒŒ์ผ์—์„œ ๋ฐœ์ƒํ•˜๋Š” C ์–ธ์–ด ๊ตฌ์„ฑ \e
"#include"์™€ ๊ฐ™์€ ์ง€์‹œ๋ฌธ ๋‚ด์˜ ๋ฌธ์ž ์ƒ์ˆ˜์—์„œ.

์œ ํšจํ•œ Fortran 95 ํ”„๋กœ๊ทธ๋žจ์€ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ œ๋Œ€๋กœ ์ปดํŒŒ์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ด ์˜ต์…˜์ด ์—†์œผ๋ฉด ํŠน์ • GNU ํ™•์žฅ ๋ฐ ๊ธฐ์กด ํฌํŠธ๋ž€ ๊ธฐ๋Šฅ์ด
๋„ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„์ด ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ ์‚ฌ์šฉ์ž๋Š” ์‚ฌ์šฉํ•˜๋ ค๊ณ  -ํŽ˜๋‹จ ํ‹ฑ ํ”„๋กœ๊ทธ๋žจ์˜ ์ ํ•ฉ์„ฑ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๊ณง ๋ฐœ๊ฒฌ
๊ทธ๋“ค์ด ์›ํ•˜๋Š” ๋Œ€๋กœ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ --- ์ผ๋ถ€ ๋น„ํ‘œ์ค€ ๊ด€ํ–‰์„ ๋ฐœ๊ฒฌํ•˜์ง€๋งŒ,
์ „๋ถ€๋Š” ์•„๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์˜์—ญ์—์„œ GNU Fortran์— ๋Œ€ํ•œ ๊ฐœ์„ ์€ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. -ํ‘œ์ค€=f95, -ํ‘œ์ค€=f2003 or -ํ‘œ์ค€=f2008.

- ํ˜„ํ•™์  ์˜ค๋ฅ˜
์ฒ˜๋Ÿผ -ํŽ˜๋‹จ ํ‹ฑ, ๊ฒฝ๊ณ ๊ฐ€ ์•„๋‹Œ ์˜ค๋ฅ˜๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๊ณ .

-๋ฒฝ
์‚ฌ์šฉ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ๊ณ  ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•˜์—ฌ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ํ”ผํ•˜๊ธฐ ์‰ฝ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ํ˜„์žฌ ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. -์™ˆ๋ฆฌ์•„์‹ฑ,
-์™ํผ์ƒŒ๋“œ, -W๋ณ€ํ™˜, -๋†€๋ผ์›€, -Wc ๋ฐ”์ธ๋”ฉ ์œ ํ˜•, -Wintrinsics-std,
-Wno-ํƒญ, -์œˆํŠธ๋ฆฐ์ง ์„€๋„์šฐ, -Wline ์ž˜๋ฆผ, -Wtarget-ํ‰์ƒ, -Wreal-q-์ƒ์ˆ˜
๊ณผ - ์‚ฌ์šฉํ•˜์ง€ ์•Š์€.

-์™ˆ๋ฆฌ์•„์‹ฑ
๋”๋ฏธ ์ธ์ˆ˜์˜ ๊ฐ€๋Šฅํ•œ ๋ณ„์นญ์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋™์ผํ•œ ๊ฒฝ์šฐ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
์‹ค์ œ ์ธ์ˆ˜๋Š” "INTENT(IN)"์ด ์žˆ๋Š” ๋”๋ฏธ ์ธ์ˆ˜ ๋ฐ ๋”๋ฏธ์™€ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
๋ช…์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ ํ˜ธ์ถœ์—์„œ "INTENT(OUT)"๊ฐ€ ์žˆ๋Š” ์ธ์ˆ˜.

๋‹ค์Œ ์˜ˆ์—์„œ๋Š” ๊ฒฝ๊ณ ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค
์„œ๋ธŒ๋ฃจํ‹ด ๋ฐ”(a,b)
์ •์ˆ˜, ์˜๋„(in) :: a
์ •์ˆ˜, ์˜๋„(์ถœ๋ ฅ) :: b
์„œ๋ธŒ๋ฃจํ‹ด ์ข…๋ฃŒ
๋ ์ธํ„ฐํŽ˜์ด์Šค
์ •์ˆ˜ :: a

์ฝœ ๋ฐ”(a,a)

-์™ํผ์ƒŒ๋“œ
์—ฐ์† ๋ฌธ์ž ์ƒ์ˆ˜์—์„œ ๋ˆ„๋ฝ๋œ ์•ฐํผ์ƒŒ๋“œ์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ๊ณ ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค
๊ณผ -์™ํผ์ƒŒ๋“œ, -ํŽ˜๋‹จ ํ‹ฑ, -ํ‘œ์ค€=f95, -ํ‘œ์ค€=f2003 ๊ณผ -ํ‘œ์ค€=f2008. ์ฐธ๊ณ : ์—†์Œ
์—ฐ์† ๋ฌธ์ž ์ƒ์ˆ˜๋กœ ์ฃผ์–ด์ง„ ์•ฐํผ์ƒŒ๋“œ, GNU Fortran์€ ๋‹ค์Œ์—์„œ ์—ฐ์†์„ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
์‹œ์ž‘ํ•˜๋Š” ์•ฐํผ์ƒŒ๋“œ ๋‹ค์Œ์˜ ์ฒซ ๋ฒˆ์งธ ์ฃผ์„ ๋ฐ ๊ณต๋ฐฑ์ด ์•„๋‹Œ ๋ฌธ์ž
๊ณ„์†.

-์›Œ๋ ˆ์ด-์ž„์‹œ
์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ž„์‹œ ๋ฐฐ์—ด์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ •๋ณด
์ด ๊ฒฝ๊ณ ๋Š” ์ด๋Ÿฌํ•œ ์ผ์‹œ์ ์ธ ํ˜„์ƒ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์ ํ™”์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

-Wc ๋ฐ”์ธ๋”ฉ ์œ ํ˜•
๋ณ€์ˆ˜๊ฐ€ C ์ƒํ˜ธ ์šด์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
๋ณ€์ˆ˜๊ฐ€ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ๊ธฐ๋ณธ ์ข…๋ฅ˜์˜ ๋‚ด์žฅ ์œ ํ˜•์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚ด์žฅ "ISO_C_Binding"์—์„œ C ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์œ„ํ•ด ์ •์˜๋œ ์ข…๋ฅ˜ ๋งค๊ฐœ๋ณ€์ˆ˜
๊ธฐ์ค€ ์น˜์ˆ˜. ์ด ์˜ต์…˜์€ -๋ฒฝ.

-๋ฌธ์ž ์ž˜๋ฆผ
๋ฌธ์ž ํ• ๋‹น์ด ํ• ๋‹น๋œ ๋ฌธ์ž์—ด์„ ์ž๋ฅผ ๋•Œ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

-Wline ์ž˜๋ฆผ
์†Œ์Šค ์ฝ”๋“œ ์ค„์ด ์ž˜๋ฆด ๋•Œ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ -๋ฒฝ. ์šฉ
์ž์œ  ํ˜•์‹ ์†Œ์Šค ์ฝ”๋“œ, ๊ธฐ๋ณธ๊ฐ’์€ -Werror=์ค„ ์ž˜๋ฆผ ์ž˜๋ฆผ
์˜ค๋ฅ˜๋กœ ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค.

-W๋ณ€ํ™˜
ํ‘œํ˜„์‹์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ์•”์‹œ์  ๋ณ€ํ™˜์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
๋ณ€ํ™˜ ํ›„. ์— ์˜ํ•ด ์•”์‹œ -๋ฒฝ.

-Wconversion-์ถ”๊ฐ€
๋‹ค๋ฅธ ์œ ํ˜•๊ณผ ์ข…๋ฅ˜ ๊ฐ„์˜ ์•”์‹œ์  ๋ณ€ํ™˜์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€
์ง€์› ์•”์‹œํ•˜๋‹ค -W๋ณ€ํ™˜.

-์›ฉ์ŠคํŠธ๋ผ
๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด ๊ธฐ๋Šฅ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ฒฝ๊ณ  ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
ํ˜„์žฌ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. - ์‹ค์ œ ๋น„๊ต ๊ณผ -Wunused-๋งค๊ฐœ๋ณ€์ˆ˜.

- ์•”๋ฌต์  ์ธํ„ฐํŽ˜์ด์Šค
๋ช…์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค ์—†์ด ํ”„๋กœ์‹œ์ €๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ™•์ธ๋งŒ ํ•œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค.
๋ช…์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์„ ์–ธ๋œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€
ํ”„๋กœ๊ทธ๋žจ ๋‹จ์œ„์—์„œ ์ผ๊ด€์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

- ์•”๋ฌต์  ์ ˆ์ฐจ
๋ช…์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์—†๊ฑฐ๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์—†๋Š” ํ”„๋กœ์‹œ์ €๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
"์™ธ๋ถ€"๋กœ ์„ ์–ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

-Wintrinsics-std
๋‹ค์Œ ๊ฒฝ์šฐ ๊ฒฝ๊ณ  ์ง€ํฌํŠธ๋ž€ ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๋‚ด์žฅ๊ณผ ๊ฐ™์€ ์ด๋ฆ„์˜ ํ”„๋กœ์‹œ์ €๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
ํ˜„์žฌ ์„ ํƒ๋œ ํ‘œ์ค€( -ํ‘œ์ค€) ๋ฐ "EXTERNAL" ์ ˆ์ฐจ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—
์ด์˜. - ๊ฐ€์„์˜ ๋ณธ์งˆ ์ด ๋™์ž‘์„ ํŠธ๋ฆฌ๊ฑฐํ•˜์ง€ ์•Š๊ณ  ํ•ญ์ƒ ๋งํฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์„ ํƒํ•œ ํ‘œ์ค€์— ๊ด€๊ณ„์—†์ด ๋ณธ์งˆ์ ์œผ๋กœ.

-Wreal-q-์ƒ์ˆ˜
real-literal-constant์— "q" ์ง€์ˆ˜ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ๊ฒฝ๊ณ ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

-๋†€๋ผ์›€
"์˜์‹ฌ์Šค๋Ÿฌ์šด" ์ฝ”๋“œ ๊ตฌ์„ฑ์ด ๋ฐœ๊ฒฌ๋˜๋ฉด ๊ฒฝ๊ณ ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋Š” ๋™์•ˆ
๊ธฐ์ˆ ์ ์œผ๋กœ ํ•ฉ๋ฒ•์ ์ธ ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ˜„์žฌ ๋‹ค์Œ ์ƒํ™ฉ์—์„œ ๊ฒฝ๊ณ ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

* INTEGER SELECT ๊ตฌ๋ฌธ์—๋Š” ํ•˜์œ„ ํ•ญ๋ชฉ๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” CASE๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ’์ด ์ƒ์œ„ ๊ฐ’๋ณด๋‹ค ํฝ๋‹ˆ๋‹ค.

* LOGICAL SELECT ๊ตฌ๋ฌธ์—๋Š” ์„ธ ๊ฐœ์˜ CASE ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

* TRANSFER๋Š” ๋ชฉ์ ์ง€๋ณด๋‹ค ์งง์€ ์†Œ์Šค๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

* ํ•จ์ˆ˜ ๊ฒฐ๊ณผ์˜ ์œ ํ˜•์ด ๋™์ผํ•œ ์œ ํ˜•์œผ๋กœ ๋‘ ๋ฒˆ ์ด์ƒ ์„ ์–ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ์—
-ํŽ˜๋‹จ ํ‹ฑ ๋˜๋Š” ํ‘œ์ค€ ์ค€์ˆ˜ ๋ชจ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์œผ๋ฉด ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.

* "CHARACTER" ๋ณ€์ˆ˜๋Š” ์Œ์ˆ˜ ๊ธธ์ด๋กœ ์„ ์–ธ๋ฉ๋‹ˆ๋‹ค.

-Wํƒญ
๊ธฐ๋ณธ์ ์œผ๋กœ ํƒญ์€ ๊ณต๋ฐฑ์œผ๋กœ ํ—ˆ์šฉ๋˜์ง€๋งŒ ํƒญ์€ Fortran์˜ ๊ตฌ์„ฑ์›์ด ์•„๋‹™๋‹ˆ๋‹ค.
๋ฌธ์ž ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ์—ฐ์† ๋ผ์ธ์˜ ๊ฒฝ์šฐ 1๊ณผ 9 ์‚ฌ์ด์˜ ์ˆซ์ž๊ฐ€ ๋’ค์— ์˜ค๋Š” ํƒญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ง€์›. -Wํƒญ ํƒญ์ด ๋ฐœ์ƒํ•˜๋ฉด ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ,
-Wํƒญ ์— ๋Œ€ํ•ด ํ™œ์„ฑ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. -ํŽ˜๋‹จ ํ‹ฑ, -ํ‘œ์ค€=f95, -ํ‘œ์ค€=f2003, -ํ‘œ์ค€=f2008, -std=f2008ts ๊ณผ
-๋ฒฝ.

-๋ถ„๋”ํ”Œ๋กœ์šฐ
์ˆซ์ž ์ƒ์ˆ˜ ํ‘œํ˜„์‹์ด ๋ฐœ๊ฒฌ๋˜๋ฉด ๊ฒฝ๊ณ ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
์ปดํŒŒ์ผ ์ค‘ UNDERFLOW. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

-์œˆํŠธ๋ฆฐ์ง ์„€๋„์šฐ
์‚ฌ์šฉ์ž ์ •์˜ ํ”„๋กœ์‹œ์ € ๋˜๋Š” ๋ชจ๋“ˆ ํ”„๋กœ์‹œ์ €์˜ ์ด๋ฆ„์ด ๋™์ผํ•œ ๊ฒฝ์šฐ ๊ฒฝ๊ณ 
๋ณธ์งˆ์ ์ธ; ์ด ๊ฒฝ์šฐ ๋ช…์‹œ์  ์ธํ„ฐํŽ˜์ด์Šค ๋˜๋Š” "EXTERNAL" ๋˜๋Š” "INTRINSIC"
๋‚˜์ค‘์— ์›ํ•˜๋Š” ํ˜ธ์ถœ๋กœ ํ™•์ธํ•˜๋ ค๋ฉด ์„ ์–ธ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚ด์žฌ์ /์ ˆ์ฐจ์ . ์ด ์˜ต์…˜์€ -๋ฒฝ.

-Wuse ์—†์ด๋งŒ
"USE" ๋ฌธ์— "ONLY" ํ•œ์ •์ž๊ฐ€ ์—†์–ด ์•”์‹œ์ ์œผ๋กœ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ๋œ ๋ชจ๋“ˆ์˜ ๊ณต๊ฐœ ์—”ํ„ฐํ‹ฐ.

-์‚ฌ์šฉ๋˜์ง€ ์•Š์€-๋”๋ฏธ-์ธ์ˆ˜
์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋”๋ฏธ ์ธ์ˆ˜์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ -๋ฒฝ.

-Wunused-๋งค๊ฐœ๋ณ€์ˆ˜
๋ฐ˜๋Œ€ GCC์˜ ์˜๋ฏธ -Wunused-๋งค๊ฐœ๋ณ€์ˆ˜, ์ง€ํฌํŠธ๋ž€์˜ ๊ตฌํ˜„
์˜ต์…˜์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋”๋ฏธ ์ธ์ˆ˜์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์ฐธ์กฐ -์‚ฌ์šฉ๋˜์ง€ ์•Š์€-๋”๋ฏธ-์ธ์ˆ˜), ๊ทธ๋Ÿฌ๋‚˜
์‚ฌ์šฉํ•˜์ง€ ์•Š์€ "PARAMETER" ๊ฐ’์— ๋Œ€ํ•ด -Wunused-๋งค๊ฐœ๋ณ€์ˆ˜ ์— ์˜ํ•ด ์•”์‹œ๋œ๋‹ค -์›ฉ์ŠคํŠธ๋ผ ๋งŒ์•ฝ ๋˜ํ•œ
- ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ or -๋ฒฝ ์‚ฌ์šฉ.

-Walign-์ปค๋จผ์ฆˆ
๊ธฐ๋ณธ์ ์œผ๋กœ, ์ง€ํฌํŠธ๋ž€ ์ ์ ˆํ•œ ๋ณ€์ˆ˜๊ฐ€ ์ฑ„์›Œ์ง€๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
"COMMON" ๋ธ”๋ก ๋‚ด ์ •๋ ฌ. ์ด ๊ฒฝ๊ณ ๋Š” ๋‹ค์Œ์„ ํ†ตํ•ด ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
-Wno-์ •๋ ฌ-๊ณตํ†ต. ๋˜ํ•œ๋ณด์‹ญ์‹œ์˜ค -falign-commons.

-Wfunction ์ œ๊ฑฐ
ํ•จ์ˆ˜์— ๋Œ€ํ•œ ํ˜ธ์ถœ์ด
-ffrontend ์ตœ์ ํ™” ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

-Wrealloc-lhs
์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ• ๋‹น ๋˜๋Š” ์žฌํ• ๋‹น์„ ์œ„ํ•ด ์— ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฒฝ๊ณ 
๊ณ ์œ  ํ• ๋‹น์—์„œ ๊ณ ์œ  ์œ ํ˜•์˜ ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ๋ฐฐ์—ด ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•ซ ๋ฃจํ”„์—์„œ,
Fortran 2003 ์žฌํ• ๋‹น ๊ธฐ๋Šฅ์œผ๋กœ ์ธํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด์ด
์ด๋ฏธ ์˜ฌ๋ฐ”๋ฅธ ๋ชจ์–‘์œผ๋กœ ํ• ๋‹น๋œ ๊ฒฝ์šฐ ์ „์ฒด ๋ฐฐ์—ด ๋ฐฐ์—ด ์‚ฌ์–‘ ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.
(์˜ˆ: "(:,:,:)") ์žฌํ• ๋‹น์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์™ผ์ชฝ์— ์žˆ๋Š” ๋ณ€์ˆ˜
ํ™•์ธํ•˜๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์‹คํ–‰ํ•˜๋”๋ผ๋„ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์žฌํ• ๋‹น ๊ฒ€์‚ฌ๋ฅผ ์ตœ์ ํ™”ํ•˜์‹ญ์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์˜ค๋ฅธ์ชฝ์— ๋‹ค์Œ์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ
๋™์ผํ•œ ๋ณ€์ˆ˜์— ์Šค์นผ๋ผ๋ฅผ ๊ณฑํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ๋ณด์‹ญ์‹œ์˜ค -frealloc-lhs.

-Wrealloc-lhs-๋ชจ๋‘
์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ• ๋‹น ๋˜๋Š” ์žฌํ• ๋‹น์„ ์œ„ํ•ด ์— ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜; ์—ฌ๊ธฐ์—๋Š” ์Šค์นผ๋ผ ๋ฐ ํŒŒ์ƒ ์œ ํ˜•์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

- ์‹ค์ œ ๋น„๊ต
๊ฐ™์Œ ๋˜๋Š” ๋ถ€๋“ฑ์‹์— ๋Œ€ํ•ด ์‹ค์ˆ˜ ๋˜๋Š” ๋ณต์†Œ์ˆ˜ ์œ ํ˜•์„ ๋น„๊ตํ•  ๋•Œ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€
์— ์˜ํ•ด ์•”์‹œ -์›ฉ์ŠคํŠธ๋ผ.

-Wtarget-ํ‰์ƒ
ํฌ์ธํ„ฐ ํ• ๋‹น์˜ ํฌ์ธํ„ฐ๊ฐ€ ๋Œ€์ƒ๋ณด๋‹ค ๊ธธ๋ฉด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ
์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์•”์‹œ๋ฉ๋‹ˆ๋‹ค. -๋ฒฝ.

-์œ„์ œ๋กœํŠธ๋ฆฝ
"DO" ๋ฃจํ”„๊ฐ€ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์— XNUMX๋ฒˆ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ง„ ๊ฒฝ์šฐ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€
์— ์˜ํ•ด ์•”์‹œ -๋ฒฝ.

-์›Œ๋Ÿฌ
๋ชจ๋“  ๊ฒฝ๊ณ ๋ฅผ ์˜ค๋ฅ˜๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

์ด๋“ค ์ค‘ ์ผ๋ถ€๋Š” Fortran์œผ๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผํ•  ๋•Œ ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์˜ต์…˜ ์•„์‹œ์•„์ธ ๋Œ€์ƒ ๋””๋ฒ„๊น… your ํ”„๋กœ๊ทธ๋žจ or GNU ํฌํŠธ๋ž€
GNU Fortran์—๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋””๋ฒ„๊น…์— ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์–‘ํ•œ ํŠน์ˆ˜ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
GNU ํฌํŠธ๋ž€ ์ปดํŒŒ์ผ๋Ÿฌ.

-fdump-ํฌํŠธ๋ž€-์›๋ณธ
์†Œ์Šค ํ”„๋กœ๊ทธ๋žจ์„ ๋‚ด๋ถ€๋กœ ๋ณ€ํ™˜ํ•œ ํ›„ ๋‚ด๋ถ€ ํŒŒ์Šค ํŠธ๋ฆฌ ์ถœ๋ ฅ
๋Œ€ํ‘œ. GNU Fortran ์ปดํŒŒ์ผ๋Ÿฌ ์ž์ฒด๋ฅผ ๋””๋ฒ„๊น…ํ•  ๋•Œ๋งŒ ์ •๋ง ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

-fdump-fortran ์ตœ์ ํ™”
ํ”„๋ŸฐํŠธ ์—”๋“œ ์ตœ์ ํ™” ํ›„ ๊ตฌ๋ฌธ ๋ถ„์„ ํŠธ๋ฆฌ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฒ„๊น…์—๋งŒ ์ •๋ง ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
GNU ํฌํŠธ๋ž€ ์ปดํŒŒ์ผ๋Ÿฌ ์ž์ฒด.

-fdump-๊ตฌ๋ฌธ ๋ถ„์„ ํŠธ๋ฆฌ
์†Œ์Šค ํ”„๋กœ๊ทธ๋žจ์„ ๋‚ด๋ถ€๋กœ ๋ณ€ํ™˜ํ•œ ํ›„ ๋‚ด๋ถ€ ํŒŒ์Šค ํŠธ๋ฆฌ ์ถœ๋ ฅ
๋Œ€ํ‘œ. GNU Fortran ์ปดํŒŒ์ผ๋Ÿฌ ์ž์ฒด๋ฅผ ๋””๋ฒ„๊น…ํ•  ๋•Œ๋งŒ ์ •๋ง ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  "-fdump-fortran-original"์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

-ffpe-ํŠธ๋žฉ=๋ช…๋ถ€
ํ™œ์„ฑํ™”ํ•  ๋ถ€๋™ ์†Œ์ˆ˜์  ์˜ˆ์™ธ ํŠธ๋žฉ ๋ชฉ๋ก์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‹œ์Šคํ…œ์—์„œ
๋ถ€๋™ ์†Œ์ˆ˜์  ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ํ•ด๋‹น ์˜ˆ์™ธ์— ๋Œ€ํ•œ ํŠธ๋žฉ์ด ํ™œ์„ฑํ™”๋˜๋ฉด SIGFPE
์‹ ํ˜ธ๊ฐ€ ์ „์†ก๋˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์ค‘๋‹จ๋˜์–ด ๋‹ค์Œ ์ž‘์—…์— ์œ ์šฉํ•œ ์ฝ”์–ด ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
๋””๋ฒ„๊น…. ๋ช…๋ถ€ ๋‹ค์Œ ํ•ญ๋ชฉ์˜ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ(๋น„์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ) ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
์˜ˆ์™ธ: ๋ฌดํšจ์˜ ("SQRT(-1.0)"์™€ ๊ฐ™์€ ์ž˜๋ชป๋œ ๋ถ€๋™ ์†Œ์ˆ˜์  ์—ฐ์‚ฐ), ์ œ๋กœ
(XNUMX์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ), ๊ณผ๋‹ค (๋ถ€๋™ ์†Œ์ˆ˜์  ์—ฐ์‚ฐ์˜ ์˜ค๋ฒ„ํ”Œ๋กœ), ์–ธ๋” ํ”Œ๋กœ
(๋ถ€๋™ ์†Œ์ˆ˜์  ์—ฐ์‚ฐ์—์„œ ์–ธ๋”ํ”Œ๋กœ), ์ •ํ™•ํ•˜์ง€ ์•Š์€ (์ •๋ฐ€๋„ ์†์‹ค
์ž‘์—…) ๋ฐ ๋น„์ •์ƒ (๋น„์ •๊ทœ ๊ฐ’์— ๋Œ€ํ•ด ์ˆ˜ํ–‰๋œ ์ž‘์—…). ์ฒ˜์Œ ๋‹ค์„ฏ
์˜ˆ์™ธ๋Š” 754๊ฐ€์ง€ IEEE XNUMX ์˜ˆ์™ธ์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ˜๋ฉด ๋งˆ์ง€๋ง‰ ์˜ˆ์™ธ(๋น„์ •์ƒ)
IEEE 754 ํ‘œ์ค€์˜ ์ผ๋ถ€๋Š” ์•„๋‹ˆ์ง€๋งŒ ์ผ๋ถ€ ๊ณตํ†ต ์•„ํ‚คํ…์ฒ˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
x86๊ณผ ๊ฐ™์€.

์ฒ˜์Œ ์„ธ ๊ฐ€์ง€ ์˜ˆ์™ธ(๋ฌดํšจ์˜, ์ œ๋กœ๋ฐ ๊ณผ๋‹ค) ์ข…์ข… ์‹ฌ๊ฐํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
์˜ค๋ฅ˜ ๋ฐ ํ”„๋กœ๊ทธ๋žจ์— ์ด๋Ÿฌํ•œ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์กฐํ•ญ์ด ์—†๋Š” ํ•œ,
์ด ์„ธ ๊ฐ€์ง€ ์˜ˆ์™ธ์— ๋Œ€ํ•ด ํŠธ๋žฉ์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์€ ์•„๋‹ˆ์ง€๋งŒ ๋งŽ์€ ๋ถ€๋™ ์†Œ์ˆ˜์  ์—ฐ์‚ฐ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ์œผ๋กœ ์ธํ•ด ์ •๋ฐ€๋„ ์†์‹ค์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ "ffpe-trap=inexact"๋Š” ์‹ค์ œ๋กœ๋Š” ํฅ๋ฏธ๋กญ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ˆ์™ธ ํŠธ๋žฉ์€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-ffpe-์š”์•ฝ=๋ช…๋ถ€
ํ”Œ๋ž˜๊ทธ ์ƒํƒœ๊ฐ€ ๋‹ค์Œ์œผ๋กœ ์ธ์‡„๋˜๋Š” ๋ถ€๋™ ์†Œ์ˆ˜์  ์˜ˆ์™ธ ๋ชฉ๋ก์„ ์ง€์ •ํ•˜์‹ญ์‹œ์˜ค.
"STOP" ๋ฐ "ERROR STOP"์„ ํ˜ธ์ถœํ•  ๋•Œ "ERROR_UNIT". ๋ช…๋ถ€ ๋‘˜ ์ค‘ ํ•˜๋‚˜ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์—†์Œ, ๋ชจ๋“  ๋˜๋Š”
์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋‹ค์Œ ์˜ˆ์™ธ ๋ชฉ๋ก: ๋ฌดํšจ์˜, ์ œ๋กœ, ๊ณผ๋‹ค, ์–ธ๋” ํ”Œ๋กœ,
์ •ํ™•ํ•˜์ง€ ์•Š์€ ๊ณผ ๋น„์ •์ƒ. (๋งŒ๋‚˜๋‹ค -ffpe ํŠธ๋žฉ ์˜ˆ์™ธ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.)

๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ์˜ˆ์™ธ์— ๋Œ€ํ•œ ์š”์•ฝ์€ ์ •ํ™•ํ•˜์ง€ ์•Š์€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

-fno-์—ญ์ถ”์ 
์‹ฌ๊ฐํ•œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์น˜๋ช…์ ์ธ ์‹ ํ˜ธ๊ฐ€ ๋ฐฉ์ถœ๋˜๋Š” ๊ฒฝ์šฐ
(์„ธ๊ทธ๋จผํŠธ ์˜ค๋ฅ˜, ์ž˜๋ชป๋œ ๋ช…๋ น, ๋ฒ„์Šค ์˜ค๋ฅ˜, ๋ถ€๋™ ์†Œ์ˆ˜์  ์˜ˆ์™ธ ๋ฐ
์•ก์…˜์ด ์žˆ๋Š” ๋‹ค๋ฅธ POSIX ์‹ ํ˜ธ core), Fortran ๋Ÿฐํƒ€์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š”
์˜ค๋ฅ˜์˜ ์—ญ์ถ”์ ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. "-fno-backtrace"๋Š” ์—ญ์ถ”์  ์ƒ์„ฑ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ Fortran ๋ฉ”์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ์ปดํŒŒ์ผ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

์˜ต์…˜ ์•„์‹œ์•„์ธ ๋Œ€์ƒ ์˜ˆ๋ฐฐ ๊ทœ์น™์„œ ์ˆ˜์ƒ‰
์ด ์˜ต์…˜์€ GNU Fortran์ด "INCLUDE"๋กœ ์ง€์ •๋œ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
์ง€์‹œ๋ฌธ ๋ฐ ์ด์ „์— ์ปดํŒŒ์ผ๋œ ๋ชจ๋“ˆ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ์œ„์น˜.

๋˜ํ•œ ๋‹ค์Œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ์—๋„ ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค. CPP Fortran ์†Œ์Šค๋ฅผ ์‚ฌ์ „ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

-IDIR
์ด๋Š” "INCLUDE" ์ง€์‹œ๋ฌธ(๋ฐ "#include"
์˜ ์ง€์‹œ CPP ์ „์ฒ˜๋ฆฌ๊ธฐ).

๋˜ํ•œ ์˜ ์ผ๋ฐ˜์ ์ธ ๋™์ž‘์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. -I "INCLUDE"๋Š” ๋‹ค์Œ๊ณผ ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
-I "#include"์™€ ํ•จ๊ป˜ CPP ์ „์ฒ˜๋ฆฌ๊ธฐ, ์ฐพ๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จํ•˜์—ฌ ํ—ค๋”.gcc
ํŒŒ์ผ ๋ฐ ๊ธฐํƒ€ ๊ทธ๋Ÿฌํ•œ ๊ฒƒ๋“ค.

์ด ๊ฒฝ๋กœ๋Š” ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. .mod ์ด์ „์— ์ปดํŒŒ์ผ๋œ ๋ชจ๋“ˆ์ด
"USE" ๋ฌธ์—์„œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

-JDIR
์ด ์˜ต์…˜์€ ๋„ฃ์„ ์œ„์น˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค .mod ์ปดํŒŒ์ผ๋œ ๋ชจ๋“ˆ์— ๋Œ€ํ•œ ํŒŒ์ผ. ๋˜ํ•œ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค
"USE" ๋ฌธ์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ๋””๋ ‰ํ† ๋ฆฌ ๋ชฉ๋ก์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ๊ฐ’์€ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.

-fintrinsic-๋ชจ๋“ˆ-๊ฒฝ๋กœ DIR
์ด ์˜ต์…˜์€ ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ๋‚ด์žฅ ๋ชจ๋“ˆ์˜ ์œ„์น˜๋ฅผ โ€‹โ€‹์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์˜ˆ์ƒํ•˜๋Š” ๊ธฐ๋ณธ ์œ„์น˜์— ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ํ–ฅ๋ ฅ ์ „์—, ์—ฐ๊ฒฐ ๋‹จ๊ณ„
์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ฐœ์ฒด ํŒŒ์ผ์„ ์‹คํ–‰ ํŒŒ์ผ์— ์—ฐ๊ฒฐํ•  ๋•Œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
๊ฒฐ๊ณผ๋ฌผ ํŒŒ์ผ. ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋งํฌ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์œผ๋ฉด ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

-์ •์ -libgfortran
์ œ๊ณตํ•˜๋Š” ์‹œ์Šคํ…œ์—์„œ libgfortran ๊ณต์œ  ๋ฐ ์ •์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ์„œ ์ด ์˜ต์…˜์€
์ •์  ๋ฒ„์ „์„ ๊ฐ•์ œ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ๋ฒ„์ „์ด ์—†๋Š” ๊ฒฝ์šฐ libgfortran ์ง€์–ด์กŒ๋‹ค
์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ ์ด ์˜ต์…˜์€ ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์˜ํ–ฅ๋ ฅ ๋Ÿฐํƒ€์ž„ ํ–‰๋™
์ด ์˜ต์…˜์€ GNU Fortran์œผ๋กœ ์ปดํŒŒ์ผ๋œ ํ”„๋กœ๊ทธ๋žจ์˜ ๋Ÿฐํƒ€์ž„ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.

-f๋ณ€ํ™˜=๋ณ€ํ™˜
ํ˜•์‹์ด ์ง€์ •๋˜์ง€ ์•Š์€ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ํ‘œํ˜„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์œ ํšจํ•œ ๋ณ€ํ™˜ ๊ฐ’
์œ„์น˜ : ์ถœ์‹ , ๊ธฐ๋ณธ๊ฐ’; ๊ตํ™˜, ๋น… ์—”๋””์•ˆ๊ณผ ๋ฆฌํ‹€ ์—”๋””์•ˆ ์‚ฌ์ด๋ฅผ ๊ตํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋น… ์—”๋””์•ˆ์‚ฌ์šฉ
ํฌ๋งท๋˜์ง€ ์•Š์€ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋น…์—”๋””์•ˆ ํ‘œํ˜„; ๋ฆฌํ‹€ ์—”๋””์•ˆ, ๋ฆฌํ‹€ ์—”๋””์•ˆ ์‚ฌ์šฉ
ํฌ๋งท๋˜์ง€ ์•Š์€ ํŒŒ์ผ์— ๋Œ€ํ•œ ํ‘œํ˜„.

์ด ์„ ํƒ๊ถŒ ์ด an ํšจ๊ณผ ๋งŒ ์–ธ์ œ ์ต์ˆ™ํ•œ in ์ „์—, ๋ณธ๊ด€ ํ”„๋กœ๊ทธ๋žจ) ์ตœ๋Œ€ XNUMXW ์ถœ๋ ฅ์„ ์ œ๊ณตํ•˜๋Š” "๋ณ€ํ•˜๊ฒŒ ํ•˜๋‹ค" ์ง€์ •์ž
๊ณผ ์ „์—, GFORTRAN_CONVERT_UNIT ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ณด์ˆ˜ ์ „์—, ๋””ํดํŠธ ๊ฐ’ ์ง€์ • by
-f๋ณ€ํ™˜.

-frecord-๋งˆ์ปค=๊ธธ์ด
ํฌ๋งท๋˜์ง€ ์•Š์€ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ ˆ์ฝ”๋“œ ๋งˆ์ปค์˜ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์œ ํšจํ•œ ๊ฐ’ ๊ธธ์ด
4์™€ 8์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 4์ž…๋‹ˆ๋‹ค. ์ด is ๋‹ค๋ฅธ ์— ๋„ˆ๋ฌด ์ด๋ฅธ ๋ฒ„์ „ of ์ง€ํฌํŠธ๋ž€,
๋Œ€๋ถ€๋ถ„์˜ ์‹œ์Šคํ…œ์—์„œ ๊ธฐ๋ณธ ๋ ˆ์ฝ”๋“œ ๋งˆ์ปค ๊ธธ์ด๋ฅผ 8๋กœ ์ง€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ์šฐ
์˜ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋Š” ํŒŒ์ผ ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ์ง€ํฌํŠธ๋ž€์‚ฌ์šฉ
-frecord-marker=8.

-fmax-ํ•˜์œ„ ๋ ˆ์ฝ”๋“œ ๊ธธ์ด=๊ธธ์ด
ํ•˜์œ„ ๋ ˆ์ฝ”๋“œ์˜ ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธธ์ด์— ๋Œ€ํ•ด ํ—ˆ์šฉ๋˜๋Š” ์ตœ๋Œ€ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’์ด๊ธฐ๋„ ํ•œ 2147483639์ž…๋‹ˆ๋‹ค. gfortran์—์„œ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ์ •๋ง ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ.

-fsign-XNUMX
ํ™œ์„ฑํ™”๋˜๋ฉด ๋ถ€ํ˜ธ ๋น„ํŠธ๊ฐ€ ์„ค์ •๋œ ๊ฐ’์ด XNUMX์ธ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž๊ฐ€ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.
ํ˜•์‹ํ™”๋œ ์ถœ๋ ฅ์—์„œ โ€‹โ€‹์Œ์ˆ˜๋กœ "SIGN"์—์„œ ์Œ์ˆ˜๋กœ ์ฒ˜๋ฆฌ๋จ
๋ณธ์งˆ์ ์ธ. -fno-sign-XNUMX XNUMX ๊ฐ’(๋˜๋Š” ๊ฐ’์˜ ์Œ์ˆ˜ ๋ถ€ํ˜ธ๋ฅผ ์ธ์‡„ํ•˜์ง€ ์•Š์Œ
I/O์˜ ๊ฒฝ์šฐ XNUMX์œผ๋กœ ๋ฐ˜์˜ฌ๋ฆผ๋จ) ๋ฐ "SIGN" ๋‚ด์žฅ์—์„œ XNUMX์„ ์–‘์ˆ˜๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค.
Fortran 77๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด. ๊ธฐ๋ณธ๊ฐ’์€ -fsign-XNUMX.

์˜ต์…˜ ์•„์‹œ์•„์ธ ๋Œ€์ƒ ์•”ํ˜ธ ์„ธ๋Œ€ ๊ทœ์น™
์ด๋Ÿฌํ•œ ๊ธฐ๊ณ„ ๋…๋ฆฝ์ ์ธ ์˜ต์…˜์€ ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๊ทœ์น™์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
์„ธ๋Œ€.

๊ทธ๋“ค ๋Œ€๋ถ€๋ถ„์€ ๊ธ์ •์ ์ธ ํ˜•ํƒœ์™€ ๋ถ€์ •์ ์ธ ํ˜•ํƒœ๋ฅผ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ ๋ถ€์ •์ ์ธ ํ˜•ํƒœ - ํ‘ธํ‘ธ ๊ฒƒ
-fno-foo. ์•„๋ž˜ ํ‘œ์—๋Š” ์–‘์‹ ์ค‘ ํ•˜๋‚˜๋งŒ ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ. ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋‹ค๋ฅธ ํ˜•์‹์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ - ๋˜๋Š” ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

-fno-์ž๋™
๊ฐ ํ”„๋กœ๊ทธ๋žจ ๋‹จ์œ„(RECURSIVE๋กœ ํ‘œ์‹œ๋œ ๋‹จ์œ„ ์ œ์™ธ)๋ฅผ "SAVE" ๋ฌธ์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.
๋ชจ๋“  ์ง€์—ญ ๋ณ€์ˆ˜์™€ ๊ทธ ์•ˆ์— ์ฐธ์กฐ๋œ ๋ฐฐ์—ด์— ๋Œ€ํ•ด ์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค
์ผ๋ฐ˜์ ์ธ ๋ธ”๋ก. (์ผ๋ถ€ ํฌํŠธ๋ž€ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ด๋ฆ„ ์•„๋ž˜์— ์ด ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. -๊ณต์ „ or
-์ €์žฅ.) ๊ธฐ๋ณธ๊ฐ’์€ -f์ž๋™, ๋” ์ž‘์€ ์ง€์—ญ ๋ณ€์ˆ˜์— ์Šคํƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์— ์˜ํ•ด ์ฃผ์–ด์ง„ ๊ฐ’๋ณด๋‹ค -fmax-์Šคํƒ-var-ํฌ๊ธฐ. ์˜ต์…˜์„ ์‚ฌ์šฉ - ์žฌ๊ท€ ์‚ฌ์šฉํ•˜์ง€
์ •์  ๋ฉ”๋ชจ๋ฆฌ.

-ff2c
์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ฝ”๋“œ์™€ ํ˜ธํ™˜๋˜๋„๋ก ์„ค๊ณ„๋œ ์ฝ”๋“œ ์ƒ์„ฑ g77 ๊ณผ f2c.

์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ˜ธ์ถœ ๊ทœ์น™ g77 (์›๋ž˜ ๊ตฌํ˜„๋œ f2c) ๊ธฐ๋Šฅ ํ•„์š”
๊ทธ ๋ฐ˜ํ™˜ ์œ ํ˜• ๊ธฐ๋ณธ "REAL"์€ ์‹ค์ œ๋กœ C ์œ ํ˜• "๋”๋ธ”"์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ํ•จ์ˆ˜๋Š”
ํ˜ธ์ถœ์—์„œ ์ถ”๊ฐ€ ์ธ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ˜ํ™˜ ์œ ํ˜• "COMPLEX"
๋ฐ˜ํ™˜ ๊ฐ’์„ ์ €์žฅํ•  ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‹œํ€€์Šค์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ GNU์—์„œ
ํ˜ธ์ถœ ๊ทœ์น™, ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๋Š” ๋‹จ์ˆœํžˆ GNU์—์„œ์™€ ๊ฐ™์ด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
C---๊ธฐ๋ณธ "REAL" ํ•จ์ˆ˜๋Š” C ์œ ํ˜• "float"๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  "COMPLEX" ํ•จ์ˆ˜๋Š” ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
GNU C ์œ ํ˜• "๋ณต์žกํ•œ". ๋˜ํ•œ ์ด ์˜ต์…˜์€ ๋‹ค์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. -fsecond-๋ฐ‘์ค„
์˜ต์…˜์ด ์•„๋‹Œ ๊ฒฝ์šฐ -fno-second-๋ฐ‘์ค„ ๋ช…์‹œ์ ์œผ๋กœ ์š”์ฒญ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ์ธํ„ฐํŽ˜์ด์Šคํ•˜๋Š” ์ฝ”๋“œ ์ƒ์„ฑ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. libgfortran
๋„์„œ๊ด€.

์ฃผ์˜: ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ปดํŒŒ์ผ๋œ Fortran ์ฝ”๋“œ๋ฅผ ํ˜ผํ•ฉํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์ƒ๊ฐ์ด ์•„๋‹™๋‹ˆ๋‹ค. -ff2c ์ฝ”๋“œ๋กœ
๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ปดํŒŒ์ผ -fno-f2c ํ˜ธ์ถœ ๊ทœ์น™, "COMPLEX" ํ˜ธ์ถœ ๋˜๋Š”
๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ปดํŒŒ์ผ๋œ ํ”„๋กœ๊ทธ๋žจ ๋ถ€๋ถ„ ๊ฐ„์˜ ๊ธฐ๋ณธ "REAL" ๊ธฐ๋Šฅ
ํ˜ธ์ถœ ๊ทœ์น™์€ ์‹คํ–‰ ์‹œ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

์ฃผ์˜: ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ธฐ๋ณธ "REAL" ์œ ํ˜•์˜ ๋‚ด์žฅ ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌํ˜„์ด ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์‹ค์ œ ์ธ์ˆ˜๋กœ "COMPLEX" ๋˜๋Š” "COMPLEX" -fno-f2c
ํ˜ธ์ถœ ๊ทœ์น™.

-fno-๋ฐ‘์ค„
๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•˜์—ฌ Fortran ์†Œ์Šค ํŒŒ์ผ์— ์ง€์ •๋œ ์—”ํ‹ฐํ‹ฐ์˜ ์ด๋ฆ„์„ ๋ณ€ํ™˜ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
๊ทธ๋“ค์—๊ฒŒ ๋ฐ‘์ค„์„ ๊ธ‹์Šต๋‹ˆ๋‹ค.

์™€ -ํŽ€๋”ฉ ์‚ฌ์‹ค์ƒ GNU Fortran์€ ์™ธ๋ถ€ ์ด๋ฆ„์— ํ•˜๋‚˜์˜ ๋ฐ‘์ค„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ‘์ค„ ์—†์ด. ์ด๊ฒƒ์€ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ƒ์„ฑํ•œ ์ฝ”๋“œ์™€์˜ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
UNIX ํฌํŠธ๋ž€ ์ปดํŒŒ์ผ๋Ÿฌ.

์ฃผ์˜: GNU Fortran์˜ ๊ธฐ๋ณธ ๋™์ž‘์€ ๋‹ค์Œ๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. f2c ๊ณผ g77, ์ œ๋ฐœ
์‚ฌ์šฉ -ff2c GNU Fortran์œผ๋กœ ์ปดํŒŒ์ผ๋œ ๊ฐœ์ฒด ํŒŒ์ผ์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ต์…˜
์ด๋Ÿฌํ•œ ๋„๊ตฌ๋กœ ๋งŒ๋“  ๊ฐœ์ฒด ์ฝ”๋“œ์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ -fno-๋ฐ‘์ค„ ๋ฌธ์ œ๋ฅผ ์‹คํ—˜ํ•˜์ง€ ์•Š๋Š” ํ•œ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
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-๋ฐ‘์ค„, ๋™์ผํ•œ ๋ช…๋ น๋ฌธ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.

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

์‚ฌ์šฉ -fno-๋ฐ‘์ค„ ์‚ฌ์šฉ์ž ์ •์˜ ์ด๋ฆ„์„ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด
๋””๋ฒ„๊น… ๋ฐ GNU Fortran ์ฝ”๋“œ๋ฅผ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ์ธํ„ฐํŽ˜์ด์Šคํ•  ๋•Œ.

์ด๋ฆ„์ด ์ผ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€์› ์— ์˜ํ•ด ๊ตฌํ˜„๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์™ธ๋ถ€ ์ด๋ฆ„์— ๋Œ€ํ•œ GNU Fortran์€ ๋‹ค๋ฅธ ์ผ๋ถ€์—์„œ ๊ตฌํ˜„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
๊ฐ™์€ ์ด๋ฆ„์˜ ์–ธ์–ด. ์ฆ‰, GNU Fortran์—์„œ ์ƒ์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๋‹ค์Œ ๋งํฌ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ๋ฐฉ๋ฒ•์ด๋‚˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์ƒ์„ฑํ•œ ์ฝ”๋“œ๋Š”
์ „์ฒด ์†”๋ฃจ์…˜์˜ ์ž‘์€ ๋ถ€๋ถ„ ---๋‘ ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋ฅผ
์ด๋ฆ„ ์ง€์ • ์ด์™ธ์˜ ๋ฌธ์ œ์— ๋™์˜ํ•˜๋ฉด ์ƒ๋‹นํ•œ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋ฆ„ ์ง€์ •๊ณผ ๋‹ฌ๋ฆฌ
๋ถˆ์ผ์น˜, ๋ง์ปค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ๋‹ค๋ฅธ ์˜์—ญ์—์„œ ๋ถˆ์ผ์น˜๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, -fno-๋ฐ‘์ค„, ์ถ”๊ฐ€๋œ ๋ฐ‘์ค„์ด ์—†์œผ๋ฉด
์‚ฌ์šฉ์ž ์ •์˜ ์™ธ๋ถ€ ์ด๋ฆ„์ด ์ด๋ฆ„๊ณผ ์ถฉ๋Œํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋†’์Œ
์‹œ์Šคํ…œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ์ฐธ์กฐ ๋ฒ„๊ทธ๋ฅผ ์ƒ๋‹นํžˆ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค---ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ๊ฐ„์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
๋Ÿฐํƒ€์ž„์— ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋Š” ๋™์ž‘.

GNU Fortran์˜ ํ–ฅํ›„ ๋ฒ„์ „์—์„œ๋Š” ์ด๋ฆ„ ์ง€์ • ๋ฐ ์—ฐ๊ฒฐ ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•˜์—ฌ
๋””๋ฒ„๊น…์—๋Š” ํ•ญ์ƒ ์†Œ์Šค์— ๋‚˜ํƒ€๋‚˜๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์€ ์‹ค์ˆ˜๋กœ
ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ๋Š” ์ ˆ์ฐจ

-fsecond-๋ฐ‘์ค„
๊ธฐ๋ณธ์ ์œผ๋กœ GNU Fortran์€ ์™ธ๋ถ€ ์ด๋ฆ„์— ๋ฐ‘์ค„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์ด
์‚ฌ์šฉ๋œ GNU Fortran์€ ๋ฐ‘์ค„๊ณผ ํ•˜๋‚˜์˜ ๋ฐ‘์ค„์ด ์žˆ๋Š” ์ด๋ฆ„์— ๋‘ ๊ฐœ์˜ ๋ฐ‘์ค„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ‘์ค„ ์—†์ด ์™ธ๋ถ€ ์ด๋ฆ„์œผ๋กœ. GNU Fortran์€ ๋˜ํ•œ ๋‘ ๊ฐœ์˜ ๋ฐ‘์ค„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
์™ธ๋ถ€ ์ด๋ฆ„๊ณผ์˜ ์ด๋ฆ„ ์ถฉ๋Œ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ‘์ค„์ด ์žˆ๋Š” ๋‚ด๋ถ€ ์ด๋ฆ„.

์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. -fno-๋ฐ‘์ค„ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. ์— ์˜ํ•ด ์•”์‹œ๋ฉ๋‹ˆ๋‹ค.
-ff2c ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด "MAX_COUNT"์™€ ๊ฐ™์€ ์™ธ๋ถ€ ์ด๋ฆ„์ด
"max_count_" ๋Œ€์‹  ๋งํฌ ์‹œ๊ฐ„ ์™ธ๋ถ€ ๊ธฐํ˜ธ "max_count__"์— ๋Œ€ํ•œ ์ฐธ์กฐ์ž…๋‹ˆ๋‹ค.
๋‹ค์Œ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. g77 ๊ณผ f2c, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์•”์‹œ๋ฉ๋‹ˆ๋‹ค.
-ff2c ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

-fco๋ฐฐ์—ด=
์—†์Œ
coarray ์ง€์›์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. coarray ์„ ์–ธ ๋ฐ ์ด๋ฏธ์ง€ ์ œ์–ด ๋ฌธ ์‚ฌ์šฉ
์ปดํŒŒ์ผ ํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. (๊ธฐ๋ณธ)

๋‹จ์ผ
๋‹จ์ผ ์ด๋ฏธ์ง€ ๋ชจ๋“œ, ์ฆ‰ "num_images()"๋Š” ํ•ญ์ƒ XNUMX์ž…๋‹ˆ๋‹ค.

lib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋ฐ˜ coarray ๋ณ‘๋ ฌํ™”; ์ ํ•ฉํ•œ GNU ํฌํŠธ๋ž€ coarray ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

-์—ํ”„์ฒดํฌ=
๋Ÿฐํƒ€์ž„ ๊ฒ€์‚ฌ ์ƒ์„ฑ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ˆ˜๋Š” ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ชฉ๋ก์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์Œ ํ‚ค์›Œ๋“œ ์ค‘.

๋ชจ๋“  ๋ชจ๋“  ๋Ÿฐํƒ€์ž„ ํ…Œ์ŠคํŠธ ํ™œ์„ฑํ™” -f์ฒดํฌ.

์–ด๋ ˆ์ด ์ž„์‹œ ์ง์›
์‹ค์ œ ์ธ์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์ž„์‹œ ๋ฐฐ์—ด์ด ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋Ÿฐํƒ€์ž„์— ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
์ƒ์„ฑ. ์ด ๊ฒฝ๊ณ ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ •๋ณด๋Š” ๋•Œ๋•Œ๋กœ ๋‹ค์Œ์—์„œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์ผ์‹œ์ ์ธ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ : ๊ฒฝ๊ณ ๋Š” ์œ„์น˜๋‹น ํ•œ ๋ฒˆ๋งŒ ์ธ์‡„๋ฉ๋‹ˆ๋‹ค.

๋ฒ”์œ„
๋ฐฐ์—ด ์ฒจ์ž์™€ ์„ ์–ธ๋œ ์ฒจ์ž์— ๋Œ€ํ•œ ๋Ÿฐํƒ€์ž„ ๊ฒ€์‚ฌ ์ƒ์„ฑ ํ™œ์„ฑํ™”
์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’. ๋˜ํ•œ ๊ฐ€์ • ๋ฐ ์ง€์—ฐ์— ๋Œ€ํ•œ ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
์‹ค์ œ ํ• ๋‹น๋œ ๋ฒ”์œ„์— ๋Œ€ํ•ด ๋ฐฐ์—ด์„ ํ˜•์„ฑํ•˜๊ณ  ๋ชจ๋“  ๋ฌธ์ž์—ด์ด
๋ช…์‹œ์  typespec์ด ์—†๋Š” ๋ฌธ์ž ๋ฐฐ์—ด ์ƒ์„ฑ์ž์˜ ๊ธธ์ด๋Š” ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ ๊ฒ€์‚ฌ๋Š” ๋‹ค์Œ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. -fcheck=๊ฒฝ๊ณ„ ๋ฉ”์ธ ์ปดํŒŒ์ผ์„ ์œ„ํ•ด ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
ํ”„๋กœ๊ทธ๋žจ)

์ฐธ๊ณ : ์•ž์œผ๋กœ ์—ฌ๊ธฐ์—๋Š” ๋‹ค๋ฅธ ํ˜•์‹์˜ ํ™•์ธ(์˜ˆ: ํ™•์ธ)๋„ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•˜์œ„ ๋ฌธ์ž์—ด ์ฐธ์กฐ.

do ๋ฃจํ”„ ๋ฐ˜๋ณต์˜ ์ž˜๋ชป๋œ ์ˆ˜์ •์— ๋Œ€ํ•œ ๋Ÿฐํƒ€์ž„ ๊ฒ€์‚ฌ ์ƒ์„ฑ ํ™œ์„ฑํ™”
๋ณ€์ˆ˜.

(MEM) ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์— ๋Œ€ํ•œ ๋Ÿฐํƒ€์ž„ ๊ฒ€์‚ฌ ์ƒ์„ฑ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ : ์ด ์˜ต์…˜์€
"ALLOCATE" ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ช…์‹œ์  ํ• ๋‹น์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
ํ•ญ์ƒ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

ํฌ์ธํ„ฐ
ํฌ์ธํ„ฐ ๋ฐ ํ• ๋‹น ๊ฐ€๋Šฅ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๋Ÿฐํƒ€์ž„ ๊ฒ€์‚ฌ ์ƒ์„ฑ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

์žฌ๊ท€
์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœ๋œ ์„œ๋ธŒ๋ฃจํ‹ด์— ๋Œ€ํ•œ ๋Ÿฐํƒ€์ž„ ๊ฒ€์‚ฌ ์ƒ์„ฑ์„ ํ™œ์„ฑํ™”ํ•˜๊ณ 
์žฌ๊ท€๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์€ ํ•จ์ˆ˜. ๋˜ํ•œ๋ณด์‹ญ์‹œ์˜ค - ์žฌ๊ท€. ์ฐธ๊ณ : ์ด
์ฒดํฌ๋Š” OpenMP ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
- ์žฌ๊ท€ ๊ณผ -fopenmp.

-fbounds-์ฒดํฌ
๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ณ„์นญ -fcheck=๊ฒฝ๊ณ„.

-fcheck-๋ฐฐ์—ด-์ž„์‹œ
๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ณ„์นญ -fcheck=๋ฐฐ์—ด ์ž„์‹œ ์ง์›.

-fmax-๋ฐฐ์—ด ์ƒ์„ฑ์ž=n
์ด ์˜ต์…˜์€ ๋ฐฐ์—ด ์ƒ์„ฑ์ž์—์„œ ํ—ˆ์šฉ๋˜๋Š” ์ƒํ•œ์„ ๋Š˜๋ฆฌ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์•„๋ž˜ ์ฝ”๋“œ์—์„œ๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„์— ๋ฐฐ์—ด์„ ํ™•์žฅํ•˜๋ ค๋ฉด ์ด ์˜ต์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ ํ…Œ์ŠคํŠธ
์•”์‹œ์  ์—†์Œ
์ •์ˆ˜ j
์ •์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜ :: n = 100000
์ •์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜ :: i(n) = (/ (2*j, j = 1, n) /)
์ธ์‡„ '(10(I0,1X))', i
ํ”„๋กœ๊ทธ๋žจ ํ…Œ์ŠคํŠธ ์ข…๋ฃŒ

์ฃผ์˜: ์ด ์„ ํƒ๊ถŒ ๋ฆฌ๋“œ ์— ๊ธด ํŽธ์ง‘ํ•˜๋‹ค ์‹œ๋Œ€ ๊ณผ ์ง€๋‚˜์น˜๊ฒŒ ๋„“์€ ๋Œ€์ƒ
ํŒŒ์ผ.

์˜ ๊ธฐ๋ณธ๊ฐ’ n 65535์ž…๋‹ˆ๋‹ค.

-fmax-์Šคํƒ-var-ํฌ๊ธฐ=n
์ด ์˜ต์…˜์€ ๋ฐฐ์—ด์— ๋„ฃ์„ ๊ฐ€์žฅ ํฐ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
์Šคํƒ; ํฌ๊ธฐ๊ฐ€ ์ดˆ๊ณผ๋˜๋ฉด ์ •์  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(๋กœ ํ‘œ์‹œ๋œ ์ ˆ์ฐจ๋Š” ์ œ์™ธ
์žฌ๊ท€). ์˜ต์…˜์„ ์‚ฌ์šฉ - ์žฌ๊ท€ ํ•˜์ง€ ์•Š๋Š” ์žฌ๊ท€์  ์ ˆ์ฐจ๋ฅผ ํ—ˆ์šฉํ•˜๊ธฐ ์œ„ํ•ด
RECURSIVE ์†์„ฑ์ด ์žˆ๊ฑฐ๋‚˜ ๋ณ‘๋ ฌ ํ”„๋กœ๊ทธ๋žจ์šฉ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋‹ค -fno-์ž๋™ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค
์Šคํƒ.

์ด ์˜ต์…˜์€ ํ˜„์žฌ ์ƒ์ˆ˜ ๋ฒ”์œ„๋กœ ์„ ์–ธ๋œ ๋กœ์ปฌ ๋ฐฐ์—ด์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฉฐ
๋ชจ๋“  ๋ฌธ์ž ๋ณ€์ˆ˜์— ์ ์šฉ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. GNU Fortran์˜ ํ–ฅํ›„ ๋ฒ„์ „์€ ์ด๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ–‰๋™.

์˜ ๊ธฐ๋ณธ๊ฐ’ n 32768์ž…๋‹ˆ๋‹ค.

-fstack-๋ฐฐ์—ด
์ด ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด Fortran ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ชจ๋“  ๋กœ์ปฌ ๋ฐฐ์—ด์„ ๋„ฃ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ์— ์•Œ ์ˆ˜ ์—†๋Š” ํฌ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ๋งค์šฐ ํฐ ๋กœ์ปฌ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
์ผ๋ถ€์—์„œ๋Š” ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ๋Ÿฐํƒ€์ž„ ์ œํ•œ์„ ํ™•์žฅํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์šด์˜์ฒด์ œ. ์ด ํ”Œ๋ž˜๊ทธ๋Š” ์ตœ์ ํ™” ์ˆ˜์ค€์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. -์˜คํŒŒ์ŠคํŠธ.

-fpack ํŒŒ์ƒ
์ด ์˜ต์…˜์€ GNU Fortran์ด ํŒŒ์ƒ๋œ ์œ ํ˜• ๋ฉค๋ฒ„๋ฅผ ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ€๊น๊ฒŒ ๋ฌถ๋„๋ก ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์œผ๋กœ ์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ๋Š” ๋‹ค์Œ ์—†์ด ์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹คํ–‰ ์†๋„๊ฐ€ ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

-frepack-๋ฐฐ์—ด
๊ฒฝ์šฐ์— ๋”ฐ๋ผ GNU Fortran์€ ๋‹ค์Œ์„ ํ†ตํ•ด ๊ฐ€์ •๋œ ๋ชจ์–‘ ๋ฐฐ์—ด ์„น์…˜์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋น„์—ฐ์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์„ค๋ช…ํ•˜๋Š” ์„ค๋ช…์ž. ์ด ์˜ต์…˜์€ ์ฝ”๋“œ๋ฅผ
๋Ÿฐํƒ€์ž„์— ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์† ๋ธ”๋ก์œผ๋กœ ๋‹ค์‹œ ์••์ถ•ํ•˜๋Š” ํ•จ์ˆ˜ ํ”„๋กค๋กœ๊ทธ.

๊ทธ๋Ÿฌ๋ฉด ์–ด๋ ˆ์ด์— ๋” ๋น ๋ฅด๊ฒŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ์†Œ๊ฐœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
ํŠนํžˆ ์ „๋‹ฌ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๋•Œ ํ•จ์ˆ˜ ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์ƒ๋‹นํ•œ ์˜ค๋ฒ„ํ—ค๋“œ
๋ถˆ์—ฐ์†.

-fshort ์—ด๊ฑฐํ˜•
์ด ์˜ต์…˜์€ ๋‹ค์Œ์œผ๋กœ ์ปดํŒŒ์ผ๋œ C ์ฝ”๋“œ์™€์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์œ„ํ•ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
-fshort ์—ด๊ฑฐํ˜• ์˜ต์…˜. GNU Fortran์ด ๊ฐ€์žฅ ์ž‘์€ "INTEGER" ์ข…๋ฅ˜๋ฅผ ์„ ํƒํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
์ฃผ์–ด์ง„ ์—ด๊ฑฐ์ž ์„ธํŠธ๊ฐ€ ์ ํ•ฉํ•˜๊ณ  ๋ชจ๋“  ์—ด๊ฑฐ์ž์— ์ด๋Ÿฐ ์ข…๋ฅ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

-fexternal-blas
์ด ์˜ต์…˜์€ ์ง€ํฌํŠธ๋ž€ ์ผ๋ถ€ ํ–‰๋ ฌ์— ๋Œ€ํ•œ BLAS ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ƒ์„ฑ
์ž์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  "MATMUL"๊ณผ ๊ฐ™์€ ์ž‘์—…
๊ด€๋ จ๋œ ํ–‰๋ ฌ์ด ์ฃผ์–ด์ง„ ํ•œ๊ณ„๋ณด๋‹ค ํฝ๋‹ˆ๋‹ค(์ฐธ์กฐ -fblas-matmul-์ œํ•œ). ์ด๊ฒƒ์€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
์ตœ์ ํ™”๋œ ๊ณต๊ธ‰์—…์ฒด BLAS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ˆ˜์ต์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. BLAS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š”
๋งํฌ ์‹œ๊ฐ„์— ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

-fblas-matmul-์ œํ•œ=n
์ค‘์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ -fexternal-blas ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. ํ–‰๋ ฌ์˜ ํ–‰๋ ฌ ๊ณฑ์…ˆ
๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ํฌ๊ธฐ๋กœ n BLAS ํ•จ์ˆ˜ ํ˜ธ์ถœ์— ์˜ํ•ด ์ˆ˜ํ–‰๋˜๋ฉฐ,
๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ์ง€ํฌํŠธ๋ž€ ๋‚ด๋ถ€ ์•Œ๊ณ ๋ฆฌ์ฆ˜. ํ–‰๋ ฌ์ด ๊ด€๋ จ๋œ ๊ฒฝ์šฐ
์ •์‚ฌ๊ฐํ˜•์ด ์•„๋‹Œ ๊ฒฝ์šฐ ๊ธฐํ•˜ ํ‰๊ท ์„ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๊ธฐ ๋น„๊ต๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์ธ์ˆ˜ ๋ฐ ๊ฒฐ๊ณผ ํ–‰๋ ฌ์˜ ์ฐจ์›.

์˜ ๊ธฐ๋ณธ๊ฐ’ n 30์ž…๋‹ˆ๋‹ค.

- ์žฌ๊ท€
๋ชจ๋“  ๋กœ์ปฌ ๋ฐฐ์—ด์„ ์Šคํƒ์— ๊ฐ•์ œ๋กœ ํ• ๋‹นํ•˜์—ฌ ๊ฐ„์ ‘ ์žฌ๊ท€๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด ํ”Œ๋ž˜๊ทธ๋Š” ๋‹ค์Œ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. -fmax-์Šคํƒ-var-ํฌ๊ธฐ= or -fno-์ž๋™.

-finit-local-XNUMX
- ์œ ํ•œ ์ •์ˆ˜ =n
-์ตœ์†Œ์‹ค์ˆ˜=
- ์œ ํ•œ ๋…ผ๋ฆฌ =
-ํ•œ์ • ๋ฌธ์ž=n
์ตœ๋Œ€ XNUMXW ์ถœ๋ ฅ์„ ์ œ๊ณตํ•˜๋Š” -finit-local-XNUMX ์˜ต์…˜์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋กœ์ปฌ "INTEGER"๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋„๋ก ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค.
"REAL" ๋ฐ "COMPLEX" ๋ณ€์ˆ˜๋Š” XNUMX, "LOGICAL" ๋ณ€์ˆ˜๋Š” false, "CHARACTER"
๋„ ๋ฐ”์ดํŠธ ๋ฌธ์ž์—ด์— ๋Œ€ํ•œ ๋ณ€์ˆ˜. ๋” ์„ธ๋ถ„ํ™”๋œ ์ดˆ๊ธฐํ™” ์˜ต์…˜์€
์ œ๊ณต ํ•œ - ์œ ํ•œ ์ •์ˆ˜ =n, -์ตœ์†Œ์‹ค์ˆ˜= (๋˜ํ•œ
๋กœ์ปฌ "COMPLEX" ๋ณ€์ˆ˜์˜ ์‹ค์ˆ˜๋ถ€์™€ ํ—ˆ์ˆ˜๋ถ€๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
- ์œ ํ•œ ๋…ผ๋ฆฌ =๋ฐ -ํ•œ์ • ๋ฌธ์ž=n (์–ด๋””์— n ASCII ๋ฌธ์ž์ž…๋‹ˆ๋‹ค
๊ฐ’) ์˜ต์…˜. ์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

* ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ๋ฐฐ์—ด

* ํŒŒ์ƒํ˜• ๋ณ€์ˆ˜์˜ ๊ตฌ์„ฑ์š”์†Œ

* "EQUIVALENCE" ๋ฌธ์— ๋‚˜ํƒ€๋‚˜๋Š” ๋ณ€์ˆ˜.

(์ด๋Ÿฌํ•œ ์ œํ•œ ์‚ฌํ•ญ์€ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ฑฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

์ฐธ๊ณ ๋กœ -finit-real=nan ์˜ต์…˜์€ "REAL" ๋ฐ "COMPLEX" ๋ณ€์ˆ˜๋ฅผ
์กฐ์šฉํ•œ ๋‚˜. ์‹œ๊ทธ๋„๋ง NaN์˜ ๊ฒฝ์šฐ -finit-real=snan; ๊ทธ๋Ÿฌ๋‚˜ ์ปดํŒŒ์ผ ์‹œ๊ฐ„
์ตœ์ ํ™”๋Š” ์ด๋ฅผ ์กฐ์šฉํ•œ NaN์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํŠธ๋ž˜ํ•‘์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
(์˜ˆ๋ฅผ ํ†ตํ•ด -ffpe ํŠธ๋žฉ).

๋งˆ์ง€๋ง‰์œผ๋กœ -ํ•œ์ •-* ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์Œ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
์— ์˜ํ•ด ๋ฐฉ์ถœ๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. -์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์Œ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์ง€์—ญ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด

-falign-commons
๊ธฐ๋ณธ์ ์œผ๋กœ, ์ง€ํฌํŠธ๋ž€ "COMMON" ๋ธ”๋ก์— ์žˆ๋Š” ๋ชจ๋“  ๋ณ€์ˆ˜์˜ ์ ์ ˆํ•œ ์ •๋ ฌ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹œํ–‰ํ•ฉ๋‹ˆ๋‹ค.
ํ•„์š”์— ๋”ฐ๋ผ ํŒจ๋”ฉํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ํ”Œ๋žซํผ์—์„œ๋Š” ํ•„์ˆ˜์ด๋ฉฐ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ๋Š” ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
์„ฑ๋Šฅ. "COMMON" ๋ธ”๋ก์ด ์ผ๊ด€๋œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์œผ๋กœ ์„ ์–ธ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ
๋ชจ๋“  ๊ณณ์—์„œ ์ด ํŒจ๋”ฉ์€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, -fno-์ •๋ ฌ-๊ณตํ†ต ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
์ž๋™ ์ •๋ ฌ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํŒŒ์ผ์— ๋™์ผํ•œ ํ˜•์‹์˜ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
"COMMON" ๋ธ”๋ก์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. "COMMON" ๋ธ”๋ก์—์„œ ์ž ์žฌ์ ์ธ ์ •๋ ฌ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด
๊ฐ€์žฅ ํฐ ๊ฒƒ๋ถ€ํ„ฐ ์ž‘์€ ๊ฒƒ ์ˆœ์œผ๋กœ ๋ฌผ๊ฑด์„ ์ฃผ๋ฌธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

-fno ๋ณดํ˜ธ ๊ด„ํ˜ธ
๊ธฐ๋ณธ์ ์œผ๋กœ ์‹์˜ ๊ด„ํ˜ธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชจ๋“  ์ตœ์ ํ™” ์ˆ˜์ค€์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์žฌ์—ฐ๊ฒฐ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ -fno ๋ณดํ˜ธ ๊ด„ํ˜ธ ์ˆ˜
์ปดํŒŒ์ผ๋Ÿฌ๋Š” "REAL" ๋ฐ "COMPLEX" ํ‘œํ˜„์‹์„ ์žฌ์ •๋ ฌํ•˜์—ฌ ๋” ๋น ๋ฅธ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ 
์žฌ์—ฐ๊ด€ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด -fno ๋ถ€ํ˜ธ ์žˆ๋Š” XNUMX ๊ณผ -fno ํŠธ๋ž˜ํ•‘ ์ˆ˜ํ•™ ํ•„์š”
์œ ํšจํ•˜๋‹ค. ๊ด„ํ˜ธ ๋ณดํ˜ธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. -์˜คํŒŒ์ŠคํŠธ is
์ฃผ์–ด์ง„.

-frealloc-lhs
๊ณ ์œ  ํ• ๋‹น์˜ ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ์™ผ์ชฝ์€ ์ž๋™์œผ๋กœ
ํ• ๋‹น๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ๋ชจ์–‘์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ (์žฌ)ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ์˜ต์…˜์€
๋‹ค์Œ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋จ -ํ‘œ์ค€=f95 ์ฃผ์–ด์ง„๋‹ค. ๋˜ํ•œ๋ณด์‹ญ์‹œ์˜ค -Wrealloc-lhs.

-๊ณต๊ฒฉ์  ๊ธฐ๋Šฅ ์ œ๊ฑฐ
๋™์ผํ•œ ์ธ์ˆ˜ ๋ชฉ๋ก์„ ๊ฐ€์ง„ ํ•จ์ˆ˜๋Š” ๊ด€๊ณ„ ์—†์ด ๋ช…๋ น๋ฌธ ๋‚ด์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์ด "PURE"๋กœ ํ‘œ์‹œ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€. ์˜ˆ๋ฅผ ๋“ค์–ด,

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

"f"์— ๋Œ€ํ•œ ํ˜ธ์ถœ์€ ํ•œ ๋ฒˆ๋งŒ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ๋‹ค์Œ ๊ฒฝ์šฐ์—๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
-ffrontend ์ตœ์ ํ™” ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

-ffrontend ์ตœ์ ํ™”
์ด ์˜ต์…˜์€ Fortran์˜ ๋ถ€ํ’ˆ ์กฐ์ž‘์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋ŸฐํŠธ ์—”๋“œ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
ํŒŒ์Šค ํŠธ๋ฆฌ. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋จ -O ์˜ต์…˜. ์ด์— ์˜ํ•ด ํ™œ์„ฑํ™”๋œ ์ตœ์ ํ™”
์˜ต์…˜์—๋Š” ํ‘œํ˜„์‹ ๋‚ด์—์„œ ๋™์ผํ•œ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ œ๊ฑฐ, ์ œ๊ฑฐ ํฌํ•จ
๋น„๊ต ๋ฐ ํ• ๋‹น์—์„œ "TRIM"์— ๋Œ€ํ•œ ๋ถˆํ•„์š”ํ•œ ํ˜ธ์ถœ ๋ฐ TRIM(a)๋ฅผ ๋‹ค์Œ์œผ๋กœ ๋Œ€์ฒด
"a(1:LEN_TRIM(a))". ์ง€์ •ํ•˜์—ฌ ์„ ํƒ ํ•ด์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -fno-frontend-์ตœ์ ํ™”.

ํ™˜๊ฒฝ


์ตœ๋Œ€ XNUMXW ์ถœ๋ ฅ์„ ์ œ๊ณตํ•˜๋Š” ์ง€ํฌํŠธ๋ž€ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ํ˜„์žฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์–ดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ž‘๋™์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒƒ ์ด์ƒ์œผ๋กœ ์ž‘๋™ GCC.

onworks.net ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜จ๋ผ์ธ์—์„œ mips64el-linux-gnuabi64-gfortran-5 ์‚ฌ์šฉ


๋ฌด๋ฃŒ ์„œ๋ฒ„ ๋ฐ ์›Œํฌ์Šคํ…Œ์ด์…˜

Windows ๋ฐ Linux ์•ฑ ๋‹ค์šด๋กœ๋“œ

Linux ๋ช…๋ น

Ad