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

Ad


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

mips64-linux-gnuabi64-gcj - ํด๋ผ์šฐ๋“œ์˜ ์˜จ๋ผ์ธ

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

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

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

์ด๋ฆ„


gcj - ์ž๋ฐ” ์–ธ์–ด๋ฅผ ์œ„ํ•œ Ahead-of-Time ์ปดํŒŒ์ผ๋Ÿฌ

๊ฐœ์š”


GCJ [-IDIR...] [-d DIR...]
[--ํด๋ž˜์ŠคํŒจ์Šค=ํ†ต๋กœ] [--ํด๋ž˜์Šค ๊ฒฝ๋กœ=ํ†ต๋กœ]
[-f์„ ํƒ๊ถŒ...] [--๋ถ€ํ˜ธํ™”=name]
[--๊ธฐ๋ณธ=ํด๋ž˜์Šค ์ด๋ฆ„] [-Dname[=๊ฐ€์น˜]...]
[-C] [--์ž์› ๋ฆฌ์†Œ์Šค ์ด๋ฆ„] [-d ์˜ˆ๋ฐฐ ๊ทœ์น™์„œ]
[-W๊ฒฝ๊ณ ...]
์†Œ์Šค ํŒŒ์ผ...

๊ธฐ์ˆ 


As gcj ์˜ ๋˜ ๋‹ค๋ฅธ ํ”„๋ก ํŠธ ์—”๋“œ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. GCC, gcc์™€ ๋™์ผํ•œ ์˜ต์…˜์„ ๋งŽ์ด ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
์ด ์„ค๋ช…์„œ๋Š” ํŠน์ • ์˜ต์…˜๋งŒ ๋ฌธ์„œํ™”ํ•ฉ๋‹ˆ๋‹ค. gcj.

์˜ต์…˜


์ž…๋ ฅ ๊ณผ ์ถœ๋ ฅ ํŒŒ์ผ
A gcj ๋ช…๋ น์€ ๊ฐ™๋‹ค GCC ์—ฌ๋Ÿฌ ์˜ต์…˜๊ณผ ํŒŒ์ผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค๋Š” ์ ์—์„œ ๋ช…๋ น
์ด๋ฆ„. ๋‹ค์Œ ์ข…๋ฅ˜์˜ ์ž…๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ.์ž๋ฐ”
์ž๋ฐ” ์†Œ์Šค ํŒŒ์ผ.

ํŒŒ์ผ.์ˆ˜์—…
์ž๋ฐ” ๋ฐ”์ดํŠธ์ฝ”๋“œ ํŒŒ์ผ.

ํŒŒ์ผ.์ง€ํผ
ํŒŒ์ผ.JAR
ํ•˜๋‚˜ ์ด์ƒ์˜ ".class" ํŒŒ์ผ์„ ํฌํ•จํ•˜๋Š” ์•„์นด์ด๋ธŒ๋กœ, ๋ชจ๋‘ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. NS
์•„์นด์ด๋ธŒ๊ฐ€ ์••์ถ•๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ๋๋‚˜์ง€ ์•Š๋Š” ์•„์นด์ด๋ธŒ์˜ ํŒŒ์ผ .์ˆ˜์—… are
๋ฆฌ์†Œ์Šค ํŒŒ์ผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒฐ๊ณผ ๊ฐ์ฒด ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ํ•ต์‹ฌ:
URL.

@ํŒŒ์ผ
๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ์ž…๋ ฅ ํŒŒ์ผ ์ด๋ฆ„ ๋ชฉ๋ก์ด ํฌํ•จ๋œ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. (ํ˜„์žฌ ์ด๋“ค
๋ชจ๋‘ ".java" ์†Œ์Šค ํŒŒ์ผ์ด์–ด์•ผ ํ•˜์ง€๋งŒ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.) ๊ฐ ๋ช…๋ช…๋œ ํŒŒ์ผ์€ ์ปดํŒŒ์ผ๋˜๊ณ ,
๋งˆ์น˜ ๋ช…๋ น์ค„์— ์žˆ์—ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ.

๋„์„œ๊ด€.a
๋„์„œ๊ด€.๊ทธ๋ž˜์„œ
-l๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋ฆ„
๋งํฌํ•  ๋•Œ ์‚ฌ์šฉํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ฐธ์กฐ GCC ์ˆ˜๋™.

ํ•˜๋‚˜ ์ด์ƒ์˜ ์ž…๋ ฅ ํŒŒ์ผ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. gcj ๋ช…๋ น์ค„, ์ด ๊ฒฝ์šฐ
๋ชจ๋‘ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. "-o"๋ฅผ ์ง€์ •ํ•˜๋ฉด ํŒŒ์ผ ์ด๋ฆ„" ์˜ต์…˜์„ ์„ ํƒํ•˜๋ฉด ๋ชจ๋“  ์ž…๋ ฅ ํŒŒ์ผ์ด
ํ•จ๊ป˜ ์ปดํŒŒ์ผ๋˜์–ด ์ด๋ฆ„์ด ์ง€์ •๋œ ๋‹จ์ผ ์ถœ๋ ฅ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„. ์ด๊ฒƒ์€ ์‹ฌ์ง€์–ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.
"-S" ๋˜๋Š” "-c"๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ํ•˜์ง€๋งŒ "-C" ๋˜๋Š” "--resource"๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (์ด๊ฒƒ์€ ํ™•์žฅ
๋ฌด์Šจ ํ‰์› ๋„ˆ๋จธ๋กœ GCC ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.) (๋‘ ๊ฐœ ์ด์ƒ์˜ ์ž…๋ ฅ ํŒŒ์ผ์ด ์ง€์ •๋˜๋ฉด ๋ชจ๋‘
ํ˜„์žฌ ".java" ํŒŒ์ผ์ด์ง€๋งŒ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ๋ฅผ ํฌ๋งํ•ฉ๋‹ˆ๋‹ค.)

์ž…๋ ฅ ์˜ต์…˜
gcj ํ•„์š”ํ•œ ํŒŒ์ผ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ์ฐพ๋Š” ์œ„์น˜๋ฅผ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, gcj ์ˆ˜๋„
์ปดํŒŒ์ผํ•˜๋„๋ก ์š”์ฒญ๋ฐ›์€ ํŒŒ์ผ์—์„œ ์ฐธ์กฐํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข‹๋‹ค
Java ์–ธ์–ด์šฉ ๋‹ค๋ฅธ ์ปดํŒŒ์ผ๋Ÿฌ, gcj ์˜ ๊ฐœ๋…์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ˆ˜์—… ํ†ต๋กœ. ์žˆ๋‹ค
ํด๋ž˜์Šค ๊ฒฝ๋กœ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ์˜ต์…˜ ๋ฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜.
์ธ์…€๋ค ๊ณต์‹ ํŒ๋งค์ ์ธ gcj ์ฃผ์–ด์ง„ ํด๋ž˜์Šค๋ฅผ ์ฐพ๊ณ , ์ผ์น˜ํ•˜๋Š” ํด๋ž˜์Šค ๊ฒฝ๋กœ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. .์ˆ˜์—…
or .์ž๋ฐ” ํŒŒ์ผ. gcj ์„ค์น˜๋œ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋‚ด์žฅ ํด๋ž˜์Šค ๊ฒฝ๋กœ์™€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
libgcj.jar, ๋ชจ๋“  ํ‘œ์ค€ ํด๋ž˜์Šค๋ฅผ ํฌํ•จํ•˜๋Š” ํŒŒ์ผ.

์•„๋ž˜ ํ…์ŠคํŠธ์—์„œ ๋””๋ ‰ํ† ๋ฆฌ ๋˜๋Š” ๊ฒฝ๋กœ ๊ตฌ์„ฑ์š”์†Œ๋Š” ์‹ค์ œ ๋””๋ ‰ํ† ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŒŒ์ผ ์‹œ์Šคํ…œ ๋˜๋Š” .์ง€ํผ or .JAR ํŒŒ์ผ, gcj ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๊ฒ€์ƒ‰ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋””๋ ‰ํ† ๋ฆฌ.

-IDIR
"-I"๋กœ ์ง€์ •๋œ ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์ˆœ์„œ๋Œ€๋กœ ์œ ์ง€๋˜๋ฉฐ ํด๋ž˜์Šค ๊ฒฝ๋กœ ์•ž์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ๋ชจ๋“  ์˜ต์…˜์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. "javac"์™€ ๊ฐ™์€ ๋„๊ตฌ์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ํ•œ
์ค‘์š”ํ•˜๋ฏ€๋กœ ํ•ญ์ƒ ๋‹ค๋ฅธ ์˜ต์…˜ ๋Œ€์‹  "-I"๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
ํด๋ž˜์Šค ๊ฒฝ๋กœ ์กฐ์ž‘

--ํด๋ž˜์Šค ๊ฒฝ๋กœ=ํ†ต๋กœ
์ด๊ฒƒ์€ ํด๋ž˜์Šค ๊ฒฝ๋กœ๋ฅผ ๋‹ค์Œ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํ†ต๋กœ, ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๊ฒฝ๋กœ ๋ชฉ๋ก(Windows ๊ธฐ๋ฐ˜
์‹œ์Šคํ…œ, ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๊ฒฝ๋กœ ๋ชฉ๋ก). ์ด๊ฒƒ์€ ๋‚ด์žฅ์„ ์žฌ์ •์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
("๋ถ€ํŒ…") ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ.

--ํด๋ž˜์Šค ๊ฒฝ๋กœ=ํ†ต๋กœ
"--classpath"์— ๋Œ€ํ•œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋™์˜์–ด์ž…๋‹ˆ๋‹ค.

--๋ถ€ํŠธํด๋ž˜์Šค๊ฒฝ๋กœ=ํ†ต๋กœ
"java.lang.String"๊ณผ ๊ฐ™์€ ํ‘œ์ค€ ๋‚ด์žฅ ํด๋ž˜์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜์ž…๋‹ˆ๋‹ค.

--extdirs=ํ†ต๋กœ
๊ฐ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•ด ํ†ต๋กœ, ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์„ ๋งจ ๋์— ๋†“์Šต๋‹ˆ๋‹ค.
ํด๋ž˜์Šค ๊ฒฝ๋กœ.

ํด๋ž˜์Šค ํŒจ์Šค
์ด๊ฒƒ์€ ๊ฒฝ๋กœ ๋ชฉ๋ก์„ ๋ณด์œ ํ•˜๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.

์ตœ์ข… ํด๋ž˜์Šค ๊ฒฝ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

* ๋จผ์ € "-I"๋ฅผ ํ†ตํ•ด ์ง€์ •๋œ ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์˜ต๋‹ˆ๋‹ค.

* ๋งŒ์•ฝ์— --ํด๋ž˜์Šค ๊ฒฝ๋กœ ์ง€์ •๋˜๋ฉด ํ•ด๋‹น ๊ฐ’์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด "CLASSPATH"
ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์ง€์ •๋˜๋ฉด ํ•ด๋‹น ๊ฐ’์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ˜„์žฌ
๋””๋ ‰ํ† ๋ฆฌ(".")๊ฐ€ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

* "--bootclasspath"๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ ํ•ด๋‹น ๊ฐ’์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‚ด์žฅ
์‹œ์Šคํ…œ ๋””๋ ‰ํ† ๋ฆฌ, libgcj.jar.

* ๋งˆ์ง€๋ง‰์œผ๋กœ "--extdirs"๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ ์ง€์ •๋œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
ํด๋ž˜์Šค ๊ฒฝ๋กœ ๋์— ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.
"$(prefix)/share/java/ext"์— ๋‚ด์žฅ๋œ extdir.

์— ์˜ํ•ด ๋นŒ๋“œ๋œ ํด๋ž˜์Šค ํŒŒ์ผ gcj "java.lang.Object" ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ(๋ฐ "libgcj.jar"์— ๋ฐฐ์น˜๋จ)
๊ธธ์ด๊ฐ€ XNUMX์ธ ํŠน์ˆ˜ ์†์„ฑ "gnu.gcj.gcj-compiled"๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋‹ค์Œ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
์ด ์†์„ฑ์€ "java.lang.Object"๋ฅผ ๋กœ๋“œํ•  ๋•Œ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ๋˜์ง€ ์•Š๋Š” ํ•œ("-fforce-classes-archive-check" ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ
์ด ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ์— ์ด ๋™์ž‘์„ ์žฌ์ •์˜ํ•˜์‹ญ์‹œ์˜ค.)

-fforce-ํด๋ž˜์Šค-์•„์นด์ด๋ธŒ-์ฒดํฌ
์ด๊ฒƒ์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ•ญ์ƒ ๊ธธ์ด๊ฐ€ XNUMX์ธ ํŠน์ˆ˜ ์†์„ฑ์„ ํ™•์ธํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
"java.lang.Object"์— "gnu.gcj.gcj-compiled"๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ฐพ์ง€ ๋ชปํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

-์†Œ์Šค=๋ฒ„์ „
์ด ์˜ต์…˜์€ ์Šน์ธ๋œ ์†Œ์Šค ๋ฒ„์ „์„ ์„ ํƒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. gcj. ๊ธฐ๋ณธ๊ฐ’์€ 1.5.

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

"--encoding=์ด๋ฆ„" ์ธ์ฝ”๋”ฉ์„ ์ง€์ •ํ•˜๋Š” ์˜ต์…˜(ํŠน์ • ๋ฌธ์ž
set) ์†Œ์Šค ํŒŒ์ผ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ์€
ํ˜„์žฌ ๋กœ์ผ€์ผ. ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ์˜ ๋กœ์ผ€์ผ ์ง€์›์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ gcj
๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. UTF-8 ์œ ๋‹ˆ์ฝ”๋“œ ์ธ์ฝ”๋”ฉ.

"--์ธ์ฝ”๋”ฉ"์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด gcj ๋‹จ์ˆœํžˆ ํ˜ธ์ŠคํŠธ ํ”Œ๋žซํผ์˜ "iconv" ๋ณ€ํ™˜ ๋ฃจํ‹ด์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ฆ‰, ์‹ค์ œ๋กœ gcj ํ˜ธ์ŠคํŠธ ํ”Œ๋žซํผ์˜ ๊ธฐ๋Šฅ์— ์˜ํ•ด ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

์ธ์ˆ˜ "--encoding"์— ํ—ˆ์šฉ๋˜๋Š” ์ด๋ฆ„์€ ํ”Œ๋žซํผ๋งˆ๋‹ค ๋‹ค๋ฆ…๋‹ˆ๋‹ค(
์–ด๋””์—๋„ ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ์ง€ ์•Š์Œ). ํ•˜์ง€๋งŒ, gcj ๋ช…๋ช…๋œ ์ธ์ฝ”๋”ฉ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. UTF-8
๋‚ด๋ถ€์ ์œผ๋กœ, ๋”ฐ๋ผ์„œ ์†Œ์Šค ํŒŒ์ผ์— ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ์„ ํƒํ•˜๋ฉด
๋ชจ๋“  ํ˜ธ์ŠคํŠธ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 
gcj ์—ฌ๋Ÿฌ ๊ฒฝ๊ณ ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ œ๋„ค๋ฆญ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ GCC ๊ฒฝ๊ณ , ์˜ต์…˜์˜ ๊ฒฝ์šฐ
"-Wfoo" ํ˜•์‹์€ ๊ฒฝ๊ณ ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  "-Wno-foo"๋Š” ๊ฒฝ๊ณ ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์„ ํƒํ•œ
์˜ํ–ฅ์„ ๋ฏธ์น  ๊ฒฝ๊ณ  ํ˜•์‹์„ ๋ฌธ์„œํ™”ํ•˜์‹ญ์‹œ์˜ค. ๊ธฐ๋ณธ๊ฐ’์€
๋‚˜์—ด๋œ ๊ฒƒ๊ณผ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค.

-์ค‘๋ณต ์ˆ˜์‹์–ด
์ด ๊นƒ๋ฐœ๋กœ, gcj ์ค‘๋ณต ์ˆ˜์ •์ž์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค
์ธํ„ฐํŽ˜์ด์Šค ๋ฉ”์†Œ๋“œ๊ฐ€ "๊ณต๊ฐœ"๋กœ ์„ ์–ธ๋œ ๊ฒฝ์šฐ.

-์™ธ๋ถ€ ์„ธ๋ฏธ์ฝœ๋ก 
์ด ์›์ธ gcj ๋นˆ ๋ฌธ์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๋นˆ ์ง„์ˆ ์€
๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

- ๊ตฌ์‹ ์—†์Œ
์ด ์˜ต์…˜์€ gcj ์†Œ์Šค ํŒŒ์ผ์ด ์ผ์น˜ํ•˜๋Š” ํŒŒ์ผ๋ณด๋‹ค ์ตœ์‹ ์ผ ๋•Œ ๊ฒฝ๊ณ ํ•˜์ง€ ์•Š์Œ
ํด๋ž˜์Šค ํŒŒ์ผ. ๊ธฐ๋ณธ์ ์œผ๋กœ gcj ์ด์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

- ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ
๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค, ๋ฉ”์„œ๋“œ ๋˜๋Š” ํ•„๋“œ๊ฐ€ ์ฐธ์กฐ๋˜๋ฉด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

- ์‚ฌ์šฉํ•˜์ง€ ์•Š์€
์ด๊ฒƒ์€ GCC์˜ "-Wunused"์ž…๋‹ˆ๋‹ค.

-๋ฒฝ
์ด๊ฒƒ์€ "-Wredundant-modifiers -Wextraneous-์„ธ๋ฏธ์ฝœ๋ก  -Wunused"์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ
Java ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฐ”๊พธ๋ ค๋ฉด ํ•„์š”ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
C ๋˜๋Š” C++์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๋ง์ปค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ „์—ญ ํ•จ์ˆ˜๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
"๊ธฐ๋ณธ". Java์—๋Š” ์ „์—ญ ๊ธฐ๋Šฅ์ด ์—†๊ณ  Java ํด๋ž˜์Šค ๋ชจ์Œ์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ
"main" ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋Š” ํด๋ž˜์Šค๊ฐ€ ๋‘ ๊ฐœ ์ด์ƒ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ง์ปค์— ๋‹ค์Œ ์ค‘ ์–ด๋Š ๊ฒƒ์ธ์ง€ ์•Œ๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•  ๋•Œ ํ˜ธ์ถœํ•ด์•ผ ํ•˜๋Š” "์ฃผ์š”" ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
๋‹ค์Œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜:

* ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฐ๊ฒฐํ•  ๋•Œ ์›ํ•˜๋Š” "main" ๋ฉ”์„œ๋“œ๊ฐ€ ํฌํ•จ๋œ ํด๋ž˜์Šค๋ฅผ ์ง€์ •ํ•˜๊ณ ,
์•„๋ž˜์— ์„ค๋ช…๋œ "--main" ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

* Java ํŒจํ‚ค์ง€๋ฅผ ์‹คํ–‰ ํŒŒ์ผ์ด ์•„๋‹Œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(dll)์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์—
"gij" ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ํ˜ธ์ถœํ•˜์—ฌ "gij"๊ฐ€
ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.

* "main" ๋ฃจํ‹ด์—์„œ ๋งํฌ๋˜๋Š” "-lgij" ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Java ํŒจํ‚ค์ง€๋ฅผ ๋งํฌํ•ฉ๋‹ˆ๋‹ค.
"gij" ๋ช…๋ น์—์„œ. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด "main" ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋Š” ํด๋ž˜์Šค๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ "gij" ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
"-D" ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†์„ฑ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. "gij"๊ฐ€ ์•„๋‹Œ "-lgij" ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ
์ด์ „ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ํ”„๋กœ๊ทธ๋žจ)์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ •์ 
์—ฐ๊ฒฐํ•˜๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ "gij" ์˜ต์…˜์€ ์‹คํ–‰ ํŒŒ์ผ ์—ฐ๊ฒฐ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

--๋ฉ”์ธ=ํด๋ž˜์Šค ์ด๋ฆ„
์ด ์˜ต์…˜์€ "main" ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋Š” ํด๋ž˜์Šค์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋งํฌํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๊ฒฐ๊ณผ ์‹คํ–‰ ํŒŒ์ผ์ด ์‹คํ–‰๋  ๋•Œ ํ˜ธ์ถœ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

-Dname[=๊ฐ€์น˜]
์ด ์˜ต์…˜์€ "--main"๊ณผ ํ•จ๊ป˜๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ช…๋œ ์‹œ์Šคํ…œ ์†์„ฑ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. name
๊ฐ€์น˜์žˆ๋Š” ๊ฐ€์น˜. ๋ฉด ๊ฐ€์น˜ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์€ ๋นˆ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ ์†์„ฑ์€ ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘ ์‹œ ์ดˆ๊ธฐํ™”๋˜๋ฉฐ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
"java.lang.System.getProperty" ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Ÿฐํƒ€์ž„์—.

-lgij
๋ช…๋ น์ค„ ์ฒ˜๋ฆฌ๊ฐ€ "gij" ๋ช…๋ น์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ "--main"์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

-์ •์ -libgcj
์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด libgcj ๋Ÿฐํƒ€์ž„์˜ ์ •์  ๋ฒ„์ „์— ๋Œ€ํ•ด ๋งํฌ๊ฐ€ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
๋„์„œ๊ด€. ์ด ์˜ต์…˜์€ ํ•ด๋‹น ๋ง์ปค ์ง€์›์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์˜: libgcj์˜ ์ •์  ๋งํฌ๋กœ ์ธํ•ด libgcj์˜ ํ•„์ˆ˜ ๋ถ€๋ถ„์ด ์ƒ๋žต๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
libgcj์˜ ์ผ๋ถ€๋Š” ๋Ÿฐํƒ€์ž„์— ํด๋ž˜์Šค๋ฅผ ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด ๋ฆฌํ”Œ๋ ‰์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ง์ปค๊ฐ€ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
๋งํฌ ํƒ€์ž„์— ์ด๋Ÿฌํ•œ ์ฐธ์กฐ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฉด ์ฐธ์กฐ๋œ ํด๋ž˜์Šค๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NS
๊ฒฐ๊ณผ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ(ํ•ญ์ƒ ๊ทธ๋Ÿฐ ๊ฒƒ์€ ์•„๋‹˜) ๋Ÿฐํƒ€์ž„์— "ClassNotFoundException"์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
<http://gcc.gnu.org/wiki/Statically%20์—ฐ๊ฒฐ%20libgcj>

์•”ํ˜ธ ์„ธ๋Œ€
๋งŽ์€ ๊ฒƒ ์™ธ์—๋„ GCC ์ฝ”๋“œ ์ƒ์„ฑ์„ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹์˜ต์…˜, gcj ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค
๊ทธ ์ž์ฒด๋กœ ํŠน์ •.

-C ์ด ์˜ต์…˜์€ gcj ๋ฐ”์ดํŠธ์ฝ”๋“œ ์ƒ์„ฑ(.์ˆ˜์—… ํŒŒ์ผ) ๋Œ€์‹  ๊ฐœ์ฒด
์•”ํ˜ธ.

--์ž์› ๋ฆฌ์†Œ์Šค ์ด๋ฆ„
์ด ์˜ต์…˜์€ gcj ์ฃผ์–ด์ง„ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๊ฐ์ฒด ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ
๋”ฐ๋ผ์„œ ํ•ต์‹ฌ ํ”„๋กœํ† ์ฝœ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Ÿฐํƒ€์ž„์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌ:/์ž์›-
name. ๊ทธ ์ฃผ ๋ฆฌ์†Œ์Šค ์ด๋ฆ„ ๋Ÿฐํƒ€์ž„์— ๋ฐœ๊ฒฌ๋œ ๋ฆฌ์†Œ์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ~์„์œ„ํ•œ
์˜ˆ๋ฅผ ๋“ค์–ด "ResourceBundle.getBundle" ํ˜ธ์ถœ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ํŒŒ์ผ
์ด ๋ฐฉ๋ฒ•์œผ๋กœ ์ปดํŒŒ์ผํ•  ์ด๋ฆ„์€ ๋ณ„๋„๋กœ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

-ftarget=๋ฒ„์ „
์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -C ์—์„œ ๋‚ด๋ณด๋‚ธ ๋ฐ”์ดํŠธ์ฝ”๋“œ์˜ ๋ฒ„์ „์„ ์„ ํƒํ•˜๋ ค๋ฉด gcj. ๊ทธ๋งŒํผ
๊ธฐ๋ณธ๊ฐ’์€ 1.5. ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” ์ด ์˜ต์…˜์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-d ์˜ˆ๋ฐฐ ๊ทœ์น™์„œ
"-C"์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ์ƒ์„ฑ .์ˆ˜์—… ์— ๋„ฃ์„ ํŒŒ์ผ
์ ์ ˆํ•œ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ ์˜ˆ๋ฐฐ ๊ทœ์น™์„œ. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์˜

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

-fno-์Šคํ† ์–ด-์ฒดํฌ
์–ด๋ ˆ์ด ์ €์žฅ์†Œ ๊ฒ€์‚ฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๊ฐ์ฒด๋ฅผ ๋ฐฐ์—ด์— ์ €์žฅํ•  ๋•Œ ๋Ÿฐํƒ€์ž„ ๊ฒ€์‚ฌ
๊ฐ์ฒด๊ฐ€ ๋‹ค์Œ๊ณผ ํ• ๋‹น ํ˜ธํ™˜๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
๋ฐฐ์—ด์˜ ๊ตฌ์„ฑ ์š”์†Œ ์œ ํ˜•(์ปดํŒŒ์ผ ์‹œ์—๋Š” ์•Œ ์ˆ˜ ์—†์Œ). ์ด๊ฒƒ์œผ๋กœ
์˜ต์…˜์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ฒ€์‚ฌ๊ฐ€ ์ƒ๋žต๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ์ฒด๋ฅผ ๋ฐฐ์—ด์— ์ž์ฃผ ๋„ฃ์Šต๋‹ˆ๋‹ค. ์ž์‹ ์ด ํ™•์‹คํ•˜๋‹ค๋ฉด ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.
์ฝ”๋“œ๋Š” "ArrayStoreException"์„ ๋˜์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-fjni
์™€ gcj ๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ”์„œ๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ๋Š” CNI์™€ JNI์˜ ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ
gcj CNI๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ž˜์Šค๋ฅผ ์ปดํŒŒ์ผํ•˜๋Š” ๊ฒฝ์šฐ
์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ JNI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋œ ๋‹ค์Œ "-fjni"๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜
์›์ธ gcj ๊ธฐ๋ณธ JNI ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ์Šคํ…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

-fno-assert
"assert" ํ‚ค์›Œ๋“œ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์–ธ์–ด ์‚ฌ์–‘์˜.

-fno-์ตœ์ ํ™”-์ •์ -ํด๋ž˜์Šค-์ดˆ๊ธฐํ™”
์ตœ์ ํ™” ์ˆ˜์ค€์ด "-O2"๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์„ ๋•Œ, gcj ์ตœ์ ํ™”๋ฅผ ์‹œ๋„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค
๋Ÿฐํƒ€์ž„์— ๋Œ€ํ•œ ํ˜ธ์ถœ์ด ์ฒ˜์Œ ์‚ฌ์šฉํ•  ๋•Œ ์ •์  ํด๋ž˜์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ์‹
(์ด ์ตœ์ ํ™”๋Š” "-C"๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.) ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ์ปดํŒŒ์ผํ•  ๋•Œ
์ฝ”๋“œ "-fno-optimize-static-class-initialization"์€ ์ด ์ตœ์ ํ™”๋ฅผ ๋•๋‹ˆ๋‹ค.
์‚ฌ์šฉ ์ค‘์ธ ์ตœ์ ํ™” ์ˆ˜์ค€์— ๊ด€๊ณ„์—†์ด

--๋น„ํ™œ์„ฑํ™” ์ฃผ์žฅ[=ํด๋ž˜์Šค ๋˜๋Š” ํŒจํ‚ค์ง€]
์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ์— ์–ด์„ค์…˜์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋งŒ์•ฝ์—
"=ํด๋ž˜์Šค ๋˜๋Š” ํŒจํ‚ค์ง€" ๋ˆ„๋ฝ์€ ๋ชจ๋“  ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์–ด์„ค์…˜ ์ฝ”๋“œ ์ƒ์„ฑ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
๋” ๊ตฌ์ฒด์ ์ธ "--enable-assertions" ํ”Œ๋ž˜๊ทธ๋กœ ์žฌ์ •์˜๋˜์ง€ ์•Š๋Š” ํ•œ. ๋งŒ์•ฝ์— ํด๋ž˜์Šค ๋˜๋Š” ํŒจํ‚ค์ง€
๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์ด๋ฉฐ, ๋ช…๋ช…๋œ ํด๋ž˜์Šค ๋‚ด์—์„œ ์–ด์„ค์…˜ ๊ฒ€์‚ฌ ์ƒ์„ฑ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜
๋‚ด๋ถ€ ํด๋ž˜์Šค. ๋งŒ์•ฝ์— ํด๋ž˜์Šค ๋˜๋Š” ํŒจํ‚ค์ง€ ๋Š” ํŒจํ‚ค์ง€ ์ด๋ฆ„์ด๋ฉฐ ์ƒ์„ฑ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
์–ด์„ค์…˜์€ ๋ช…๋ช…๋œ ํŒจํ‚ค์ง€ ๋˜๋Š” ํ•˜์œ„ ํŒจํ‚ค์ง€ ๋‚ด์—์„œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์–ด์„ค์…˜์€ ํด๋ž˜์Šค ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ตœ์ ํ™”ํ•˜์ง€ ์•Š์„ ๋•Œ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
์ตœ์ ํ™”๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

--์–ด์„ค์…˜ ํ™œ์„ฑํ™”[=ํด๋ž˜์Šค ๋˜๋Š” ํŒจํ‚ค์ง€]
์ฃผ์žฅ์„ ํ™•์ธํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ํ•„์š”ํ•˜๋ฏ€๋กœ ์˜ต์…˜์˜ ์ด๋ฆ„์ด ์ž˜๋ชป๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋Ÿฐํƒ€์ž„์— ์–ด์„ค์…˜ ๊ฒ€์‚ฌ๋ฅผ ์ผœ๊ณ  ์šฐ๋ฆฌ๋Š” ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ €๊ฒƒ. ๋”ฐ๋ผ์„œ ์ด ํ”Œ๋ž˜๊ทธ๋Š” ๋ถ€๋ถ„์ ์œผ๋กœ ์žฌ์ •์˜ํ•˜๋Š” ๊ฒƒ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์•„์ง ๊ทธ๋‹ค์ง€ ์œ ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
"--disable-assertions".

-findirect-๋””์ŠคํŒจ์น˜
gcj ํŠน๋ณ„ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜ธํ™˜์„ฑ ABI๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
"-findirect-dispatch" ์˜ต์…˜. ์ด ๋ชจ๋“œ์—์„œ ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋Š” gcj ๋ช…์˜ˆ
Java ์–ธ์–ด ์‚ฌ์–‘์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜ธํ™˜์„ฑ ๋ณด์žฅ ๋ฐ ๊ทธ ๊ฒฐ๊ณผ
๊ฐœ์ฒด ํŒŒ์ผ์€ ์ข…์†์„ฑ์— ๋Œ€ํ•ด ์ง์ ‘ ์—ฐ๊ฒฐํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ ์—,
๋ชจ๋“  ์ข…์†์„ฑ์€ ๋Ÿฐํƒ€์ž„์— ์กฐํšŒ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ•ด์„ ๋ฐ
์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ.

ํ˜„์žฌ "-findirect-dispatch"๋Š” ์ปดํŒŒ์ผํ•  ๋•Œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. .์ˆ˜์—…
ํŒŒ์ผ. ์†Œ์Šค์—์„œ ์ปดํŒŒ์ผํ•  ๋•Œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. CNI๋Š” ์•„์ง ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜ธํ™˜์„ฑ ABI. ์ด๋Ÿฌํ•œ ์ œํ•œ์€ ํ–ฅํ›„์— ํ•ด์ œ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
๋†“์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ‘œ์ค€ ABI๋กœ CNI ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๋ฉด ์ฝ”๋“œ์—์„œ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜ธํ™˜์„ฑ ABI๋กœ ๊ตฌ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

-fbootstrap-ํด๋ž˜์Šค
์ด ์˜ต์…˜์€ "libgcj"์—๊ฒŒ ์ปดํŒŒ์ผ๋œ ํด๋ž˜์Šค๊ฐ€ ๋กœ๋“œ๋˜์–ด์•ผ ํ•จ์„ ์•Œ๋ฆฌ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‹œ์Šคํ…œ ํด๋ž˜์Šค ๋กœ๋”๊ฐ€ ์•„๋‹ˆ๋ผ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋กœ๋”์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋ž˜์Šค๋ฅผ ์ปดํŒŒ์ผํ•˜๋ฉด
์‹คํ–‰ ํŒŒ์ผ์— ๋งํฌํ•˜๋ฉด ๋งˆ์น˜ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋“œ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
์‹œ์Šคํ…œ ํด๋ž˜์Šค ๋กœ๋”. ์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
"Class.forName()"์ด ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค ํŒจ์Šค ์›ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด

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

๋ฆฌํ”Œ๋ ‰์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ(์˜ˆ: ์ง๋ ฌํ™”, RMI, CORBA ๋˜๋Š” ํ˜ธ์ถœ ๋ฉ”์„œ๋“œ)
"java.lang.reflect" ํŒจํ‚ค์ง€์—์„œ) "-freduced-reflection"์€ ์ ์ ˆํ•œ
์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ์ž‘์—….

JNI("-fjni") ๋ฐ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜ธํ™˜์„ฑ ABI("-findirect-dispatch")๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ
์ „์ฒด ๋ฐ˜์‚ฌ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์—†์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ. ์ด ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์˜ต์…˜์€ "-freduced-reflection"๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ฃผ์˜: ๋ฆฌํ”Œ๋ ‰์…˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด "SecurityManager"๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ๊ฐ€
์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ˜ธ์ถœํ•˜๋Š” ๋ฉ”์„œ๋“œ์— "Class.forName()" ํ˜ธ์ถœ์ด ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
๋ฐ˜์‚ฌ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ์‹œ๊ฐ„ ์˜ต์…˜
์ผ๋ถ€ gcj ์ฝ”๋“œ ์ƒ์„ฑ ์˜ต์…˜์€ ๊ฒฐ๊ณผ ABI์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฏ€๋กœ
๋Ÿฐํƒ€์ž„ ํŒจํ‚ค์ง€์ธ "libgcj"๊ฐ€ ์„ค์ •๋  ๋•Œ ์˜๋ฏธ์žˆ๊ฒŒ ์ฃผ์–ด์ง„๋‹ค. "libgcj"๋Š”
์ด ๊ทธ๋ฃน์—์„œ ์ ์ ˆํ•œ ์˜ต์…˜์„ ํˆฌ๊ธฐ ์—์„œ ์ฝ๋Š” ํŒŒ์ผ gcj. ์ด๋Ÿฌํ•œ ์˜ต์…˜
์™„์ „์„ฑ์„ ์œ„ํ•ด ์—ฌ๊ธฐ์— ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. "libgcj"๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋งŒ์ง€๊ณ  ์‹ถ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์˜ต์…˜.

-ํ“จ์ฆˆ-boehm-gc
์ด๋ฅผ ํ†ตํ•ด Boehm GC ๋น„ํŠธ๋งต ๋งˆํ‚น ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ด๋กœ ์ธํ•ด
gcj ๊ฐ์ฒด ํ‘œ์‹œ ์„ค๋ช…์ž๋ฅผ ๊ฐ vtable์— ๋„ฃ์Šต๋‹ˆ๋‹ค.

-fhash ๋™๊ธฐํ™”
๊ธฐ๋ณธ์ ์œผ๋กœ ๋™๊ธฐํ™” ๋ฐ์ดํ„ฐ("๋™๊ธฐํ™”", "๋Œ€๊ธฐ" ๋ฐ
"notify")๋Š” ๊ฐ ๊ฐ์ฒด์˜ ๋‹จ์–ด๋กœ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์œผ๋กœ gcj ๊ทธ๊ฒƒ์„ ๊ฐ€์ •
์ด ์ •๋ณด๋Š” ๊ฐ์ฒด ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ํ•ด์‹œ ํ…Œ์ด๋ธ”์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

-fuse-divide-์„œ๋ธŒ๋ฃจํ‹ด
์ผ๋ถ€ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ •์ˆ˜ ๋‚˜๋ˆ„๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฃจํ‹ด์ด ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€
XNUMX์œผ๋กœ ๋‚˜๋ˆŒ ๋•Œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

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

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

onworks.net ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜จ๋ผ์ธ์œผ๋กœ mips64-linux-gnuabi64-gcj ์‚ฌ์šฉ


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

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

Linux ๋ช…๋ น

  • 1
    aa-ํด๋ฆญ ์ฟผ๋ฆฌ
    aa-ํด๋ฆญ ์ฟผ๋ฆฌ
    aa-clickquery - ์ฟผ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ
    click-apparmor ์„ค๋ช…: ์ด ํ”„๋กœ๊ทธ๋žจ
    click-apparmor๋ฅผ ์ฟผ๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
    ์ •๋ณด. ์‚ฌ์šฉ๋ฒ•: aa-clickquery
    --ํด๋ฆญ-ํ”„๋ผ...
    aa-clickquery ์‹คํ–‰
  • 2
    aa-exec-ํด๋ฆญ
    aa-exec-ํด๋ฆญ
    aa-exec-click - ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ
    ๊ฐ๊ธˆ๋œ ํŒจํ‚ค์ง€ ํด๋ฆญ
    ์„ค๋ช…: ์ด ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
    AppArmor์—์„œ ํด๋ฆญ ํŒจํ‚ค์ง€ ์‹คํ–‰
    ์ œํ•œ. ๋‚˜...
    aa-exec-click ์‹คํ–‰
  • 3
    ์ฝ”์–ด์„ผ๋“œmsg
    ์ฝ”์–ด์„ผ๋“œmsg
    coresendmsg - CORE API ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ
    ์ฝ”์–ด ๋ฐ๋ชฌ ๋ฐ๋ชฌ์œผ๋กœ ...
    coresendmsg ์‹คํ–‰
  • 4
    core_server
    core_server
    core_server - ๊ธฐ๋ณธ ์„œ๋ฒ„
    SpamBayes. ์„ค๋ช…: ํ˜„์žฌ ์„œ๋น„์Šค ์ค‘
    ์›น ์ธํ„ฐํŽ˜์ด์Šค๋งŒ. ์—ฐ๊ฒฐ
    ๋‹ค์–‘ํ•œ ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ๋ฆฌ์Šค๋„ˆ๋Š” ๋ฏธ์ •์ž…๋‹ˆ๋‹ค.
    ์ด๊ฑด ...
    core_server ์‹คํ–‰
  • 5
    Gappletviewer-4.8
    Gappletviewer-4.8
    gappletviewer - ์• ํ”Œ๋ฆฟ ๋กœ๋“œ ๋ฐ ์‹คํ–‰
    ...
    gappletviewer-4.8 ์‹คํ–‰
  • 6
    Gappletviewer-4.9
    Gappletviewer-4.9
    gappletviewer - ์• ํ”Œ๋ฆฟ ๋กœ๋“œ ๋ฐ ์‹คํ–‰
    ...
    gappletviewer-4.9 ์‹คํ–‰
  • ๋”ยป

Ad