Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์์ ์คํํ ์ ์๋ arm-linux-gnueabihf-gccgo-4.8 ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
gccgo - Go ์ธ์ด์ฉ GCC ๊ธฐ๋ฐ ์ปดํ์ผ๋ฌ
๊ฐ์
gccgo [-c|-S]
[-g] [-ํ์ด์ง] [-O์ํ]
[-IDIR...] [-LDIR...]
[-o ์์ํ์ผ] ์ธํ์ผ...
๊ฐ์ฅ ์ ์ฉํ ์ต์ ๋ง ์ฌ๊ธฐ์ ๋์ด๋ฉ๋๋ค. ๋๋จธ์ง๋ ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
๊ธฐ์
XNUMXD๋ดํ์ gccgo ๋ช ๋ น์ ํ๋ก ํธ์๋์ ๋๋ค. GCC ๋์ผํ ์ต์ ์ ๋ง์ด ์ง์ํฉ๋๋ค. ์ด๊ฒ
์ค๋ช ์๋ ํน์ ์ต์ ๋ง ๋ฌธ์ํํฉ๋๋ค. gccgo.
XNUMXD๋ดํ์ gccgo ๋ช ๋ น์ ์ฌ์ฉํ์ฌ Go ์์ค ์ฝ๋๋ฅผ ๊ฐ์ฒด ํ์ผ๋ก ์ปดํ์ผํ๊ณ
๋ชฉ์ ํ์ผ์ ํจ๊ป ์์งํ๊ฑฐ๋ ๋ ๋ค ์์ฐจ์ ์ผ๋ก ์ํํฉ๋๋ค.
Go ์์ค ์ฝ๋๋ ํจํค์ง๋ก ์ปดํ์ผ๋ฉ๋๋ค. ํจํค์ง๋ ํ๋ ์ด์์ Go ์์ค๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
ํ์ผ. ๋จ์ผ ํจํค์ง์ ๋ชจ๋ ํ์ผ์ ๋ชจ๋ ํ์ผ์ ์ ๋ฌํ์ฌ ํจ๊ป ์ปดํ์ผํด์ผ ํฉ๋๋ค.
ํ์ผ์ ์ธ์๋ก gccgo. ๋จ์ผ ํธ์ถ gccgo ๋จ์ผ ์ปดํ์ผ๋ง ๊ฐ๋ฅ
ํจํค์ง.
ํ๋์ Go ํจํค์ง๋ ๋ค๋ฅธ Go ํจํค์ง๋ฅผ "๊ฐ์ ธ์ฌ" ์ ์์ต๋๋ค. ๊ฐ์ ธ์จ ํจํค์ง์๋ ๋ค์์ด ์์ด์ผ ํฉ๋๋ค.
์ด๋ฏธ ์ปดํ์ผ๋์์ต๋๋ค. gccgo ์ปดํ์ผ๋ ํจํค์ง์์ ์ง์ ๊ฐ์ ธ์ค๊ธฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ต๋๋ค.
์ด ํจํค์ง๊ฐ ๋์ค์ ๋งํฌ๋ ๋ ํจํค์ง์ ์ปดํ์ผ๋ ํํ๋
๋งํฌ ๋ช ๋ น.
์ต์
-IDIR
์ปดํ์ผ ์ ๊ฐ์ ธ์ค๊ธฐ ํจํค์ง๋ฅผ ๊ฒ์ํ ๋ ์ฌ์ฉํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ง์ ํฉ๋๋ค.
-LDIR
๋งํฌํ ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฒ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ ํ์ญ์์ค. GCC.
-fgo-pkg๊ฒฝ๋ก=ํ
์ฌ์ฉํ ํจํค์ง ๊ฒฝ๋ก๋ฅผ ์ค์ ํฉ๋๋ค. ์ด๊ฒ์ PkgPath ๋ฉ์๋์ ์ํด ๋ฐํ๋ ๊ฐ์ ์ค์ ํฉ๋๋ค.
Reflect.Type ๊ฐ์ฒด. ์ ์ญ์ ์ผ๋ก ๋ณผ ์ ์๋ ๊ธฐํธ์ ์ด๋ฆ์๋ ์ฌ์ฉ๋ฉ๋๋ค. NS
์ด ์ต์ ์ ๋ํ ์ธ์๋ ์ผ๋ฐ์ ์ผ๋ก ์ด ์ต์ ์ ๊ฐ์ ธ์ค๋ ๋ฐ ์ฌ์ฉํ ๋ฌธ์์ด์ด์ด์ผ ํฉ๋๋ค.
์ค์น๋ ํ ํจํค์ง; ์ฆ, ๋๋ ํ ๋ฆฌ ๋ด์ ๊ฒฝ๋ก ์ด๋ฆ
์ ์ํด ์ง์ ๋ -I ์ต์ ์ ์ ํํฉ๋๋ค.
-fgo-์ ๋์ฌ=ํ
๋์ -fgo-pkgpath. ์ธ์๋ ํจํค์ง ์ด๋ฆ๊ณผ ๊ฒฐํฉ๋ฉ๋๋ค.
์์ค ํ์ผ์์ ํจํค์ง ๊ฒฝ๋ก๋ฅผ ์์ฑํฉ๋๋ค. ๋ง์ฝ์ -fgo-pkgpath ์ฌ์ฉ,
-fgo-์ ๋์ฌ ๋ฌด์๋ฉ๋๋ค.
Go๋ ๋จ์ผ ํ๋ก๊ทธ๋จ์ด ๋์ผํ ์ด๋ฆ์ ํจํค์ง๋ฅผ ๋ ๊ฐ ์ด์ ํฌํจํ ์ ์๋๋ก ํ์ฉํฉ๋๋ค.
์์ค ํ์ผ์ "package" ์ , ๋ถ๋ช ํ ๋ ํจํค์ง๋
๋ค๋ฅธ ๊ฒฝ๋ก ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ๊ฐ์ ธ์ต๋๋ค. ์ด๊ฒ์ด ์๋ํ๋ ค๋ฉด gccgo์ด๋ ์ชฝ์ด๋
-fgo-pkgpath or -fgo-์ ๋์ฌ ํจํค์ง๋ฅผ ์ปดํ์ผํ ๋ ์ง์ ํด์ผ ํฉ๋๋ค.
๋ ์ค ํ๋ ์ฌ์ฉ -fgo-pkgpath or -fgo-์ ๋์ฌ "๋ฉ์ธ"์ ํน์ ์ฒ๋ฆฌ๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
ํจํค์ง๋ฅผ ๋ง๋ค๊ณ ํด๋น ํจํค์ง๋ฅผ ๋ค๋ฅธ ํจํค์ง์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
-fgo-์๋์ -๊ฐ์ ธ์ค๊ธฐ-๊ฒฝ๋ก=DIR
์๋ ๊ฐ์ ธ์ค๊ธฐ๋ ๋ค์์ผ๋ก ์์ํ๋ ๊ฐ์ ธ์ค๊ธฐ์ ๋๋ค. ./ or ../. ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด
gccgo ์ฌ์ฉํ๊ฒ ๋ DIR ๊ฒ์ํ ๋ ์๋ ๊ฐ์ ธ์ค๊ธฐ์ ์ ๋์ฌ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
-์์ฃผ ๋ฐํ ๋ฌธ
-fno-require-return-statement
๊ธฐ๋ณธ์ ์ผ๋ก gccgo ํ๋ ์ด์์ ๋ฐํ ๋งค๊ฐ๋ณ์๊ฐ ์๋ ํจ์์ ๋ํด ๊ฒฝ๊ณ ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ช ์์ ์ธ "๋ฐํ" ๋ฌธ์ด ๋ถ์กฑํฉ๋๋ค. ์ด ๊ฒฝ๊ณ ๋ ๋ค์์ ์ฌ์ฉํ์ฌ ๋นํ์ฑํ๋ ์ ์์ต๋๋ค.
-fno-require-return-statement.
-fgo-์ฒดํฌ-๋๋๊ธฐ-XNUMX
XNUMX์ผ๋ก ๋๋๊ธฐ์ ๋ํ ๋ช ์์ ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํฉ๋๋ค. Go์์ XNUMX์ผ๋ก ๋๋๊ธฐ(๋๋ ๋ชจ๋๋ฌ์ค)
ํจ๋์ ์ผ์ผํต๋๋ค. Unix ์์คํ ์์ ์ด๊ฒ์ ๋ฐํ์์์ ๋ค์์ ํฌ์ฐฉํ์ฌ ๊ฐ์ง๋ฉ๋๋ค.
"SIGFPE" ์ ํธ. PowerPC์ ๊ฐ์ ์ผ๋ถ ํ๋ก์ธ์๋ SIGFPE๋ฅผ ์์ฑํ์ง ์์ต๋๋ค.
XNUMX์ผ๋ก ๋๋๊ธฐ. ์ผ๋ถ ๋ฐํ์์ ํฌ์ฐฉํ ์ ์๋ ์ ํธ๋ฅผ ์์ฑํ์ง ์์ต๋๋ค. ์
์ด๋ฌํ ์์คํ ์์๋ ์ด ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋๋ ๋ค์์ ํตํด ์ํ๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
-fno-go-check-divide-XNUMX. ์ด ์ต์ ์ ํ์ฌ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์์ง๋ง ์์ผ๋ก
ํ์ํ์ง ์์ ์์คํ ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊บผ์ ธ ์์ ์ ์์ต๋๋ค.
-fgo-check-divide-overflow
๋ถํ ์ค๋ฒํ๋ก์ ๋ํ ๋ช ์์ ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋๋์ ์ค๋ฒํ๋ก๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ๋ฐ์ํฉ๋๋ค.
"INT_MIN / -1"์ ๊ณ์ฐํฉ๋๋ค. Go์์๋ "INT_MIN"์ ์์ฑํ๊ธฐ ์ํด ์ด๊ฒ์ ๋ํํด์ผ ํฉ๋๋ค. ์ผ๋ถ
x86๊ณผ ๊ฐ์ ํ๋ก์ธ์๋ ๋ถํ ์ค๋ฒํ๋ก์ ๋ํ ํธ๋ฉ์ ์์ฑํฉ๋๋ค. ์ด๋ฌํ ์์คํ ์์ ์ด
์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋๋ ๋ค์์ ํตํด ์ํ๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค. -fno-go-check-divide-overflow.
์ด ์ต์ ์ ํ์ฌ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ ธ ์์ง๋ง ํฅํ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊บผ์ ธ ์์ ์ ์์ต๋๋ค.
ํ์ํ์ง ์์ ์์คํ .
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์ผ๋ก arm-linux-gnueabihf-gccgo-4.8๋ฅผ ์ฌ์ฉํ์ธ์.