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

Ad


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

mips-linux-gnu-ld - ํด๋ผ์šฐ๋“œ์˜ ์˜จ๋ผ์ธ

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

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

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

์ด๋ฆ„


ld - GNU ๋ง์ปค

๊ฐœ์š”


ld [์˜ต์…˜] ๊ฐœ์ฒด ํŒŒ์ผ ...

๊ธฐ์ˆ 


ld ์—ฌ๋Ÿฌ ๊ฐœ์ฒด ๋ฐ ์•„์นด์ด๋ธŒ ํŒŒ์ผ์„ ๊ฒฐํ•ฉํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜๊ณ  ๊ธฐํ˜ธ๋ฅผ ๋ฌถ์Šต๋‹ˆ๋‹ค.
์ฐธ์กฐ. ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ ์ปดํŒŒ์ผ์˜ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ld.

ld AT&T ๋งํฌ ํŽธ์ง‘๊ธฐ์˜ ์ƒ์œ„ ์ง‘ํ•ฉ์œผ๋กœ ์ž‘์„ฑ๋œ ๋ง์ปค ๋ช…๋ น ์–ธ์–ด ํŒŒ์ผ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
์—ฐ๊ฒฐ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋ช…์‹œ์ ์ด๊ณ  ์™„์ „ํ•œ ์ œ์–ด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ช…๋ น ์–ธ์–ด ๊ตฌ๋ฌธ.

์ด ๋งค๋‰ด์–ผ ํŽ˜์ด์ง€์—์„œ๋Š” ๋ช…๋ น ์–ธ์–ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณด๋‹ค ld ์ „์ฒด์— ๋Œ€ํ•œ "์ •๋ณด" ํ•ญ๋ชฉ
๋ช…๋ น ์–ธ์–ด ๋ฐ GNU ๋ง์ปค์˜ ๋‹ค๋ฅธ ์ธก๋ฉด์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด.

์ด ๋ฒ„์ „์˜ ld ๋ฒ”์šฉ BFD ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ์ฒด ํŒŒ์ผ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ
์ˆ˜ ld ๋‹ค์–‘ํ•œ ํ˜•์‹์˜ ๊ฐœ์ฒด ํŒŒ์ผ์„ ์ฝ๊ณ , ๊ฒฐํ•ฉํ•˜๊ณ , ์“ฐ๊ธฐ ์œ„ํ•ด ---
์˜ˆ: COFF ๋˜๋Š” "a.out". ์„œ๋กœ ๋‹ค๋ฅธ ํ˜•์‹์„ ํ•จ๊ป˜ ์—ฐ๊ฒฐํ•˜์—ฌ
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ข…๋ฅ˜์˜ ๊ฐœ์ฒด ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

์œ ์—ฐ์„ฑ ์™ธ์—๋„ GNU ๋ง์ปค๋Š” ๋‹ค๋ฅธ ๋ง์ปค๋ณด๋‹ค
์ง„๋‹จ ์ •๋ณด. ๋งŽ์€ ๋ง์ปค๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ฆ‰์‹œ ์‹คํ–‰์„ ํฌ๊ธฐํ•ฉ๋‹ˆ๋‹ค.
์˜ค๋ฅ˜; ์–ธ์ œ๋“ ์ง€ ๊ฐ€๋Šฅํ•  ๋•Œ, ld ๊ณ„์† ์‹คํ–‰ํ•˜์—ฌ ๋‹ค๋ฅธ ์˜ค๋ฅ˜๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
(๋˜๋Š” ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์˜ค๋ฅ˜์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ถœ๋ ฅ ํŒŒ์ผ์„ ์–ป๊ธฐ ์œ„ํ•ด).

GNU ๋ง์ปค ld ๊ด‘๋ฒ”์œ„ํ•œ ์ƒํ™ฉ์„ ํฌ๊ด„ํ•˜๊ณ  ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ๋ง์ปค์™€ ๊ฐ€๋Šฅํ•œ ํ•œ. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ์„ ํƒ๊ถŒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
ํ–‰๋™.

์˜ต์…˜


๋ง์ปค๋Š” ์ˆ˜๋งŽ์€ ๋ช…๋ น์ค„ ์˜ต์…˜์„ ์ง€์›ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ทธ ์ค‘ ๋ช‡ ๊ฐ€์ง€๊ฐ€
ํŠน์ • ์ปจํ…์ŠคํŠธ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ld ๋งํฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค
์ง€์›๋˜๋Š” ํ‘œ์ค€ Unix ์‹œ์Šคํ…œ์˜ ํ‘œ์ค€ Unix ๊ฐœ์ฒด ํŒŒ์ผ. ๊ทธ๋Ÿฌํ•œ ์‹œ์Šคํ…œ์—์„œ,
"hello.o" ํŒŒ์ผ ๋งํฌ:

ld-o /lib/crt0.o hello.o -lc

์ด๊ฒƒ์€ ๋งํ•œ๋‹ค ld ๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ถœ๋ ฅ ํŒŒ์ผ์„ ๋งํฌํ•œ ๊ฒฐ๊ณผ
"/lib/crt0.o"์™€ "hello.o" ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ "libc.a"(ํ‘œ์ค€์—์„œ ๊ฐ€์ ธ์˜ด)
๊ฒ€์ƒ‰ ๋””๋ ‰ํ† ๋ฆฌ. (์˜ ํ† ๋ก  ์ฐธ์กฐ -l ์•„๋ž˜ ์˜ต์…˜.)

๋ช‡ ๊ฐ€์ง€ ๋ช…๋ น์ค„ ์˜ต์…˜์€ ld ๋ช…๋ น์ค„์˜ ์–ด๋Š ์ง€์ ์—์„œ๋‚˜ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜๋Š” ์˜ต์…˜์€ -l or -T, ํŒŒ์ผ์„ ๋‹ค์Œ ์œ„์น˜์—์„œ ์ฝ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
๊ฐœ์ฒด ํŒŒ์ผ๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋ช…๋ น์ค„์— ์˜ต์…˜์ด ๋‚˜ํƒ€๋‚˜๋Š” ์ง€์ 
๋‹ค๋ฅธ ํŒŒ์ผ ์˜ต์…˜. ๋‹ค๋ฅธ ์ธ์ˆ˜๋กœ ํŒŒ์ผ์ด ์•„๋‹Œ ์˜ต์…˜์„ ๋ฐ˜๋ณตํ•˜๋ฉด
๋” ์ด์ƒ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ด์ „ ๋ฐœ์ƒ์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค(๋ช…๋ น์—์„œ ๋” ์™ผ์ชฝ์— ์žˆ๋Š” ํ•ญ๋ชฉ
ํ•ด๋‹น ์˜ต์…˜์˜ ์ค„). ์˜๋ฏธ ์žˆ๊ฒŒ ๋‘ ๋ฒˆ ์ด์ƒ ์ง€์ •๋  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์•„๋ž˜ ์„ค๋ช…์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ต์…˜์ด ์•„๋‹Œ ์ธ์ˆ˜๋Š” ํ•จ๊ป˜ ๋งํฌ๋  ์˜ค๋ธŒ์ ํŠธ ํŒŒ์ผ ๋˜๋Š” ์•„์นด์ด๋ธŒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค
๊ฐœ์ฒด ํŒŒ์ผ์ด
์ธ์ˆ˜๋Š” ์˜ต์…˜๊ณผ ํ•ด๋‹น ์ธ์ˆ˜ ์‚ฌ์ด์— ๋‘˜ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ๋ง์ปค๋Š” ์ ์–ด๋„ ํ•˜๋‚˜์˜ ๊ฐœ์ฒด ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ํ˜ธ์ถœ๋˜์ง€๋งŒ ๋‹ค๋ฅธ ๊ฐœ์ฒด ํŒŒ์ผ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ์ž…๋ ฅ ํŒŒ์ผ ํ˜•์‹ -l, -R, ์Šคํฌ๋ฆฝํŠธ ๋ช…๋ น ์–ธ์–ด. ๋งŒ์•ฝ์— ์•„๋‹ˆ ์ง„
์ž…๋ ฅ ํŒŒ์ผ์ด ์ „ํ˜€ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ง์ปค๋Š” ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜์ง€ ์•Š์œผ๋ฉฐ
๋ฉ”์‹œ์ง€ ์•„๋‹ˆ ์ž…๋ ฅ ํŒŒ์ผ.

๋ง์ปค๊ฐ€ ๊ฐœ์ฒด ํŒŒ์ผ์˜ ํ˜•์‹์„ ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ
๋ง์ปค ์Šคํฌ๋ฆฝํŠธ. ์ด ๋ฐฉ๋ฒ•์œผ๋กœ ์ง€์ •๋œ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์Œ์— ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ณด๊ฐ•ํ•ฉ๋‹ˆ๋‹ค.
๋งํฌ(๊ธฐ๋ณธ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ ๋˜๋Š” -T). ์ด
์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ง์ปค๊ฐ€ ๊ฐœ์ฒด ๋˜๋Š”
์•„์นด์ด๋ธŒํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์ผ๋ถ€ ๊ธฐํ˜ธ ๊ฐ’์„ ์ •์˜ํ•˜๊ฑฐ๋‚˜ "INPUT" ๋˜๋Š” "GROUP"์„ ์‚ฌ์šฉํ•˜์—ฌ
๋‹ค๋ฅธ ๊ฐœ์ฒด๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋‹จ์ˆœํžˆ ๋ฉ”์ธ ๋ง์ปค๋ฅผ ๋ณด๊ฐ•ํ•  ๋ฟ์ž…๋‹ˆ๋‹ค.
์Šคํฌ๋ฆฝํŠธ, ๊ธฐ๋ณธ ์Šคํฌ๋ฆฝํŠธ ๋’ค์— ์ถ”๊ฐ€ ๋ช…๋ น์ด ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ -T ๊ต์ฒด ์˜ต์…˜
๊ธฐ๋ณธ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์™„์ „ํžˆ ์‚ฌ์šฉํ•˜์ง€๋งŒ "INSERT" ๋ช…๋ น์˜ ํšจ๊ณผ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค.

์ด๋ฆ„์ด ๋‹จ์ผ ๋ฌธ์ž์ธ ์˜ต์…˜์˜ ๊ฒฝ์šฐ ์˜ต์…˜ ์ธ์ˆ˜๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ณต๋ฐฑ์ด ์—†๋Š” ์˜ต์…˜ ๋ฌธ์ž ๋˜๋Š” ๋ณ„๋„์˜ ์ธ์ˆ˜๋กœ ์ œ๊ณต
๊ทธ๊ฒƒ๋“ค์„ ํ•„์š”๋กœ ํ•˜๋Š” ์˜ต์…˜์„ ์ฆ‰์‹œ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

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

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

์ฐธ๊ณ  ---๋ง์ปค๊ฐ€ ์ปดํŒŒ์ผ๋Ÿฌ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ๊ฒฝ์šฐ(์˜ˆ: GCC) ๊ทธ ๋•Œ
๋ชจ๋“  ๋ง์ปค ๋ช…๋ น์ค„ ์˜ต์…˜์—๋Š” ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. -NS, (๋˜๋Š” ์ ์ ˆํ•œ
ํŠน์ • ์ปดํŒŒ์ผ๋Ÿฌ ๋“œ๋ผ์ด๋ฒ„์˜ ๊ฒฝ์šฐ) ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

gcc -Wl,--์‹œ์ž‘-๊ทธ๋ฃน foo.o bar.o -Wl,--end-group

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

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

๋‹ค์Œ์€ GNU ๋ง์ปค์—์„œ ํ—ˆ์šฉํ•˜๋Š” ์ผ๋ฐ˜ ๋ช…๋ น์ค„ ์Šค์œ„์น˜์˜ ํ‘œ์ž…๋‹ˆ๋‹ค.

@ํŒŒ์ผ
๋‹ค์Œ์—์„œ ๋ช…๋ น์ค„ ์˜ต์…˜ ์ฝ๊ธฐ ํŒŒ์ผ. ์ฝ์€ ์˜ต์…˜์€ ๋‹ค์Œ ์œ„์น˜์— ์‚ฝ์ž…๋ฉ๋‹ˆ๋‹ค.
์›๋ž˜์˜ @ํŒŒ์ผ ์˜ต์…˜. ๋งŒ์•ฝ์— ํŒŒ์ผ ์กด์žฌํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ฝ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์˜ต์…˜
๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋˜๋ฉฐ ์ œ๊ฑฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ต์…˜ ํŒŒ์ผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ๊ณต๋ฐฑ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ต์…˜์—์„œ ์ „์ฒด ์˜ต์…˜์„ ์ž‘์€๋”ฐ์˜ดํ‘œ๋‚˜ ํฐ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์Šต๋‹ˆ๋‹ค. ์–ด๋Š
๋ฌธ์ž(๋ฐฑ์Šฌ๋ž˜์‹œ ํฌํ•จ)๋Š”
๋ฐฑ์Šฌ๋ž˜์‹œ์™€ ํ•จ๊ป˜ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. NS ํŒŒ์ผ ์ž์ฒด์— ์ถ”๊ฐ€ @๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ํŒŒ์ผ ์˜ต์…˜; ์–ด๋Š
์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ์žฌ๊ท€์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

-a ํ‚ค์›Œ๋“œ๋Š”
์ด ์˜ต์…˜์€ HP/UX ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์ง€์›๋ฉ๋‹ˆ๋‹ค. NS ํ‚ค์›Œ๋“œ๋Š” ์ธ์ˆ˜๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ฌธ์ž์—ด ์•„์นด์ด๋ธŒ, ๊ณต์œ ๋ฐ ๋””ํดํŠธ ๊ฐ’. -์•„์นด์ด๋ธŒ ๊ธฐ๋Šฅ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
-๋น„์ •์ , ๋‹ค๋ฅธ ๋‘ ํ‚ค์›Œ๋“œ๋Š” ๊ธฐ๋Šฅ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. -๋น„๋‹ค์ด๋‚˜๋ฏน. ์ด
์˜ต์…˜์€ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

--์‹ฌ์‚ฌ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค
์ถ”๊ฐ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๋™์  ์„น์…˜์˜ "DT_AUDIT" ํ•ญ๋ชฉ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ์ฒดํฌ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค
์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ง€์ •๋œ DT_SONAME๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ง€์ •๋œ ๊ฒฝ์šฐ
์—ฌ๋Ÿฌ ๋ฒˆ "DT_AUDIT"์—๋Š” ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๊ฐ์‚ฌ ์ธํ„ฐํŽ˜์ด์Šค ๋ชฉ๋ก์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉํ•˜๋‹ค. ๋ง์ปค๊ฐ€ ๊ณต์œ  ํ•ญ๋ชฉ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋™์•ˆ ๊ฐ์‚ฌ ํ•ญ๋ชฉ์ด ์žˆ๋Š” ๊ฐœ์ฒด๋ฅผ ์ฐพ์€ ๊ฒฝ์šฐ
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ฒฝ์šฐ ์ถœ๋ ฅ ํŒŒ์ผ์— ํ•ด๋‹น "DT_DEPAUDIT" ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ
์˜ต์…˜์€ rtld-audit ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง€์›ํ•˜๋Š” ELF ํ”Œ๋žซํผ์—์„œ๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

-A ์•„ํ‚คํ…์ฒ˜
--์•„ํ‚คํ…์ฒ˜=์•„ํ‚คํ…์ฒ˜
ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ld, ์ด ์˜ต์…˜์€ Intel 960 ์ œํ’ˆ๊ตฐ์—๋งŒ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
์•„ํ‚คํ…์ฒ˜. ๊ทธ ์•ˆ์— ld ๊ตฌ์„ฑ, ์•„ํ‚คํ…์ฒ˜ ์ธ์ˆ˜ ์‹๋ณ„
960 ์ œํ’ˆ๊ตฐ์˜ ํŠน์ • ์•„ํ‚คํ…์ฒ˜๋Š” ์ผ๋ถ€ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๊ณ 
์•„์นด์ด๋ธŒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ.

ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค ld ๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Œ
๊ฐ€์กฑ๋“ค.

-b ์ž…๋ ฅ ํ˜•์‹
--ํ˜•์‹=์ž…๋ ฅ ํ˜•์‹
ld ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๊ฐœ์ฒด ํŒŒ์ผ์„ ์ง€์›ํ•˜๋„๋ก ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋‹น์‹ ์˜ ld is
์ด ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌ์„ฑํ•˜๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -b ์ž…๋ ฅ์— ๋Œ€ํ•œ ์ด์ง„ ํ˜•์‹์„ ์ง€์ •ํ•˜๋Š” ์˜ต์…˜
๋ช…๋ น์ค„์—์„œ ์ด ์˜ต์…˜ ๋’ค์— ์˜ค๋Š” ๊ฐœ์ฒด ํŒŒ์ผ. ๊ฒฝ์šฐ์—๋„ ld ๊ตฌ์„ฑ
๋Œ€์ฒด ๊ฐ์ฒด ํ˜•์‹์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง€์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ld
๊ฐ ํ˜•์‹์—์„œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ํ˜•์‹์„ ๊ธฐ๋ณธ ์ž…๋ ฅ ํ˜•์‹์œผ๋กœ ์˜ˆ์ƒํ•˜๋„๋ก ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๊ณ„. ์ž…๋ ฅ ํ˜•์‹ ์ง€์›ํ•˜๋Š” ํŠน์ • ํ˜•์‹์˜ ์ด๋ฆ„์ธ ํ…์ŠคํŠธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
BFD ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. (๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์„ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด ๋คํ”„ -i.)

๋น„์ •์ƒ์ ์ธ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ํŒŒ์ผ์„ ๋งํฌํ•˜๋Š” ๊ฒฝ์šฐ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฒด์žฌ. ๋‹น์‹ ์€ ๋˜ํ•œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค -b ํ˜•์‹์„ ๋ช…์‹œ์ ์œผ๋กœ ์ „ํ™˜ํ•˜๋ ค๋ฉด(๊ฐ์ฒด ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•  ๋•Œ
๋‹ค์–‘ํ•œ ํ˜•์‹) ํฌํ•จํ•˜์—ฌ -b ์ž…๋ ฅ ํ˜•์‹ ๊ฐ ๊ฐœ์ฒด ํŒŒ์ผ ๊ทธ๋ฃน ์•ž์—
ํŠน์ • ํ˜•์‹์œผ๋กœ.

๊ธฐ๋ณธ ํ˜•์‹์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ "GNUTARGET"์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

"TARGET" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ž…๋ ฅ ํ˜•์‹์„ ์ •์˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

-c MRI ๋ช…๋ น ํŒŒ์ผ
--mri ์Šคํฌ๋ฆฝํŠธ=MRI ๋ช…๋ น ํŒŒ์ผ
MRI๋กœ ์ƒ์„ฑ๋œ ๋ง์ปค์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด, ld ์— ์ž‘์„ฑ๋œ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
MRI ํ˜ธํ™˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์— ์„ค๋ช…๋œ ์ œํ•œ๋œ ๋Œ€์ฒด ๋ช…๋ น ์–ธ์–ด
GNU ld ๋ฌธ์„œ์˜ ์„น์…˜. ์˜ต์…˜์ด ์žˆ๋Š” MRI ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์†Œ๊ฐœ -c; ์‚ฌ์šฉํ•˜๋‹ค
์ „์—, -T ๋ฒ”์šฉ์œผ๋กœ ์ž‘์„ฑ๋œ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์˜ต์…˜ ld ์Šคํฌ๋ฆฝํŒ…
์–ธ์–ด. ๋งŒ์•ฝ์— MRI cmdfile ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค, ld ์ง€์ •๋œ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ฐพ์Šต๋‹ˆ๋‹ค.
๋ˆ„๊ตฌ๋“ ์ง€ -L ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

-d
-dc
-dp ์ด ์„ธ ๊ฐ€์ง€ ์˜ต์…˜์€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ ํ˜•์‹์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ๋ง์ปค์™€ ํ•จ๊ป˜. ์žฌ๋ฐฐ์น˜ ๊ฐ€๋Šฅํ•œ ์ถœ๋ ฅ์ด ์žˆ๋”๋ผ๋„ ๊ณตํ†ต ๊ธฐํ˜ธ์— ๊ณต๊ฐ„์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
ํŒŒ์ผ์ด ์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค( -r). ์Šคํฌ๋ฆฝํŠธ ๋ช…๋ น "FORCE_COMMON_ALLOCATION"์—๋Š”
๊ฐ™์€ ํšจ๊ณผ.

--deaudit ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค
-P ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค
์ถ”๊ฐ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๋™์  ์„น์…˜์˜ "DT_DEPAUDIT" ํ•ญ๋ชฉ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
์กด์žฌ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ง€์ •๋œ DT_SONAME์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ์—
์—ฌ๋Ÿฌ ๋ฒˆ ์ง€์ • "DT_DEPAUDIT"์—๋Š” ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๊ฐ์‚ฌ ๋ชฉ๋ก์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉํ•  ์ธํ„ฐํŽ˜์ด์Šค. ์ด ์˜ต์…˜์€ ๋‹ค์Œ์„ ์ง€์›ํ•˜๋Š” ELF ํ”Œ๋žซํผ์—์„œ๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
rtld-audit ์ธํ„ฐํŽ˜์ด์Šค. -P ์˜ต์…˜์€ Solaris ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

-e ํ•ญ๋ชฉ
--ํ•ญ๋ชฉ=ํ•ญ๋ชฉ
ํ•ญ๋ชฉ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…์‹œ์  ๊ธฐํ˜ธ๋กœ
๊ธฐ๋ณธ ์ง„์ž…์ . ๋ช…๋ช…๋œ ๊ธฐํ˜ธ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ํ•ญ๋ชฉ, ๋ง์ปค๋Š”
ํ•ด์„ํ•˜๋‹ค ํ•ญ๋ชฉ ์ˆซ์ž๋กœ ์ž…๋ ฅํ•˜๊ณ  ์ด๋ฅผ ์ž…๋ ฅ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(์ˆซ์ž๋Š”
10์ง„๋ฒ•์œผ๋กœ ํ•ด์„๋จ; ๋‹น์‹ ์€ ์„ ํ–‰์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค 0x 16์ง„๋ฒ• ๋˜๋Š” ์„ ํ–‰ 0 ๋ฒ ์ด์Šค์šฉ
8).

--์ œ์™ธ-libs lib,lib, ...
๊ธฐํ˜ธ๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์ง€ ์•Š์•„์•ผ ํ•˜๋Š” ์•„์นด์ด๋ธŒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชฉ๋ก์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
์ˆ˜์ถœ. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋ฆ„์€ ์‰ผํ‘œ ๋˜๋Š” ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์ •
"--exclude-libs ALL"์€ ์ž๋™ ๋‚ด๋ณด๋‚ด๊ธฐ์—์„œ ๋ชจ๋“  ์•„์นด์ด๋ธŒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ธฐํ˜ธ๋ฅผ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ ๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ ๋ฐ ELF์—๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋Œ€์ƒ ํฌํŠธ. i386 PE์˜ ๊ฒฝ์šฐ .def ํŒŒ์ผ์— ๋ช…์‹œ์ ์œผ๋กœ ๋‚˜์—ด๋œ ๊ธฐํ˜ธ๋Š” ์—ฌ์ „ํžˆ
์ด ์˜ต์…˜์— ๊ด€๊ณ„์—†์ด ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค. ELF ๋Œ€์ƒ ํฌํŠธ์˜ ๊ฒฝ์šฐ ์ด ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ธฐํ˜ธ
์˜ต์…˜์€ ์ˆจ๊น€์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

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

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

์ด ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ --๋‚ด๋ณด๋‚ด๊ธฐ-๋™์  ์—†์Œ ~์— ๋Œ€ํ•œ ์˜ต์…˜
๊ธฐ๋ณธ ๋™์ž‘ ๋ณต์›), ๋™์  ๊ธฐํ˜ธ ํ…Œ์ด๋ธ”์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ ํ•ญ๋ชฉ๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
๋งํฌ์— ์–ธ๊ธ‰๋œ ์ผ๋ถ€ ๋™์  ๊ฐœ์ฒด์—์„œ ์ฐธ์กฐํ•˜๋Š” ๊ธฐํ˜ธ์ž…๋‹ˆ๋‹ค.

"dlopen"์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐํ˜ธ๋ฅผ ๋‹ค์‹œ ์ฐธ์กฐํ•ด์•ผ ํ•˜๋Š” ๋™์  ๊ฐœ์ฒด๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ฒฝ์šฐ
๋‹ค๋ฅธ ๋™์  ๊ฐœ์ฒด๊ฐ€ ์•„๋‹Œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ •์˜ํ•œ ๊ฒฝ์šฐ
ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

์ด ์˜ต์…˜์€ ELF ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค. PE ๋ชฉํ‘œ๋Š” ์œ ์‚ฌํ•œ ์ง€์›
DLL ๋˜๋Š” EXE์—์„œ ๋ชจ๋“  ๊ธฐํ˜ธ๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ; ์˜ ์„ค๋ช…์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค
--๋‚ด๋ณด๋‚ด๊ธฐ-๋ชจ๋“  ๊ธฐํ˜ธ ์•„๋ž˜.

-EB ๋น… ์—”๋””์•ˆ ๊ฐœ์ฒด๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ๋ณธ ์ถœ๋ ฅ ํ˜•์‹์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.

-์—˜์ž ๋ฆฌํ‹€ ์—”๋””์•ˆ ๊ฐœ์ฒด๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ๋ณธ ์ถœ๋ ฅ ํ˜•์‹์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.

-f name
--๋ณด์กฐ=name
ELF ๊ณต์œ  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‚ด๋ถ€ DT_AUXILIARY ํ•„๋“œ๋ฅผ
์ง€์ •๋œ ์ด๋ฆ„. ์ด๊ฒƒ์€ ๋™์  ๋ง์ปค์—๊ฒŒ ๊ณต์œ ๋œ ์‹ฌ๋ณผ ํ…Œ์ด๋ธ”์ด
๊ฐ์ฒด๋Š” ๊ณต์œ  ๊ฐ์ฒด์˜ ์‹ฌ๋ณผ ํ…Œ์ด๋ธ”์—์„œ ๋ณด์กฐ ํ•„ํ„ฐ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
name.

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

์ด ์˜ต์…˜์€ ๋‘ ๋ฒˆ ์ด์ƒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DT_AUXILIARY ํ•ญ๋ชฉ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
๋ช…๋ น์ค„์— ๋‚˜ํƒ€๋‚˜๋Š” ์ˆœ์„œ๋Œ€๋กœ.

-F name
--ํ•„ํ„ฐ=name
ELF ๊ณต์œ  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‚ด๋ถ€ DT_FILTER ํ•„๋“œ๋ฅผ ์ง€์ •๋œ
์ด๋ฆ„. ์ด๊ฒƒ์€ ๋™์  ๋ง์ปค์—๊ฒŒ ๊ณต์œ  ๊ฐ์ฒด์˜ ์‹ฌ๋ณผ ํ…Œ์ด๋ธ”์ด
์ƒ์„ฑ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์€ ๊ณต์œ  ๊ฐ์ฒด์˜ ์‹ฌ๋ณผ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ํ•„ํ„ฐ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
name.

๋‚˜์ค‘์— ์ด ํ•„ํ„ฐ ๊ฐœ์ฒด์— ๋Œ€ํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ์—ฐ๊ฒฐํ•˜๋ฉด ๋‹ค์Œ์„ ์‹คํ–‰ํ•  ๋•Œ
ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋™์  ๋ง์ปค๋Š” DT_FILTER ํ•„๋“œ๋ฅผ ๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋™์  ๋ง์ปค๋Š”
ํ‰์†Œ์™€ ๊ฐ™์ด ํ•„ํ„ฐ ๊ฐœ์ฒด์˜ ๊ธฐํ˜ธ ํ…Œ์ด๋ธ”์— ๋”ฐ๋ผ ๊ธฐํ˜ธ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€๋งŒ
์‹ค์ œ๋กœ ๊ณต์œ  ๊ฐ์ฒด์—์„œ ์ฐพ์€ ์ •์˜์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. name. ๊ทธ๋ž˜์„œ
ํ•„ํ„ฐ ๊ฐœ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ์ฒด์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐํ˜ธ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
name.

์ผ๋ถ€ ์˜ค๋ž˜๋œ ๋ง์ปค๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. -F ์— ๋Œ€ํ•œ ์ปดํŒŒ์ผ ๋„๊ตฌ ์ฒด์ธ ์ „์ฒด์˜ ์˜ต์…˜
์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ๋ชฉ์  ํŒŒ์ผ ๋ชจ๋‘์— ๋Œ€ํ•ด ๋ชฉ์  ํŒŒ์ผ ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. GNU ๋ง์ปค
์ด ๋ชฉ์ ์„ ์œ„ํ•ด ๋‹ค๋ฅธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. -b, --์ฒด์žฌ, --oํ˜•์‹ ์˜ต์…˜,
๋ง์ปค ์Šคํฌ๋ฆฝํŠธ์˜ "TARGET" ๋ช…๋ น ๋ฐ "GNUTARGET" ํ™˜๊ฒฝ ๋ณ€์ˆ˜. GNU
๋ง์ปค๋Š” ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค -F ELF ๊ณต์œ  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์„ ๋•Œ ์˜ต์…˜.

-ํ”ผ๋‹ˆ=name
ELF ์‹คํ–‰ ํŒŒ์ผ ๋˜๋Š” ๊ณต์œ  ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‹คํ–‰ ํŒŒ์ผ ๋˜๋Š”
DT_FINI๋ฅผ ํ•จ์ˆ˜์˜ ์ฃผ์†Œ๋กœ ์„ค์ •ํ•˜์—ฌ ๊ณต์œ  ๊ฐ์ฒด๋ฅผ ์–ธ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์— ์˜ํ•ด
๊ธฐ๋ณธ์ ์œผ๋กœ ๋ง์ปค๋Š” ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๋กœ "_fini"๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

-g ๋ฌด์‹œ๋จ. ๋‹ค๋ฅธ ๋„๊ตฌ์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

-G ๊ฐ€์น˜
--gpํฌ๊ธฐ=๊ฐ€์น˜
GP ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ ํ™”ํ•  ๊ฐ์ฒด์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ๋‹ค์Œ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ธฐ. ์ด
๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์„ ์ง€์›ํ•˜๋Š” MIPS ELF์™€ ๊ฐ™์€ ๊ฐœ์ฒด ํŒŒ์ผ ํ˜•์‹์—๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์„น์…˜์œผ๋กœ ์ž‘์€ ๊ฐœ์ฒด. ๋‹ค๋ฅธ ๋ชฉ์  ํŒŒ์ผ์—์„œ๋Š” ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.
ํ˜•์‹.

-h name
-์ด๋ฆ„=name
ELF ๊ณต์œ  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‚ด๋ถ€ DT_SONAME ํ•„๋“œ๋ฅผ ์ง€์ •๋œ
์ด๋ฆ„. ์‹คํ–‰ ํŒŒ์ผ์ด DT_SONAME ํ•„๋“œ๊ฐ€ ์žˆ๋Š” ๊ณต์œ  ๊ฐ์ฒด์™€ ๋งํฌ๋˜๋ฉด,
๊ทธ๋Ÿฐ ๋‹ค์Œ ์‹คํ–‰ ํŒŒ์ผ์ด ์‹คํ–‰๋  ๋•Œ ๋™์  ๋ง์ปค๋Š” ๊ณต์œ  ๋กœ๋“œ๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
์ฃผ์–ด์ง„ ํŒŒ์ผ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  DT_SONAME ํ•„๋“œ์— ์˜ํ•ด ์ง€์ •๋œ ๊ฐœ์ฒด
๋ง์ปค.

-i ์ฆ๋ถ„ ๋งํฌ ์ˆ˜ํ–‰(์˜ต์…˜๊ณผ ๋™์ผ -r).

-์ดˆ๊ธฐํ™”=name
ELF ์‹คํ–‰ ํŒŒ์ผ ๋˜๋Š” ๊ณต์œ  ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‹คํ–‰ ํŒŒ์ผ ๋˜๋Š”
๊ณต์œ  ๊ฐ์ฒด๋Š” DT_INIT๋ฅผ ํ•จ์ˆ˜์˜ ์ฃผ์†Œ๋กœ ์„ค์ •ํ•˜์—ฌ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ์— ์˜ํ•ด
๊ธฐ๋ณธ์ ์œผ๋กœ ๋ง์ปค๋Š” ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๋กœ "_init"๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

-l ์ด๋ฆ„ ์‚ฌ์–‘
--๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ=์ด๋ฆ„ ์‚ฌ์–‘
๋‹ค์Œ์œผ๋กœ ์ง€์ •๋œ ์•„์นด์ด๋ธŒ ๋˜๋Š” ๊ฐœ์ฒด ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„ ์‚ฌ์–‘ ๋งํฌํ•  ํŒŒ์ผ ๋ชฉ๋ก์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์ด๋ฆ„ ์‚ฌ์–‘ ํ˜•์‹์ด๋‹ค :ํŒŒ์ผ ์ด๋ฆ„, ld
๋ผ๋Š” ํŒŒ์ผ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค
๋ผ๋Š” ํŒŒ์ผ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ libnamespec.a.

๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ์‹œ์Šคํ…œ์—์„œ ld ์ด์™ธ์˜ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
libnamespec.a. ํŠนํžˆ ELF ๋ฐ SunOS ์‹œ์Šคํ…œ์—์„œ ld ์— ๋Œ€ํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค
๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ libnamespec.so ๋ผ๋Š” ์ด๋ฆ„์„ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์ „์— libnamespec.a. (์— ์˜ํ•ด
๊ทœ์น™์—์„œ ".so" ํ™•์žฅ์ž๋Š” ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.) ์ด ๋™์ž‘์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค.
์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค :ํŒŒ์ผ ์ด๋ฆ„, ํ•ญ์ƒ ์ด๋ผ๋Š” ํŒŒ์ผ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„.

๋ง์ปค๋Š” ์•„์นด์ด๋ธŒ๊ฐ€ ์ง€์ •๋œ ์œ„์น˜์—์„œ ์•„์นด์ด๋ธŒ๋ฅผ ํ•œ ๋ฒˆ๋งŒ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
๋ช…๋ น์ค„. ์•„์นด์ด๋ธŒ๊ฐ€ ์ผ๋ถ€ ๊ฐ์ฒด์—์„œ ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒฝ์šฐ
๋ช…๋ น์ค„์—์„œ ์•„์นด์ด๋ธŒ ์•ž์— ๋‚˜ํƒ€๋‚œ ๋ง์ปค๋Š” ๋‹ค์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
์•„์นด์ด๋ธŒ์—์„œ ์ ์ ˆํ•œ ํŒŒ์ผ(๋“ค). ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ์ฒด์˜ ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ
๋‚˜์ค‘์— ๋ช…๋ น์ค„์— ๋‚˜ํƒ€๋‚˜๋ฉด ๋ง์ปค๊ฐ€ ์•„์นด์ด๋ธŒ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋˜.

์„ ์ฐธ์กฐ -( ๋ง์ปค๊ฐ€ ์•„์นด์ด๋ธŒ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๊ฒ€์ƒ‰ํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์˜ต์…˜์ž…๋‹ˆ๋‹ค.

๋ช…๋ น์ค„์— ๋™์ผํ•œ ์•„์นด์ด๋ธŒ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์•„์นด์ด๋ธŒ ๊ฒ€์ƒ‰์€ Unix ๋ง์ปค์˜ ํ‘œ์ค€์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹น์‹ ์ด
์‚ฌ์šฉ ld AIX์—์„œ๋Š” AIX ๋ง์ปค์˜ ๋™์ž‘๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

-L ๊ฒ€์ƒ‰ ๋””๋ ‰ํ† ๋ฆฌ
--๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ=๊ฒ€์ƒ‰ ๋””๋ ‰ํ† ๋ฆฌ
๊ฒฝ๋กœ ์ถ”๊ฐ€ ๊ฒ€์ƒ‰ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ ๋ชฉ๋ก์— ld ์•„์นด์ด๋ธŒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ 
ld ์ œ์–ด ์Šคํฌ๋ฆฝํŠธ. ์ด ์˜ต์…˜์€ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋””๋ ‰ํ† ๋ฆฌ๋Š”
๋ช…๋ น์ค„์— ์ง€์ •๋œ ์ˆœ์„œ๋Œ€๋กœ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค. ๋””๋ ‰ํ† ๋ฆฌ
๋ช…๋ น์ค„์— ์ง€์ •๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ๊ธฐ๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ณด๋‹ค ๋จผ์ € ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋‘ -L
์˜ต์…˜์€ ๋ชจ๋‘์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. -l ์˜ต์…˜์ด ํ‘œ์‹œ๋˜๋Š” ์ˆœ์„œ์— ๊ด€๊ณ„์—†์ด ์˜ต์…˜์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
-L ์˜ต์…˜์€ ๋ฐฉ๋ฒ•์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ld ๋‹ค์Œ์„ ์ œ์™ธํ•˜๊ณ  ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. -T ์˜ต์…˜์€
์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

If ๊ฒ€์ƒ‰ ๋””๋ ‰ํ† ๋ฆฌ "="๋กœ ์‹œ์ž‘ํ•˜๋ฉด "="๊ฐ€ ์‹œ์Šคํ…œ ๋ฃจํŠธ ์ ‘๋‘์‚ฌ,
์— ์˜ํ•ด ์ œ์–ด --sysroot ์˜ต์…˜ ๋˜๋Š” ๋ง์ปค๊ฐ€ ๊ตฌ์„ฑ๋  ๋•Œ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.

๊ฒ€์ƒ‰๋œ ๊ธฐ๋ณธ ๊ฒฝ๋กœ ์„ธํŠธ(๋‹ค์Œ์œผ๋กœ ์ง€์ •๋˜์ง€ ์•Š์Œ) -L)์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
์—๋ฎฌ๋ ˆ์ด์…˜ ๋ชจ๋“œ ld ์‚ฌ์šฉ ์ค‘์ด๋ฉฐ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

"SEARCH_DIR" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งํฌ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ์ง€์ •๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ง€์ ์—์„œ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค.
๋ช…๋ น์ค„์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

-m ์—๋ฎฌ๋ ˆ์ด์…˜
์—๋ฎฌ๋ ˆ์ดํŠธ ์—๋ฎฌ๋ ˆ์ด์…˜ ๋ง์ปค. ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์—๋ฎฌ๋ ˆ์ด์…˜์„ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
--๋ง ์ˆ˜๊ฐ€ ๋งŽ์€ or -V ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ์šฐ -m ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด "LDEMULATION"์—์„œ ์—๋ฎฌ๋ ˆ์ด์…˜์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
์ •์˜๋œ ๊ฒฝ์šฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ ์—๋ฎฌ๋ ˆ์ด์…˜์€ ๋ง์ปค๊ฐ€ ๊ตฌ์„ฑ๋œ ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

-M
--์ธ์‡„-์ง€๋„
ํ‘œ์ค€ ์ถœ๋ ฅ์— ๋Œ€ํ•œ ๋งํฌ ๋งต์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. ๋งํฌ ๋งต์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์Œ์„ ํฌํ•จํ•œ ๋งํฌ:

ยท ๊ฐœ์ฒด ํŒŒ์ผ์ด ๋ฉ”๋ชจ๋ฆฌ์— ๋งคํ•‘๋˜๋Š” ์œ„์น˜.

ยท ๊ณตํ†ต ๊ธฐํ˜ธ๊ฐ€ ํ• ๋‹น๋˜๋Š” ๋ฐฉ๋ฒ•.

ยท ๋งํฌ์— ํฌํ•จ๋œ ๋ชจ๋“  ์•„์นด์ด๋ธŒ ๊ตฌ์„ฑ์›๊ณผ ๋‹ค์Œ ๊ธฐํ˜ธ์— ๋Œ€ํ•œ ์–ธ๊ธ‰
์•„์นด์ด๋ธŒ ๋ฉค๋ฒ„๋ฅผ ๋ถˆ๋Ÿฌ๋“ค์˜€์Šต๋‹ˆ๋‹ค.

ยท ๊ธฐํ˜ธ์— ํ• ๋‹น๋œ ๊ฐ’.

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

ํ‘ธ = 1
ํ‘ธ = ํ‘ธ * 4
ํ‘ธ = ํ‘ธ + 8

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถœ๋ ฅ์ด ๋งํฌ ๋งต์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. -M ์˜ต์…˜์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค:

0x00000001 ํ‘ธ = 0x1
[0x0000000c] ํ‘ธ = (ํ‘ธ * 0x4)
[0x0000000c] ํ‘ธ = (ํ‘ธ + 0x8)

๋งŒ๋‚˜๋‹ค ์‹ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œํ˜„์‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€

-n
--nmagic
์„น์…˜์˜ ํŽ˜์ด์ง€ ์ •๋ ฌ์„ ๋„๊ณ  ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์‹ญ์‹œ์˜ค. ๋งŒ์•ฝ์—
์ถœ๋ ฅ ํ˜•์‹์€ Unix ์Šคํƒ€์ผ์˜ ๋งค์ง ๋„˜๋ฒ„๋ฅผ ์ง€์›ํ•˜๋ฉฐ ์ถœ๋ ฅ์„ "NMAGIC"์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

-N
--์˜ค๋งค์ง
ํ…์ŠคํŠธ ๋ฐ ๋ฐ์ดํ„ฐ ์„น์…˜์„ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํŽ˜์ด์ง€ ์ •๋ ฌ์„ ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ ํ˜•์‹์ธ ๊ฒฝ์šฐ
Unix ์Šคํƒ€์ผ์˜ ๋งค์ง ๋„˜๋ฒ„๋ฅผ ์ง€์›ํ•˜๊ณ  ์ถœ๋ ฅ์„ "OMAGIC"์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ : ๋น„๋ก
์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•œ ํ…์ŠคํŠธ ์„น์…˜์€ PE-COFF ๋Œ€์ƒ์— ๋Œ€ํ•ด ํ—ˆ์šฉ๋˜์ง€๋งŒ
Microsoft์—์„œ ๊ฒŒ์‹œํ•œ ํ˜•์‹ ์‚ฌ์–‘.

--๋งˆ๋ฒ•์ด ์•„๋‹Œ
์ด ์˜ต์…˜์€ ๋Œ€๋ถ€๋ถ„์˜ ํšจ๊ณผ๋ฅผ ๋ฌดํšจํ™”ํ•ฉ๋‹ˆ๋‹ค. -N ์˜ต์…˜. ํ…์ŠคํŠธ ์„น์…˜์„ ๋‹ค์Œ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
์ฝ๊ธฐ ์ „์šฉ์ด๊ณ  ๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ํŽ˜์ด์ง€ ์ •๋ ฌ๋˜๋„๋ก ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ  - ์ด ์˜ต์…˜์€
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์‚ฌ์šฉํ•˜๋‹ค -๋น„๋‹ค์ด๋‚˜๋ฏน ์ดํ•ฉ๋‹ˆ๋‹ค.

-o ์ถœ๋ ฅ
--์ถœ๋ ฅ=์ถœ๋ ฅ
์ถœ๋ ฅ ์—์„œ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ์˜ ์ด๋ฆ„์œผ๋กœ ld; ์ด ์˜ต์…˜์ด ์—†์œผ๋ฉด
์ง€์ •๋œ, ์ด๋ฆ„ ์•„์›ƒ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ๋ช…๋ น "OUTPUT"๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

-O ์ˆ˜ํ‰
If ์ˆ˜ํ‰ XNUMX๋ณด๋‹ค ํฐ ์ˆซ์ž ๊ฐ’์ž…๋‹ˆ๋‹ค. ld ์ถœ๋ ฅ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฑด ์•„๋งˆ๋„
ํ›จ์”ฌ ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฏ€๋กœ ์•„๋งˆ๋„ ์ตœ์ข…
๋ฐ”์ด๋„ˆ๋ฆฌ. ํ˜„์žฌ ์ด ์˜ต์…˜์€ ELF ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ๋ฏธ๋ž˜
๋ง์ปค ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ด ์˜ต์…˜์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ˜„์žฌ๋Š” ์—†๋‹ค.
์ด ์˜ต์…˜์˜ XNUMX์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ’์— ๋Œ€ํ•œ ๋ง์ปค ๋™์ž‘์˜ ์ฐจ์ด.
๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ ์ด๋Š” ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

--ํ‘ธ์‹œ ์ƒํƒœ
XNUMXD๋ดํƒˆ์˜ --ํ‘ธ์‹œ ์ƒํƒœ ์ œ์–ดํ•˜๋Š” ํ”Œ๋ž˜๊ทธ์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•˜๋‚˜์˜ ํ•ด๋‹น ํŒŒ์ผ๋กœ ๋ชจ๋‘ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž…๋ ฅ ํŒŒ์ผ ์ฒ˜๋ฆฌ
--ํŒ ์ƒํƒœ ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์ ์šฉ๋˜๋Š” ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. -๋น„๋‹ค์ด๋‚˜๋ฏน, -๋น„์ •์ , -NS, -๋””, -ํ†ตํ™”_๊ณต์œ ,
-๋น„๊ณต์œ , -๊ณต์ „, -N, -n, --์ „์ฒด ์•„์นด์ด๋ธŒ, --์ „์ฒด ์•„์นด์ด๋ธŒ ์—†์Œ, -r, -์šฐ๋ฅด,
--copy-dt-ํ•„์š”ํ•œ ํ•ญ๋ชฉ, --no-copy-dt-ํ•„์š”ํ•œ ํ•ญ๋ชฉ, --ํ•„์š”์— ๋”ฐ๋ผ, --ํ•„์š”์— ๋”ฐ๋ผ ์—†์Œ,
๊ณผ -a.

์ด ์˜ต์…˜์˜ ํ•œ ๋Œ€์ƒ์€ ๋‹ค์Œ ์‚ฌ์–‘์ž…๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€ ๊ตฌ์„ฑ. ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ
--libs ์˜ต์…˜ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋‚˜์—ด๋˜๊ณ  ๋‹ค์Œ๊ณผ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•ญ์ƒ. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

-Wl,--push-state,--ํ•„์š”์— ๋”ฐ๋ผ -libone -libtwo -Wl,--pop-state

--push-state์˜ ํšจ๊ณผ๋ฅผ ์ทจ์†Œํ•˜๊ณ  ํ”Œ๋ž˜๊ทธ๋ฅผ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹์ด์ „ ๊ฐ’์„ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.
์ž…๋ ฅ ํŒŒ์ผ ์ฒ˜๋ฆฌ.

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

์ด ์˜ต์…˜์€ ํ˜„์žฌ ELF ํ”Œ๋žซํผ์—์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

--ํž˜-๋™์ 
์ถœ๋ ฅ ํŒŒ์ผ์— ๋™์  ์„น์…˜์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ VxWorks์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
๋ชฉํ‘œ.

-r
-- ์žฌ๋ฐฐ์น˜ ๊ฐ€๋Šฅ
์žฌ๋ฐฐ์น˜ ๊ฐ€๋Šฅํ•œ ์ถœ๋ ฅ ์ƒ์„ฑ ---์ฆ‰, ์ฐจ๋ก€๋กœ ๋‹ค์Œ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ถœ๋ ฅ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
์— ์ž…๋ ฅ ld. ์ด๊ฒƒ์€ ํ”ํžˆ ์ผ๋ถ€์˜ ์—ฐ๊ฒฐ. ๋ถ€์ž‘์šฉ์œผ๋กœ ํ™˜๊ฒฝ์—์„œ
ํ‘œ์ค€ Unix ๋งค์ง ๋„˜๋ฒ„๋ฅผ ์ง€์›ํ•˜๋Š” ์ด ์˜ต์…˜์€ ์ถœ๋ ฅ ํŒŒ์ผ์˜
"OMAGIC"์— ๋งค์ง ๋„˜๋ฒ„. ์ด ์˜ต์…˜์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ ˆ๋Œ€ ํŒŒ์ผ์€
์ƒ์‚ฐ. C++ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฐ๊ฒฐํ•  ๋•Œ ์ด ์˜ต์…˜์€ ์˜์ง€ ์ง€์› ์— ๋Œ€ํ•œ ์ฐธ์กฐ ํ•ด๊ฒฐ
์ƒ์„ฑ์ž; ๊ทธ๋ ‡๊ฒŒํ•˜๋ ค๋ฉด ์‚ฌ์šฉ -์šฐ๋ฅด.

์ž…๋ ฅ ํŒŒ์ผ์ด ์ถœ๋ ฅ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ํ˜•์‹์ด ์•„๋‹Œ ๊ฒฝ์šฐ ๋ถ€๋ถ„ ๋งํฌ
ํ•ด๋‹น ์ž…๋ ฅ ํŒŒ์ผ์— ์žฌ๋ฐฐ์น˜๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ
์ถœ๋ ฅ ํ˜•์‹์—๋Š” ์ถ”๊ฐ€ ์ œํ•œ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ๋ถ€ "a.out" ๊ธฐ๋ฐ˜ ํ˜•์‹
๋‹ค๋ฅธ ํ˜•์‹์˜ ์ž…๋ ฅ ํŒŒ์ผ๊ณผ์˜ ๋ถ€๋ถ„ ๋งํฌ๋ฅผ ์ „ํ˜€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. -i.

-R ํŒŒ์ผ ์ด๋ฆ„
--๊ทธ๋ƒฅ ๊ธฐํ˜ธ=ํŒŒ์ผ ์ด๋ฆ„
๋‹ค์Œ์—์„œ ๊ธฐํ˜ธ ์ด๋ฆ„๊ณผ ์ฃผ์†Œ ์ฝ๊ธฐ ํŒŒ์ผ ์ด๋ฆ„, ๊ทธ๋Ÿฌ๋‚˜ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ํฌํ•จํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
์ถœ๋ ฅ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ถœ๋ ฅ ํŒŒ์ผ์ด ์ ˆ๋Œ€๊ฐ’์„ ์ƒ์ง•์ ์œผ๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์— ์ •์˜๋œ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜ ์ด ์˜ต์…˜์„ ๋‹ค์Œ๋ณด๋‹ค ๋” ๋งŽ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ผ๋‹จ.

๋‹ค๋ฅธ ELF ๋ง์ปค์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด -R ์˜ต์…˜ ๋’ค์— ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์˜ต๋‹ˆ๋‹ค
ํŒŒ์ผ ์ด๋ฆ„์ด ์•„๋‹Œ ์ด๋ฆ„์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. -rpath ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

-s
-๋ชจ๋“  ์ŠคํŠธ๋ฆฝ
์ถœ๋ ฅ ํŒŒ์ผ์—์„œ ๋ชจ๋“  ๊ธฐํ˜ธ ์ •๋ณด๋ฅผ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค.

-S
--์ŠคํŠธ๋ฆฝ-๋””๋ฒ„๊ทธ
์ถœ๋ ฅ ํŒŒ์ผ์—์„œ ๋””๋ฒ„๊ฑฐ ๊ธฐํ˜ธ ์ •๋ณด๋ฅผ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค(๋ชจ๋“  ๊ธฐํ˜ธ๋Š” ์•„๋‹˜).

-t
--์ถ”์ ํ•˜๋‹ค
์ž…๋ ฅ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ธ์‡„ํ•˜์‹ญ์‹œ์˜ค. ld ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

-T ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ
--์Šคํฌ๋ฆฝํŠธ=์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ
์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ๋กœ. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์Œ์„ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. ld์˜ ๊ธฐ๋ณธ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ
(์ถ”๊ฐ€ํ•˜๋Š” ๋Œ€์‹ ), ๊ทธ๋ž˜์„œ ๋ช…๋ น ํŒŒ์ผ ์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ถœ๋ ฅ ํŒŒ์ผ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
"ld"๋Š” ์ด์ „์— ์ง€์ •๋œ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ฐพ์Šต๋‹ˆ๋‹ค. -L ์˜ต์…˜. ๋‹ค์ˆ˜์˜
-T ์˜ต์…˜์ด ๋ˆ„์ ๋ฉ๋‹ˆ๋‹ค.

-dT ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ
--๊ธฐ๋ณธ ์Šคํฌ๋ฆฝํŠธ=์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ
์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ๊ธฐ๋ณธ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ๋กœ.

์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. --์Šคํฌ๋ฆฝํŠธ ์Šคํฌ๋ฆฝํŠธ ์ฒ˜๋ฆฌ๊ฐ€
๋‚˜๋จธ์ง€ ๋ช…๋ น์ค„์ด ์ฒ˜๋ฆฌ๋  ๋•Œ๊นŒ์ง€ ์ง€์—ฐ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ—ˆ์šฉ
๋’ค์— ๋ฐฐ์น˜๋œ ์˜ต์…˜ --๊ธฐ๋ณธ ์Šคํฌ๋ฆฝํŠธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ช…๋ น์ค„์˜ ์˜ต์…˜
๋ง์ปค ๋ช…๋ น์ค„์—์„œ ์ค‘์š”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ์˜ ๋™์ž‘
์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. (์˜ˆ: ๋ช…๋ น์ค„์ด
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๋„๊ตฌ๋กœ ๊ตฌ์„ฑ GCC).

-u ์ƒ์ง•
--์ •์˜๋˜์ง€ ์•Š์Œ=์ƒ์ง•
ํž˜ ์ƒ์ง• ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๋กœ ์ถœ๋ ฅ ํŒŒ์ผ์— ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด,
์˜ˆ๋ฅผ ๋“ค์–ด, ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ถ”๊ฐ€ ๋ชจ๋“ˆ์˜ ๋งํฌ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. -u ์ˆ˜
์ •์˜๋˜์ง€ ์•Š์€ ์ถ”๊ฐ€ ๊ธฐํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ์˜ต์…˜ ์ธ์ˆ˜๋กœ ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ
์˜ต์…˜์€ "EXTERN" ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ ๋ช…๋ น๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ๋ชจ๋“ˆ์„ ๋งํฌ๋กœ ๊ฐ•์ œ๋กœ ๋Œ์–ด์˜ค๋Š” ๊ฒฝ์šฐ,
๊ธฐํ˜ธ๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ๊ฒƒ์ด ์˜ค๋ฅ˜์ธ ๊ฒฝ์šฐ ์˜ต์…˜
--ํ•„์ˆ˜ ์ •์˜ ๋Œ€์‹  ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

--require ์ •์˜=์ƒ์ง•
์„ ์š”๊ตฌํ•œ๋‹ค ์ƒ์ง• ์ถœ๋ ฅ ํŒŒ์ผ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์˜ต์…˜๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
--์ฐพ์œผ์‹œ๋Š” ์ฃผ์†Œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ƒ์ง• ์ถœ๋ ฅ ํŒŒ์ผ์— ์ •์˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ง์ปค
์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋™์ผํ•œ ํšจ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
"EXTERN", "ASSERT" ๋ฐ "DEFINED"๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ถ”๊ฐ€ ๊ธฐํ˜ธ๊ฐ€ ํ•„์š”ํ•œ ์‹œ๊ฐ„.

-์šฐ๋ฅด C++ ํ”„๋กœ๊ทธ๋žจ ์ด์™ธ์˜ ๋ชจ๋“  ๊ฒฝ์šฐ ์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. -r: ์ƒ์„ฑํ•œ๋‹ค
์žฌ๋ฐฐ์น˜ ๊ฐ€๋Šฅํ•œ ์ถœ๋ ฅ --- ์ฆ‰, ์ฐจ๋ก€๋กœ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ถœ๋ ฅ ํŒŒ์ผ ld. ์–ธ์ œ
C++ ํ”„๋กœ๊ทธ๋žจ ์—ฐ๊ฒฐ, -์šฐ๋ฅด ํ•˜์ง€ ์ƒ์„ฑ์ž์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ๋‹ฌ๋ฆฌ -r. ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค
์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค -์šฐ๋ฅด ์ž์‹ ๊ณผ ์—ฐ๊ฒฐ๋œ ํŒŒ์ผ์— -์šฐ๋ฅด; ํ•œ ๋ฒˆ
์ƒ์„ฑ์ž ํ…Œ์ด๋ธ”์ด ๋นŒ๋“œ๋˜์—ˆ์œผ๋ฏ€๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋‹ค -์šฐ๋ฅด ๋งˆ์ง€๋ง‰์œผ๋กœ๋งŒ
๋ถ€๋ถ„ ๋งํฌ ๋ฐ -r ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด.

--๊ณ ์•„ ์ฒ˜๋ฆฌ=๋ชจ๋“œ
๊ณ ์•„ ์„น์…˜์ด ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฐฉ์‹์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๊ณ ์•„ ์„น์…˜์€ ๊ตฌ์ฒด์ ์ด์ง€ ์•Š์€ ์„น์…˜์ž…๋‹ˆ๋‹ค.
๋ง์ปค ์Šคํฌ๋ฆฝํŠธ์— ์–ธ๊ธ‰๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“œ ๋‹ค์Œ ๊ฐ’ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

"์žฅ์†Œ"
๊ณ ์•„ ์„น์…˜์€ ์ „๋žต์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์ถœ๋ ฅ ์„น์…˜์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค.
์— ์„ค๋ช… ๊ณ ์•„ ์„น์…˜. ์˜ต์…˜ --๊ณ ์œ  ํ•œ ๋˜ํ•œ ์„น์…˜์ด ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๋Š”์ง€์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.
๋ฐฐ์น˜.

"๋ฒ„๋ฆฌ๋‹ค"
๋ชจ๋“  ๊ณ ์•„ ์„น์…˜์€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. /๋ฒ„๋ฆฌ๋‹ค/ ์•ˆ๋‚ด

"๊ฒฝ๊ณ ํ•˜๋‹ค"
๋ง์ปค๋Š” "place"์— ๋Œ€ํ•ด ๊ณ ์•„ ์„น์…˜์„ ๋ฐฐ์น˜ํ•˜๊ณ  ๊ฒฝ๊ณ ๋„ ๋ฐœํ–‰ํ•ฉ๋‹ˆ๋‹ค.

"์˜ค๋ฅ˜"
๋ง์ปค๋Š” ๊ณ ์•„ ์„น์…˜์ด ๋ฐœ๊ฒฌ๋˜๋ฉด ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ๊ฐ’์ธ ๊ฒฝ์šฐ --๊ณ ์•„ ์ฒ˜๋ฆฌ "์žฅ์†Œ"๊ฐ€ ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

-v
--๋ฒˆ์—ญ
-V ์— ๋Œ€ํ•œ ๋ฒ„์ „ ๋ฒˆํ˜ธ ํ‘œ์‹œ ld. ๊ทธ๋งŒํผ -V ์˜ต์…˜์€ ์ง€์›๋˜๋Š” ์—๋ฎฌ๋ ˆ์ด์…˜๋„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

-x
--๋ชจ๋‘ ์‚ญ์ œ
๋ชจ๋“  ๋กœ์ปฌ ๊ธฐํ˜ธ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

-X
--discard-locals
๋ชจ๋“  ์ž„์‹œ ๋กœ์ปฌ ๊ธฐํ˜ธ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. (์ด๋Ÿฌํ•œ ๊ธฐํ˜ธ๋Š” ์‹œ์Šคํ…œ๋ณ„ ๋กœ์ปฌ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
๋ ˆ์ด๋ธ” ์ ‘๋‘์‚ฌ, ์ผ๋ฐ˜์ ์œผ๋กœ .L ELF ์‹œ์Šคํ…œ ๋˜๋Š” L ์ „ํ†ต์ ์ธ.out ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ.)

-y ์ƒ์ง•
--์ถ”์  ๊ธฐํ˜ธ=์ƒ์ง•
์—ฐ๊ฒฐ๋œ ๊ฐ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ์ธ์‡„ํ•˜์‹ญ์‹œ์˜ค. ์ƒ์ง• ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์ด ์ฃผ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
๋ช‡ ๋ฒˆ์ด๋“ . ๋งŽ์€ ์‹œ์Šคํ…œ์—์„œ ๋ฐ‘์ค„์„ ์•ž์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ ๋งํฌ์— ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๊ฐ€ ์žˆ์ง€๋งŒ ์•Œ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ฐธ์กฐ์˜ ์ถœ์ฒ˜.

-Y ํ†ต๋กœ
์ถ”๊ฐ€ ํ†ต๋กœ ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ Solaris์šฉ์œผ๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
ํ˜ธํ™˜์„ฑ.

-z ํ‚ค์›Œ๋“œ๋Š”
์ธ์‹๋œ ํ‚ค์›Œ๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ฝค๋ธŒ๋ก
์—ฌ๋Ÿฌ reloc ์„น์…˜์„ ๊ฒฐํ•ฉํ•˜๊ณ  ์ •๋ ฌํ•˜์—ฌ ๋™์  ๊ธฐํ˜ธ ์กฐํšŒ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
์บ์‹ฑ ๊ฐ€๋Šฅ.

๋ฐํ”„
๊ฐœ์ฒด ํŒŒ์ผ์—์„œ ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณต์œ ์˜ ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

์‹คํ–‰ ์Šคํƒ
๊ฐœ์ฒด๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์Šคํƒ์ด ํ•„์š”ํ•œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๊ธ€๋กœ๋ฒŒ
์ด ์˜ต์…˜์€ ๊ณต์œ  ๊ฐ์ฒด๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋งŒ๋“ ๋‹ค
์‹ฌ๋ณผ ํ•ด์„์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ด ๊ณต์œ  ๊ฐ์ฒด์— ์˜ํ•ด ์ •์˜๋œ ์‹ฌ๋ณผ
์ดํ›„์— ๋กœ๋“œ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.

์ดˆ๊ธฐํ™”
์ด ์˜ต์…˜์€ ๊ณต์œ  ๊ฐ์ฒด๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋Œ€์ƒ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค
๋Ÿฐํƒ€์ž„ ์ดˆ๊ธฐํ™”๊ฐ€ ์˜ ๋Ÿฐํƒ€์ž„ ์ดˆ๊ธฐํ™” ์ „์— ๋ฐœ์ƒํ•˜๋„๋ก
๋™์‹œ์— ํ”„๋กœ์„ธ์Šค์— ๊ฐ€์ ธ์˜จ ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฐœ์ฒด. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ
๊ฐœ์ฒด์˜ ๋Ÿฐํƒ€์ž„ ์ข…๋ฃŒ๋Š” ์˜ ๋Ÿฐํƒ€์ž„ ์ข…๋ฃŒ ํ›„์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ๋ชจ๋“  ๊ฐœ์ฒด.

๋ผ์–ด๋“ค๋‹ค
์‹ฌ๋ณผ ํ…Œ์ด๋ธ”์ด ๋ชจ๋“  ์‹ฌ๋ณผ ์•ž์— ์‚ฝ์ž…๋˜๋Š” ๊ฐ์ฒด๋ฅผ ํ‘œ์‹œํ•˜์ง€๋งŒ
๊ธฐ๋ณธ ์‹คํ–‰ ํŒŒ์ผ.

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

๋กœ๋“œํ”Œ๋žซ
ํ•ด๋‹น ํ•„ํ„ฐ๊ฐ€ ๋Ÿฐํƒ€์ž„์— ์ฆ‰์‹œ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฐœ์ฒด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋ฌผ ๋ฐํ”„
๋‹ค์ค‘ ์ •์˜๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋…ธ์ฝค๋ธŒ๋ก
์—ฌ๋Ÿฌ reloc ์„น์…˜ ๊ฒฐํ•ฉ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

nocopyreloc
์— ์ •์˜๋œ ๋ณ€์ˆ˜ ๋Œ€์‹  ์‚ฌ์šฉ๋˜๋Š” ๋ง์ปค ์ƒ์„ฑ .dynbss ๋ณ€์ˆ˜ ๋น„ํ™œ์„ฑํ™”
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๋™์  ํ…์ŠคํŠธ ์žฌ๋ฐฐ์น˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋…ธ๋””ํดํŠธ๋ฆฝ
์ด ๊ฐœ์ฒด์˜ ์ข…์†์„ฑ์„ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋ฌด์‹œํ•  ๊ฐœ์ฒด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ.

๋…ธ๋“œ ์‚ญ์ œ
๋Ÿฐํƒ€์ž„์— ๊ฐœ์ฒด๋ฅผ ์–ธ๋กœ๋“œํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋…ธ๋“œ๋กœํŽœ
"dlopen"์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฐœ์ฒด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ์ ˆ
"dldump"๋กœ ๊ฐœ์ฒด๋ฅผ ๋คํ”„ํ•  ์ˆ˜ ์—†์Œ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋…ธ์ด์ ์Šคํƒ
๊ฐœ์ฒด๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์Šคํƒ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋ณธ๋ฌธ
๊ณต์œ  ๊ฐœ์ฒด์˜ DT_TEXTREL์„ ์˜ค๋ฅ˜๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋…ธํ…์ŠคํŠธ
๊ณต์œ  ๊ฐ์ฒด์˜ DT_TEXTREL์„ ์˜ค๋ฅ˜๋กœ ์ทจ๊ธ‰ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

ํ…์ŠคํŠธ ์˜คํ”„
๊ณต์œ  ๊ฐ์ฒด์˜ DT_TEXTREL์„ ์˜ค๋ฅ˜๋กœ ์ทจ๊ธ‰ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

๋…ธ๋ ๋กœ
๊ฐœ์ฒด์— ELF "PT_GNU_RELRO" ์„ธ๊ทธ๋จผํŠธ ํ—ค๋”๋ฅผ ์ƒ์„ฑํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

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

์ถœ๋ฐœ์ง€
๊ฐœ์ฒด์— $ORIGIN์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Œ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋ ๋กœ
๊ฐœ์ฒด์— ELF "PT_GNU_RELRO" ์„ธ๊ทธ๋จผํŠธ ํ—ค๋”๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ตœ๋Œ€ ํŽ˜์ด์ง€ ํฌ๊ธฐ=๊ฐ€์น˜
์—๋ฎฌ๋ ˆ์ด์…˜ ์ตœ๋Œ€ ํŽ˜์ด์ง€ ํฌ๊ธฐ๋ฅผ ๋‹ค์Œ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์น˜.

๊ณตํ†ต ํŽ˜์ด์ง€ ํฌ๊ธฐ=๊ฐ€์น˜
์—๋ฎฌ๋ ˆ์ด์…˜ ๊ณตํ†ต ํŽ˜์ด์ง€ ํฌ๊ธฐ๋ฅผ ๋‹ค์Œ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์น˜.

์Šคํƒ ํฌ๊ธฐ =๊ฐ€์น˜
ELF "PT_GNU_STACK" ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•œ ์Šคํƒ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. XNUMX์„ ์ง€์ •ํ•˜๋ฉด
XNUMX์ด ์•„๋‹Œ ํฌ๊ธฐ์˜ ๊ธฐ๋ณธ "PT_GNU_STACK" ์„ธ๊ทธ๋จผํŠธ ์ƒ์„ฑ์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

bndplt
ํ•ญ์ƒ PLT ํ•ญ๋ชฉ์— BND ์ ‘๋‘์‚ฌ๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค. Linux/x86_64์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

noextern ๋ณดํ˜ธ ๋ฐ์ดํ„ฐ
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ ๋ณดํ˜ธ๋œ ๋ฐ์ดํ„ฐ ๊ธฐํ˜ธ๋ฅผ ์™ธ๋ถ€๋กœ ์ทจ๊ธ‰ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ด๊ฒƒ
์˜ต์…˜์€ ๋ง์ปค ๋ฐฑ์—”๋“œ ๊ธฐ๋ณธ๊ฐ’์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ๋ณดํ˜ธ๋œ ๋ฐ์ดํ„ฐ ๊ธฐํ˜ธ์— ๋Œ€ํ•œ ์žฌ๋ฐฐ์น˜. ์—…๋ฐ์ดํŠธ
๋‹ค๋ฅธ ๋ชจ๋“ˆ์— ์˜ํ•ด ๋ณดํ˜ธ๋œ ๋ฐ์ดํ„ฐ ๊ธฐํ˜ธ๋Š” ๊ฒฐ๊ณผ ๊ณต์œ ์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋„์„œ๊ด€. i386 ๋ฐ x86-64์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

call-nop=์ ‘๋‘์‚ฌ-์ถ”๊ฐ€
call-nop=์ ‘๋‘์‚ฌ-nop
call-nop=์ ‘๋ฏธ์‚ฌ-nop
call-nop=์ ‘๋‘์‚ฌ-๋ฐ”์ดํŠธ
call-nop=์ ‘๋ฏธ์‚ฌ-๋ฐ”์ดํŠธ
๊ฐ„์ ‘ ํ˜ธ์ถœ์„ ๋กœ์ปฌ๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ 1๋ฐ”์ดํŠธ "NOP" ํŒจ๋”ฉ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
GOT ์Šฌ๋กฏ์„ ํ†ตํ•ด ์ •์˜๋œ ํ•จ์ˆ˜ foo. call-nop=์ ‘๋‘์‚ฌ-์ถ”๊ฐ€ "0x67" ์ƒ์„ฑ
ํ‘ธ"๋ผ๊ณ  ๋ถˆ๋Ÿฌ. call-nop=์ ‘๋‘์‚ฌ-nop "0x90 ํ˜ธ์ถœ foo"๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. call-nop=์ ‘๋ฏธ์‚ฌ-nop
"call foo 0x90"์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. call-nop=์ ‘๋‘์‚ฌ-๋ฐ”์ดํŠธ "๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๋ฐ”์ดํŠธ ์ „ํ™” ํ‘ธ".
call-nop=์ ‘๋ฏธ์‚ฌ-๋ฐ”์ดํŠธ "call foo" ์ƒ์„ฑ ๋ฐ”์ดํŠธ". i386 ๋ฐ x86_64์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ํ‚ค์›Œ๋“œ๋Š” Solaris ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

-( ๊ธฐ๋ก ๋ณด๊ด€์†Œ -)
--์‹œ์ž‘ ๊ทธ๋ฃน ๊ธฐ๋ก ๋ณด๊ด€์†Œ --end-๊ทธ๋ฃน
XNUMXD๋ดํƒˆ์˜ ๊ธฐ๋ก ๋ณด๊ด€์†Œ ์•„์นด์ด๋ธŒ ํŒŒ์ผ ๋ชฉ๋ก์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ช…์‹œ์  ํŒŒ์ผ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฆ„, ๋˜๋Š” -l ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ •์˜๋˜์ง€ ์•Š์€ ์ƒˆ ์ฐธ์กฐ๊ฐ€ ์—†์„ ๋•Œ๊นŒ์ง€ ์ง€์ •๋œ ์•„์นด์ด๋ธŒ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
๋งŒ๋“ค์–ด์ง„. ์ผ๋ฐ˜์ ์œผ๋กœ ์•„์นด์ด๋ธŒ๋Š” ์ง€์ •๋œ ์ˆœ์„œ๋Œ€๋กœ ํ•œ ๋ฒˆ๋งŒ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค.
๋ช…๋ น์ค„์—์„œ. ์ •์˜๋˜์ง€ ์•Š์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•ด๋‹น ์•„์นด์ด๋ธŒ์˜ ๊ธฐํ˜ธ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ
๋‚˜์ค‘์— ๋ช…๋ น์ค„์— ๋‚˜ํƒ€๋‚˜๋Š” ์•„์นด์ด๋ธŒ์˜ ๊ฐœ์ฒด๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๊ธฐํ˜ธ,
๋ง์ปค๋Š” ํ•ด๋‹น ์ฐธ์กฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์•„์นด์ด๋ธŒ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ,
๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ฐธ์กฐ๊ฐ€ ํ•ด๊ฒฐ๋  ๋•Œ๊นŒ์ง€ ๋ชจ๋‘ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค.

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

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

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

--์ถ”๊ฐ€ ํ•„์š”
--์ถ”๊ฐ€ ํ•„์š” ์—†์Œ
์ด ๋‘ ์˜ต์…˜์€ ์ด๋ฆ„์˜ ์œ ์‚ฌ์„ฑ ๋•Œ๋ฌธ์— ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
--ํ•„์š”์— ๋”ฐ๋ผ ๊ณผ --ํ•„์š”์— ๋”ฐ๋ผ ์—†์Œ ์˜ต์…˜. ๊ทธ๋“ค์€ ๋‹ค์Œ์œผ๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค
--copy-dt-ํ•„์š”ํ•œ ํ•ญ๋ชฉ ๊ณผ --no-copy-dt-ํ•„์š”ํ•œ ํ•ญ๋ชฉ.

-์ฃผ์žฅํ•˜๋‹ค ํ‚ค์›Œ๋“œ๋Š”
์ด ์˜ต์…˜์€ SunOS ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

-๋น„๋‹ค์ด๋‚˜๋ฏน
-๋””
-ํ†ตํ™”_๊ณต์œ 
๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๋งํฌ. ์ด๊ฒƒ์€ ๊ณต์œ ๋œ ํ”Œ๋žซํผ์—์„œ๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ํ”Œ๋žซํผ์—์„œ ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค. NS
์ด ์˜ต์…˜์˜ ๋‹ค๋ฅธ ๋ณ€ํ˜•์€ ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ํ•  ์ˆ˜์žˆ๋‹ค
๋ช…๋ น์ค„์—์„œ ์ด ์˜ต์…˜์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ƒ‰์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
-l ๊ทธ ๋’ค๋ฅผ ์ž‡๋Š” ์˜ต์…˜.

-B๊ทธ๋ฃน
๋™์  ์„น์…˜์˜ "DT_FLAGS_1" ํ•ญ๋ชฉ์—์„œ "DF_1_GROUP" ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ
๋Ÿฐํƒ€์ž„ ๋ง์ปค๊ฐ€ ์ด ๊ฐœ์ฒด ๋ฐ ํ•ด๋‹น ์ข…์†์„ฑ์˜ ์กฐํšŒ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฃน ๋‚ด์—์„œ๋งŒ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. --unresolved-symbols=์ „์ฒด ๋ณด๊ณ  ์•”์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ
์˜ต์…˜์€ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ELF ํ”Œ๋žซํผ์—์„œ๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

-๋น„์ •์ 
-NS
-๋น„๊ณต์œ 
-๊ณต์ „
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ๋งํฌํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์˜ ๋‹ค๋ฅธ ๋ณ€ํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ๊ณผ์˜ ํ˜ธํ™˜์„ฑ. ์—์„œ ์ด ์˜ต์…˜์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ช…๋ น์ค„: ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ƒ‰์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค. -l ๊ทธ ๋’ค๋ฅผ ์ž‡๋Š” ์˜ต์…˜. ์ด๊ฒƒ
์˜ต์…˜๋„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค --unresolved-symbols=์ „์ฒด ๋ณด๊ณ . ์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
-๊ณต์œ . ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋˜์ง€๋งŒ ๋ชจ๋“ 
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์™ธ๋ถ€ ์ฐธ์กฐ๋Š” ์ •์ ์—์„œ ํ•ญ๋ชฉ์„ ๊ฐ€์ ธ์™€ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.

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

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

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

๋™์  ๋ชฉ๋ก์˜ ํ˜•์‹์€ ๋ฒ”์œ„ ๋ฐ ๋…ธ๋“œ๊ฐ€ ์—†๋Š” ๋ฒ„์ „ ๋…ธ๋“œ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
์ด๋ฆ„. ๋ณด๋‹ค ๋ฒ„์ „

--๋™์  ๋ชฉ๋ก ๋ฐ์ดํ„ฐ
๋™์  ๋ชฉ๋ก์— ๋ชจ๋“  ์ „์—ญ ๋ฐ์ดํ„ฐ ๊ธฐํ˜ธ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

--๋™์  ๋ชฉ๋ก-cpp-new
C++ ์—ฐ์‚ฐ์ž new ๋ฐ delete์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ๋™์  ๋ชฉ๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ์œ ์šฉํ•˜๋‹ค
๊ณต์œ  libstdc++ ๋นŒ๋“œ์šฉ.

--๋™์  ๋ชฉ๋ก-cpp-์œ ํ˜• ์ •๋ณด
C++ ๋Ÿฐํƒ€์ž„ ์œ ํ˜• ์‹๋ณ„์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ๋™์  ๋ชฉ๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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

--copy-dt-ํ•„์š”ํ•œ ํ•ญ๋ชฉ
--no-copy-dt-ํ•„์š”ํ•œ ํ•ญ๋ชฉ
์ด ์˜ต์…˜์€ DT_NEEDED ํƒœ๊ทธ๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฒ˜๋ฆฌ์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
๋‚ด๋ถ€ ๋ช…๋ น์ค„์— ์–ธ๊ธ‰๋œ ELF ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ง์ปค๋Š”
DT_NEEDED ํƒœ๊ทธ์— ์–ธ๊ธ‰๋œ ๊ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ถœ๋ ฅ ๋ฐ”์ด๋„ˆ๋ฆฌ์— DT_NEEDED ํƒœ๊ทธ ์ถ”๊ฐ€
์ž…๋ ฅ ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ. ์™€ ํ•จ๊ป˜ --copy-dt-ํ•„์š”ํ•œ ํ•ญ๋ชฉ ๋ช…๋ น์— ์ง€์ •๋œ
๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ๋’ค์— ์˜ค๋Š” ๋ชจ๋“  ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” DT_NEEDED ํ•ญ๋ชฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋™์ž‘์€ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --no-copy-dt-ํ•„์š”ํ•œ ํ•ญ๋ชฉ.

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

--cref
์ƒํ˜ธ ์ฐธ์กฐ ํ…Œ์ด๋ธ”์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋ง์ปค ๋งต ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜๋Š” ๊ฒฝ์šฐ ํฌ๋กœ์Šค
์ฐธ์กฐ ํ…Œ์ด๋ธ”์ด ๋งต ํŒŒ์ผ์— ์ธ์‡„๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ‘œ์ค€์— ์ธ์‡„๋ฉ๋‹ˆ๋‹ค.
์ถœ๋ ฅ.

ํ…Œ์ด๋ธ”์˜ ํ˜•์‹์€ ์˜๋„์ ์œผ๋กœ ๋‹จ์ˆœํ•˜์—ฌ ๋‹ค์Œ์—์„œ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์Šคํฌ๋ฆฝํŠธ. ๊ธฐํ˜ธ๋Š” ์ด๋ฆ„๋ณ„๋กœ ์ •๋ ฌ๋˜์–ด ์ธ์‡„๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๊ธฐํ˜ธ์— ๋Œ€ํ•ด,
ํŒŒ์ผ ์ด๋ฆ„ ๋ชฉ๋ก์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ธฐํ˜ธ๊ฐ€ ์ •์˜๋œ ๊ฒฝ์šฐ ๋‚˜์—ด๋œ ์ฒซ ๋ฒˆ์งธ ํŒŒ์ผ์€
์ •์˜์˜ ์œ„์น˜. ๊ธฐํ˜ธ๊ฐ€ ๊ณตํ†ต ๊ฐ’์œผ๋กœ ์ •์˜๋˜๋ฉด ๋ชจ๋“  ํŒŒ์ผ
์ด๊ฒƒ์ด ์ผ์–ด๋‚˜๋Š” ๊ณณ์€ ๋‹ค์Œ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ธฐํ˜ธ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ชจ๋“  ํŒŒ์ผ์€
๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

--no-define-common
์ด ์˜ต์…˜์€ ๊ณตํ†ต ๊ธฐํ˜ธ์— ๋Œ€ํ•œ ์ฃผ์†Œ ํ• ๋‹น์„ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ
"INHIBIT_COMMON_ALLOCATION" ๋ช…๋ น์€ ๋™์ผํ•œ ํšจ๊ณผ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

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

--defsym=์ƒ์ง•=ํ‘œํ˜„
๋‹ค์Œ์œผ๋กœ ์ฃผ์–ด์ง„ ์ ˆ๋Œ€ ์ฃผ์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ์ถœ๋ ฅ ํŒŒ์ผ์— ์ „์—ญ ๊ธฐํ˜ธ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
ํ‘œํ˜„. ์—ฌ๋Ÿฌ ๋ฒˆ ์ •์˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋งŒํผ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ช…๋ น์ค„์˜ ๊ธฐํ˜ธ. ์ œํ•œ๋œ ํ˜•ํƒœ์˜ ์‚ฐ์ˆ ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.
ํ‘œํ˜„ ์ด ๋ฌธ๋งฅ์—์„œ: XNUMX์ง„์ˆ˜ ์ƒ์ˆ˜๋‚˜ ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ์กด ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ "+" ๋ฐ "-"๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ XNUMX์ง„์ˆ˜ ์ƒ์ˆ˜๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ๊ฑฐ๋‚˜
๊ธฐํ˜ธ. ๋” ์ •๊ตํ•œ ํ‘œํ˜„์ด ํ•„์š”ํ•˜๋ฉด ๋ง์ปค ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.
์Šคํฌ๋ฆฝํŠธ์—์„œ ์–ธ์–ด. ์ฐธ๊ณ  : ์‚ฌ์ด์— ๊ณต๋ฐฑ์ด ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์ง•Walk Through California ํ”„๋กœ๊ทธ๋žจ,
๋“ฑํ˜ธ("="), ๊ทธ๋ฆฌ๊ณ  ํ‘œํ˜„.

--๋””์•ต๊ธ€[=์Šคํƒ€์ผ]
-- ์—‰ํ‚ด ์—†์Œ
์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ๋ฐ ๊ธฐํƒ€
์‚ฐ์ถœ. ๋ง์ปค๊ฐ€ demangle ๋ช…๋ น์„ ๋ฐ›์œผ๋ฉด ์‹ฌ๋ณผ ์ด๋ฆ„์„
์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹: ๊ฐœ์ฒด ํŒŒ์ผ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ์„ ํ–‰ ๋ฐ‘์ค„์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
ํ˜•์‹์„ ์ง€์ •ํ•˜๊ณ  C++ ๋งน๊ธ€๋ง๋œ ๊ธฐํ˜ธ ์ด๋ฆ„์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ
์ปดํŒŒ์ผ๋Ÿฌ์—๋Š” ๋‹ค๋ฅธ ๋งน๊ธ€๋ง ์Šคํƒ€์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ํƒ์  ๋””๋ง๊ธ€๋ง ์Šคํƒ€์ผ ์ธ์ˆ˜๋Š”
์ปดํŒŒ์ผ๋Ÿฌ์— ์ ํ•ฉํ•œ ๋””๋งน๊ธ€๋ง ์Šคํƒ€์ผ์„ ์„ ํƒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ง์ปค๋Š”
ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์—†์œผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ demangle COLLECT_NO_DEMANGLE ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ๋“ค
์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ๊ฐ’์„ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

-IํŒŒ์ผ
--๋™์  ๋ง์ปค=ํŒŒ์ผ
๋™์  ๋ง์ปค์˜ ์ด๋ฆ„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑํ•  ๋•Œ๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋™์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ELF ์‹คํ–‰ ํŒŒ์ผ. ๊ธฐ๋ณธ ๋™์  ๋ง์ปค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค.
๋‹น์‹ ์ดํ•˜๊ณ ์žˆ๋Š” ์ผ์„ ๋ชจ๋ฅด๋Š” ํ•œ ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

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

--์น˜๋ช…์ ์ธ ๊ฒฝ๊ณ 
--์น˜๋ช…์ ์ธ ๊ฒฝ๊ณ  ์—†์Œ
๋ชจ๋“  ๊ฒฝ๊ณ ๋ฅผ ์˜ค๋ฅ˜๋กœ ์ฒ˜๋ฆฌํ•˜์‹ญ์‹œ์˜ค. ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ๋™์ž‘์„ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
--์น˜๋ช…์ ์ธ ๊ฒฝ๊ณ  ์—†์Œ.

--force-exe-์ ‘๋ฏธ์‚ฌ
์ถœ๋ ฅ ํŒŒ์ผ์— .exe ์ ‘๋ฏธ์‚ฌ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์„ฑ๊ณต์ ์œผ๋กœ ๋นŒ๋“œ๋œ ์™„์ „ํžˆ ์—ฐ๊ฒฐ๋œ ์ถœ๋ ฅ ํŒŒ์ผ์— ".exe" ๋˜๋Š” ".dll"์ด ์—†๋Š” ๊ฒฝ์šฐ
์ ‘๋ฏธ์‚ฌ, ์ด ์˜ต์…˜์€ ๋ง์ปค๊ฐ€ ์ถœ๋ ฅ ํŒŒ์ผ์„ ๋™์ผํ•œ ์ด๋ฆ„ ์ค‘ ํ•˜๋‚˜๋กœ ๋ณต์‚ฌํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
".exe" ์ ‘๋ฏธ์‚ฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์ˆ˜์ •๋˜์ง€ ์•Š์€ Unix ๋ฉ”์ดํฌํŒŒ์ผ์„ ์‚ฌ์šฉํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
Microsoft Windows ํ˜ธ์ŠคํŠธ, Windows์˜ ์ผ๋ถ€ ๋ฒ„์ „์€
".exe" ์ ‘๋ฏธ์‚ฌ๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค.

--gc-์„น์…˜
--no-gc-์„น์…˜
์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ž…๋ ฅ ์„น์…˜์˜ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋Š” ๋Œ€์ƒ์—์„œ๋Š” ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋™์ž‘(์ด ๊ฐ€๋น„์ง€
์ปฌ๋ ‰์…˜)์„ ์ง€์ •ํ•˜์—ฌ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --no-gc-์„น์…˜ ๋ช…๋ น์ค„์—์„œ. ๋ฉ”๋ชจ
COFF ๋ฐ PE ํ˜•์‹ ๋Œ€์ƒ์— ๋Œ€ํ•œ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘์ด ์ง€์›๋˜์ง€๋งŒ
๊ตฌํ˜„์€ ํ˜„์žฌ ์‹คํ—˜์ ์ธ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

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

์ด ์˜ต์…˜์€ ๋ถ€๋ถ„ ๋งํฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ต์…˜์œผ๋กœ ํ™œ์„ฑํ™”๋จ -r). ์ด๊ฒƒ์—์„œ
๋ณด๊ด€๋œ ๊ธฐํ˜ธ์˜ ๋ฃจํŠธ๊ฐ€ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์— ์˜ํ•ด ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ --๊ธฐ์ž… or
--์ฐพ์œผ์‹œ๋Š” ์ฃผ์†Œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค ์˜ต์…˜ ๋˜๋Š” ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ์˜ "ENTRY" ๋ช…๋ น์— ์˜ํ•ด.

--print-gc-์„น์…˜
--no-print-gc-์„น์…˜
๊ฐ€๋น„์ง€ ์ˆ˜์ง‘์œผ๋กœ ์ œ๊ฑฐ๋œ ๋ชจ๋“  ์„น์…˜์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ๋ชฉ๋ก์€ stderr์— ์ธ์‡„๋ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘์ด ๋‹ค์Œ์„ ํ†ตํ•ด ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ์—๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.
--gc-์„น์…˜) ์˜ต์…˜. ๊ธฐ๋ณธ ๋™์ž‘(๋‹ค์Œ์— ์žˆ๋Š” ์„น์…˜์„ ๋‚˜์—ดํ•˜์ง€ ์•Š์Œ)
์ œ๊ฑฐ๋จ)์„ ์ง€์ •ํ•˜์—ฌ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --no-print-gc-์„น์…˜ ๋ช…๋ น ํ–‰์—์„œ.

--์ธ์‡„ ์ถœ๋ ฅ ํ˜•์‹
๊ธฐ๋ณธ ์ถœ๋ ฅ ํ˜•์‹์˜ ์ด๋ฆ„์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค(์•„๋งˆ๋„ ๋‹ค๋ฅธ ๋ช…๋ น์ค„์˜ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ).
์˜ต์…˜). ์ด๊ฒƒ์€ "OUTPUT_FORMAT" ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ์— ๋‚˜ํƒ€๋‚  ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
๋ช…๋ น.

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

์‚ฌ์šฉ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ํฌ๊ธฐ ์˜์—ญ ํฌ๊ธฐ ์‚ฌ์šฉ๋œ %age
ROM: 256KB 1MB 25.00%
RAM: 32B 2GB 0.00%

--๋„์›€
ํ‘œ์ค€ ์ถœ๋ ฅ์— ๋ช…๋ น์ค„ ์˜ต์…˜ ์š”์•ฝ์„ ์ธ์‡„ํ•˜๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

-ํƒ€๊ฒŸ ํ™€ํ”„
ํ‘œ์ค€ ์ถœ๋ ฅ ๋ฐ ์ข…๋ฃŒ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋Œ€์ƒ ํŠน์ • ์˜ต์…˜์˜ ์š”์•ฝ์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.

-์ง€๋„=๋งต ํŒŒ์ผ
ํŒŒ์ผ์— ๋Œ€ํ•œ ๋งํฌ ๋งต ์ธ์‡„ ๋งต ํŒŒ์ผ. ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. -M ์˜ต์…˜, ์œ„.

--no-keep-๋ฉ”๋ชจ๋ฆฌ
ld ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐํ˜ธ ํ…Œ์ด๋ธ”์„ ์บ์‹ฑํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ณด๋‹ค ์†๋„๋ฅผ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
๋ฉ”๋ชจ๋ฆฌ์— ํŒŒ์ผ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ๋‹ค์Œ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ld ๋Œ€์‹  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด
ํ•„์š”์— ๋”ฐ๋ผ ๊ธฐํ˜ธ ํ…Œ์ด๋ธ”์„ ๋‹ค์‹œ ์ฝ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ld ๋ถ€์กฑํ•˜๋‹ค
ํฐ ์‹คํ–‰ ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋™์•ˆ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

--์ •์˜๋˜์ง€ ์•Š์Œ
-z ๋ฐํ”„
์ผ๋ฐ˜ ๊ฐœ์ฒด ํŒŒ์ผ์—์„œ ํ™•์ธ๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ ์ฐธ์กฐ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋„ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค๊ฐ€ ๊ธฐํ˜ธ๊ฐ€ ์•„๋‹Œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์Šค์œ„์น˜
--[no-]allow-shlib-์ •์˜๋˜์ง€ ์•Š์Œ ๋ฏธํ•ด๊ฒฐ ๋ณด๊ณ ๋ฅผ ์œ„ํ•œ ๋™์ž‘์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
๋งํฌ๋˜๋Š” ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ฐพ์€ ์ฐธ์กฐ.

--ํ—ˆ์šฉ-๋‹ค์ค‘ ์ •์˜
-z ๋ฌผ ๋ฐํ”„
์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐํ˜ธ๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ์ •์˜๋˜๋ฉด ๋ง์ปค๋Š” ์น˜๋ช…์ ์ธ
์˜ค๋ฅ˜. ์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ์—ฌ๋Ÿฌ ์ •์˜๋ฅผ ํ—ˆ์šฉํ•˜๋ฉฐ ์ฒซ ๋ฒˆ์งธ ์ •์˜๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

--allow-shlib-์ •์˜๋˜์ง€ ์•Š์Œ
--no-allow-shlib-์ •์˜๋˜์ง€ ์•Š์Œ
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๋ฅผ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์Šค์œ„์น˜๋Š” ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
--์ •์˜๋˜์ง€ ์•Š์Œ ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ๋™์ž‘์„ ๊ฒฐ์ •ํ•œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๊ณ 
์ผ๋ฐ˜ ์˜ค๋ธŒ์ ํŠธ ํŒŒ์ผ์ด ์•„๋‹Œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ผ๋ฐ˜ ๊ฐœ์ฒด ํŒŒ์ผ์˜ ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๊ฐ€ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

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

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

ยท ๋งํฌ ์‹œ๊ฐ„์— ์ง€์ •๋œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ˜„์žฌ ์ง€์ •๋œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋™์ผํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋กœ๋“œ ์‹œ๊ฐ„์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ธฐํ˜ธ๋Š” ๋กœ๋“œ ์‹œ๊ฐ„์— ์‹ค์ œ๋กœ ํ•ด์„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ยท BeOS ๋ฐ HPPA์™€ ๊ฐ™์€ ์ผ๋ถ€ ์šด์˜ ์ฒด์ œ์—์„œ๋Š” ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๊ฐ€
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ •์ƒ์ž…๋‹ˆ๋‹ค.

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

--์ •์˜๋˜์ง€ ์•Š์€ ๋ฒ„์ „ ์—†์Œ
์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐํ˜ธ์— ์ •์˜๋˜์ง€ ์•Š์€ ๋ฒ„์ „์ด ์žˆ์œผ๋ฉด ๋ง์ปค๋Š” ์ด๋ฅผ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ
์ด ์˜ต์…˜์€ ๋ฒ„์ „์ด ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ์น˜๋ช…์ ์ธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋Œ€์‹ .

--๊ธฐ๋ณธ-์‹ฌ๋ฒ„
๋ฒ„์ „์ด ์ง€์ •๋˜์ง€ ์•Š์€ ๋‚ด๋ณด๋‚ธ ๊ธฐํ˜ธ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ธฐํ˜ธ ๋ฒ„์ „(soname)์„ ๋งŒ๋“ค๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

--๊ธฐ๋ณธ-๊ฐ€์ ธ์˜จ-symver
๋ฒ„์ „์ด ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฐ€์ ธ์˜จ ๊ธฐํ˜ธ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ธฐํ˜ธ ๋ฒ„์ „(soname)์„ ๋งŒ๋“ค๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

--๊ฒฝ๊ณ -๊ฒ€์ƒ‰-๋ถˆ์ผ์น˜ ์—†์Œ
์ผ๋ฐ˜์ ์œผ๋กœ ld ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘์— ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์œผ๋ฉด ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
๊ฒ€์ƒ‰. ์ด ์˜ต์…˜์€ ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์Œ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

--์ „์ฒด ์•„์นด์ด๋ธŒ ์—†์Œ
์˜ ํšจ๊ณผ๋ฅผ ๋•๋‹ˆ๋‹ค. --์ „์ฒด ์•„์นด์ด๋ธŒ ํ›„์† ์•„์นด์ด๋ธŒ ํŒŒ์ผ์— ๋Œ€ํ•œ ์˜ต์…˜์ž…๋‹ˆ๋‹ค.

--noinhibit-exec
์—ฌ์ „ํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๋งˆ๋‹ค ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ถœ๋ ฅ ํŒŒ์ผ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ง์ปค๋Š”
๋งํฌ ํ”„๋กœ์„ธ์Šค ์ค‘์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ถœ๋ ฅ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ
์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ถœ๋ ฅ ํŒŒ์ผ์„ ์“ฐ์ง€ ์•Š๊ณ  ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

-nostdlib
๋ช…๋ น์ค„์— ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๋„์„œ๊ด€
๋ง์ปค ์Šคํฌ๋ฆฝํŠธ์— ์ง€์ •๋œ ๋””๋ ‰ํ† ๋ฆฌ(์— ์ง€์ •๋œ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ ํฌํ•จ
๋ช…๋ น์ค„)์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

--oํ˜•์‹=์ถœ๋ ฅ ํ˜•์‹
ld ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๊ฐœ์ฒด ํŒŒ์ผ์„ ์ง€์›ํ•˜๋„๋ก ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋‹น์‹ ์˜ ld is
์ด ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌ์„ฑํ•˜๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --oํ˜•์‹ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์„ ์ง€์ •ํ•˜๋Š” ์˜ต์…˜
์ถœ๋ ฅ ๋ชฉ์  ํŒŒ์ผ. ๊ฒฝ์šฐ์—๋„ ld ๋Œ€์ฒด ๊ฐœ์ฒด๋ฅผ ์ง€์›ํ•˜๋„๋ก ๊ตฌ์„ฑ๋จ
ํ˜•์‹, ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง€์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ld ์ƒ์„ฑํ•˜๋„๋ก ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ ์ถœ๋ ฅ ํ˜•์‹์œผ๋กœ ๊ฐ ์‹œ์Šคํ…œ์—์„œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ํ˜•์‹์ž…๋‹ˆ๋‹ค. ์ถœ๋ ฅ ํ˜•์‹ ํ•˜๋Š”
ํ…์ŠคํŠธ ๋ฌธ์ž์—ด, BFD ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ง€์›ํ•˜๋Š” ํŠน์ • ํ˜•์‹์˜ ์ด๋ฆ„. (๋‹น์‹ ์€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹ ๋‚˜์—ด ๊ฐ์ฒด ๋คํ”„ -i.) ์Šคํฌ๋ฆฝํŠธ ๋ช…๋ น
"OUTPUT_FORMAT"๋„ ์ถœ๋ ฅ ํ˜•์‹์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด ์˜ต์…˜์ด ์ด๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

-ํŒŒ์ด
--pic-์‹คํ–‰ ๊ฐ€๋Šฅ
์œ„์น˜ ๋…๋ฆฝ ์‹คํ–‰ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ˜„์žฌ ELF์—์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
ํ”Œ๋žซํผ. ์œ„์น˜ ๋…๋ฆฝ ์‹คํ–‰ ํŒŒ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ์—์„œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
๋™์  ๋ง์ปค์— ์˜ํ•ด OS๊ฐ€ ์„ ํƒํ•œ ๊ฐ€์ƒ ์ฃผ์†Œ๋กœ ์žฌ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค.
(ํ˜ธ์ถœ๋งˆ๋‹ค ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ). ์ผ๋ฐ˜ ๋™์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์‹คํ–‰ ํŒŒ์ผ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ
์‹คํ–‰๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‹คํ–‰ ํŒŒ์ผ์— ์ •์˜๋œ ๊ธฐํ˜ธ๋Š” ๋‹ค์Œ์œผ๋กœ ์žฌ์ •์˜๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.

-qmagic
์ด ์˜ต์…˜์€ Linux ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

-Qy ์ด ์˜ต์…˜์€ SVR4 ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

--์•ˆ์‹ฌํ•˜๋‹ค
--ํœด์‹ ์—†์Œ
๊ธฐ๊ณ„ ์ข…์† ํšจ๊ณผ๊ฐ€ ์žˆ๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์ผ๋ถ€์—์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
๋ชฉํ‘œ.

์ผ๋ถ€ ํ”Œ๋žซํผ์—์„œ๋Š” --์•ˆ์‹ฌํ•˜๋‹ค ์˜ต์…˜์€ ๋Œ€์ƒ๋ณ„ ์ „์—ญ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
๋ง์ปค๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ฃผ์†Œ ์ง€์ •์„ ํ•ด๊ฒฐํ•  ๋•Œ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ฃผ์†Œ ๋ชจ๋“œ ์™„ํ™”, ์ƒˆ๋กœ์šด ๋ช…๋ น์–ด ํ•ฉ์„ฑ, ์งง์€ ๋ฒ„์ „ ์„ ํƒ
ํ˜„์žฌ ๋ช…๋ น ๋ฐ ์ƒ์ˆ˜ ๊ฐ’ ๊ฒฐํ•ฉ.

์ผ๋ถ€ ํ”Œ๋žซํผ์—์„œ ์ด๋Ÿฌํ•œ ๋งํฌ ์‹œ๊ฐ„ ์ „์—ญ ์ตœ์ ํ™”๋Š” ์‹ฌ๋ณผ๋ฆญ ๋””๋ฒ„๊น…์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฒฐ๊ณผ ์‹คํ–‰์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋งˆ์“ฐ์‹œํƒ€์˜ ๊ฒฝ์šฐ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
MN10200 ๋ฐ MN10300 ํ”„๋กœ์„ธ์„œ ์ œํ’ˆ๊ตฐ.

์ด๊ฒƒ์ด ์ง€์›๋˜์ง€ ์•Š๋Š” ํ”Œ๋žซํผ์—์„œ๋Š” --์•ˆ์‹ฌํ•˜๋‹ค ํ—ˆ์šฉ๋˜์ง€๋งŒ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ”Œ๋žซํผ์—์„œ --์•ˆ์‹ฌํ•˜๋‹ค ์˜ต์…˜์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค --ํœด์‹ ์—†์Œ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
๊ธฐ๋Šฅ.

--retain-๊ธฐํ˜ธ-ํŒŒ์ผ=ํŒŒ์ผ ์ด๋ฆ„
์œ ์ง€ํ•˜๋‹ค ๋งŒ ํŒŒ์ผ์— ๋‚˜์—ด๋œ ๊ธฐํ˜ธ ํŒŒ์ผ ์ด๋ฆ„, ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒƒ์„ ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„
ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ๊ธฐํ˜ธ ์ด๋ฆ„์ด ์žˆ๋Š” ๋‹จ์ˆœํ•œ ํ”Œ๋žซ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ํŠนํžˆ
ํฐ ์ „์—ญ ๊ธฐํ˜ธ ํ…Œ์ด๋ธ”์ด ์žˆ๋Š” ํ™˜๊ฒฝ(์˜ˆ: VxWorks)์—์„œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋Ÿฐํƒ€์ž„ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•˜๊ธฐ ์œ„ํ•ด ์ ์ง„์ ์œผ๋กœ ๋ˆ„์ ๋ฉ๋‹ˆ๋‹ค.

--retain-๊ธฐํ˜ธ-ํŒŒ์ผ ํ•˜์ง€ ์ง€์› ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ ๋˜๋Š” ๋‹ค์Œ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ธฐํ˜ธ๋ฅผ ๋ฒ„๋ฆฌ์‹ญ์‹œ์˜ค.
์žฌ๋ฐฐ์น˜.

๋‹ค์Œ๋งŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --retain-๊ธฐํ˜ธ-ํŒŒ์ผ ๋ช…๋ น์ค„์—์„œ ํ•œ ๋ฒˆ. ๊ทธ๊ฒƒ์€ ์žฌ์ •์˜ -s
๊ณผ -S.

-r๊ฒฝ๋กœ=DIR
๋Ÿฐํƒ€์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ์— ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค. ELF๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
๊ณต์œ  ๊ฐ์ฒด๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅ ๋ชจ๋‘ -rpath ์ธ์ˆ˜๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
๋Ÿฐํƒ€์ž„์— ๊ณต์œ  ๊ฐ์ฒด๋ฅผ ์ฐพ๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋Ÿฐํƒ€์ž„ ๋ง์ปค. NS -rpath
์˜ต์…˜์€ ๊ณต์œ  ๊ฐ์ฒด๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๊ณต์œ  ๊ฐ์ฒด๋ฅผ ์ฐพ์„ ๋•Œ๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋งํฌ์— ๋ช…์‹œ์ ์œผ๋กœ ํฌํ•จ๋จ ์˜ ์„ค๋ช…์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค -rpath-๋งํฌ ์˜ต์…˜. ๋งŒ์•ฝ์—
-rpath ELF ์‹คํ–‰ ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ, ํ™˜๊ฒฝ์˜ ๋‚ด์šฉ
๋ณ€์ˆ˜ "LD_RUN_PATH"๊ฐ€ ์ •์˜๋œ ๊ฒฝ์šฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

XNUMXD๋ดํƒˆ์˜ -rpath ์˜ต์…˜์€ SunOS์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ SunOS์—์„œ ๋ง์ปค๋Š”
๋ชจ๋“  ๊ฒƒ์—์„œ ๋Ÿฐํƒ€์ž„ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ๋ฅผ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. -L ์ฃผ์–ด์ง„ ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ -rpath ์„ ํƒ๊ถŒ
๊ฐ€ ์‚ฌ์šฉ๋˜๋ฉด ๋Ÿฐํƒ€์ž„ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋…์ ์ ์œผ๋กœ ํ˜•์„ฑ๋ฉ๋‹ˆ๋‹ค. -rpath ์˜ต์…˜
๋ฌด์‹œ -L ์˜ต์…˜. ์ด๊ฒƒ์€ gcc๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -L
NFS ๋งˆ์šดํŠธ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜.

๋‹ค๋ฅธ ELF ๋ง์ปค์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด -R ์˜ต์…˜ ๋’ค์— ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์˜ต๋‹ˆ๋‹ค
ํŒŒ์ผ ์ด๋ฆ„์ด ์•„๋‹Œ ์ด๋ฆ„์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. -rpath ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

-rpath-๋งํฌ=DIR
ELF ๋˜๋Š” SunOS๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ•œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋‹ค๋ฅธ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
"ld -shared" ๋งํฌ๋Š” ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ž…๋ ฅ ํŒŒ์ผ ์ค‘ ํ•˜๋‚˜๋กœ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

non-shared, non-relocateable์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ง์ปค๊ฐ€ ์ด๋Ÿฌํ•œ ์ข…์†์„ฑ์„ ๋งŒ๋‚˜๋ฉด
๋งํฌ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ž๋™์œผ๋กœ ํ•„์š”ํ•œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์•„ ํฌํ•จํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
๋ช…์‹œ์ ์œผ๋กœ ํฌํ•จ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋งํฌ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ๊ฒฝ์šฐ, -rpath-๋งํฌ ์„ ํƒ๊ถŒ
๊ฒ€์ƒ‰ํ•  ์ฒซ ๋ฒˆ์งธ ๋””๋ ‰ํ† ๋ฆฌ ์„ธํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. NS -rpath-๋งํฌ ์˜ต์…˜์€ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
๋กœ ๊ตฌ๋ถ„๋œ ์ด๋ฆ„ ๋ชฉ๋ก์„ ์ง€์ •ํ•˜์—ฌ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„ ์‹œํ€€์Šค
์ฝœ๋ก  ๋˜๋Š” ์—ฌ๋Ÿฌ ๋ฒˆ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

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

๋ง์ปค๋Š” ๋‹ค์Œ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

1. ๋‹ค์Œ์— ์˜ํ•ด ์ง€์ •๋œ ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ -rpath-๋งํฌ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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

3. ELF ์‹œ์Šคํ…œ์—์„œ ๊ธฐ๋ณธ ๋ง์ปค์˜ ๊ฒฝ์šฐ -rpath ๊ณผ -rpath-๋งํฌ ์˜ต์…˜์€
์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ "LD_RUN_PATH"์˜ ๋‚ด์šฉ์„ ๊ฒ€์ƒ‰ํ•˜์‹ญ์‹œ์˜ค.

4. SunOS์—์„œ -rpath ์˜ต์…˜์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ง€์ •๋œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹ญ์‹œ์˜ค.
์‚ฌ์šฉ -L ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

5. ๊ธฐ๋ณธ ๋ง์ปค์˜ ๊ฒฝ์šฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์˜ ๋‚ด์šฉ์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
"LD_LIBRARY_PATH".

6. ๊ธฐ๋ณธ ELF ๋ง์ปค์˜ ๊ฒฝ์šฐ ๊ณต์œ  ํŒŒ์ผ์˜ "DT_RUNPATH" ๋˜๋Š” "DT_RPATH"์— ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ํ•„์š”ํ•œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. "DT_RPATH" ํ•ญ๋ชฉ์€
"DT_RUNPATH" ํ•ญ๋ชฉ์ด ์žˆ์œผ๋ฉด ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

7. ๊ธฐ๋ณธ ๋””๋ ‰ํ† ๋ฆฌ, ์ผ๋ฐ˜์ ์œผ๋กœ / lib ๊ณผ ๋ฅผ / usr / lib์—.

8. ELF ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ ๋ง์ปค์˜ ๊ฒฝ์šฐ ํŒŒ์ผ์ด /etc/ld.so.conf ์กด์žฌ, ๋ชฉ๋ก
ํ•ด๋‹น ํŒŒ์ผ์—์„œ ๋ฐœ๊ฒฌ๋œ ๋””๋ ‰ํ† ๋ฆฌ์˜

ํ•„์š”ํ•œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฉด ๋ง์ปค๋Š” ๊ฒฝ๊ณ ๋ฅผ ๋ฐœํ–‰ํ•˜๊ณ 
๋งํฌ๋ฅผ ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

-๊ณต์œ 
-B๊ณต์œ  ๊ฐ€๋Šฅ
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ˜„์žฌ ELF, XCOFF ๋ฐ SunOS์—์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
ํ”Œ๋žซํผ. SunOS์—์„œ ๋ง์ปค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. -e
์˜ต์…˜์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ๋งํฌ์— ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

--์ •๋ ฌ-๊ณตํ†ต
--sort-common=์˜ค๋ฆ„์ฐจ์ˆœ
--sort-common=๋‚ด๋ฆผ์ฐจ์ˆœ
์ด ์˜ต์…˜์€ ld ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ๊ณตํ†ต ๊ธฐํ˜ธ๋ฅผ ์ •๋ ฌํ•˜๊ฑฐ๋‚˜
์ ์ ˆํ•œ ์ถœ๋ ฅ ์„น์…˜์— ๋ฐฐ์น˜ํ•  ๋•Œ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค. ์ƒ์ง•๋ฌผ
๊ณ ๋ ค๋˜๋Š” ์ •๋ ฌ์€ XNUMX๋ฐ”์ดํŠธ ์ด์ƒ, XNUMX๋ฐ”์ดํŠธ, XNUMX๋ฐ”์ดํŠธ, XNUMX๋ฐ”์ดํŠธ ๋ฐ
XNUMX๋ฐ”์ดํŠธ. ์ด๋Š” ์ •๋ ฌ ์ œ์•ฝ์œผ๋กœ ์ธํ•œ ๊ธฐํ˜ธ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ
์ •๋ ฌ ์ˆœ์„œ๊ฐ€ ์ง€์ •๋˜๋ฉด ๋‚ด๋ฆผ์ฐจ์ˆœ์ด ๊ฐ€์ •๋ฉ๋‹ˆ๋‹ค.

--sort-section=์ด๋ฆ„
์ด ์˜ต์…˜์€ ๋ง์ปค์˜ ๋ชจ๋“  ์™€์ผ๋“œ์นด๋“œ ์„น์…˜ ํŒจํ„ด์— "SORT_BY_NAME"์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
์Šคํฌ๋ฆฝํŠธ.

--sort-section=์ •๋ ฌ
์ด ์˜ต์…˜์€ "SORT_BY_ALIGNMENT"๋ฅผ ๋ชจ๋“  ์™€์ผ๋“œ์นด๋“œ ์„น์…˜ ํŒจํ„ด์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋ง์ปค ์Šคํฌ๋ฆฝํŠธ.

--ํŒŒ์ผ๋ณ„๋กœ ๋ถ„ํ• [=ํฌ๊ธฐ]
์œ ์‚ฌํ•˜๊ฒŒ --์žฌํ• ๋‹น์œผ๋กœ ๋ถ„ํ•  ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ๊ฐ ์ž…๋ ฅ ํŒŒ์ผ์— ๋Œ€ํ•ด ์ƒˆ ์ถœ๋ ฅ ์„น์…˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
ํฌ๊ธฐ ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํฌ๊ธฐ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

--์žฌ์ง€์ •๋ณ„ ๋ถ„ํ• [=๊ณ„์‚ฐ]
๋‹จ์ผ ์ถœ๋ ฅ ์„น์…˜์ด
ํŒŒ์ผ์ด ๋‹ค์Œ๋ณด๋‹ค ๋งŽ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์‚ฐ ์žฌ๋ฐฐ์น˜. ์ด๊ฒƒ์€ ๊ฑฐ๋Œ€ํ•œ
COFF ๊ฐœ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์‹ค์‹œ๊ฐ„ ์ปค๋„๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•œ ์žฌ๋ฐฐ์น˜ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ
ํŒŒ์ผ ํ˜•์‹; COFF๋Š” ๋‹จ์ผ ์œ„์น˜์—์„œ 65535๊ฐœ ์ด์ƒ์˜ ์žฌ๋ฐฐ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—
๋ถ€๋ถ„. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฐœ์ฒด ํŒŒ์ผ ํ˜•์‹์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ž„์˜์˜ ์„น์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋ง์ปค๋Š” ๊ฐœ๋ณ„ ์ž…๋ ฅ ์„น์…˜์„ ๋ถ„ํ• ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์žฌ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ๋‹จ์ผ ์ž…๋ ฅ ์„น์…˜์— ๊ณ„์‚ฐ ์žฌ๋ฐฐ์น˜
ํ•˜๋‚˜์˜ ์ถœ๋ ฅ ์„น์…˜์—๋Š” ๋งŽ์€ ์žฌ๋ฐฐ์น˜๊ฐ€ ํฌํ•จ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ณ„์‚ฐ ๊ธฐ๋ณธ๊ฐ’์€
32768.

--ํ†ต๊ณ„
์‹คํ–‰๊ณผ ๊ฐ™์€ ๋ง์ปค ์ž‘์—…์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
์‹œ๊ฐ„๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰.

--sysroot=์˜ˆ๋ฐฐ ๊ทœ์น™์„œ
์˜ˆ๋ฐฐ ๊ทœ์น™์„œ ๊ตฌ์„ฑ ์‹œ๊ฐ„ ๊ธฐ๋ณธ๊ฐ’์„ ์žฌ์ •์˜ํ•˜๋Š” sysroot์˜ ์œ„์น˜๋กœ.
์ด ์˜ต์…˜์€ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ๋œ ๋ง์ปค์—์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค. --sysroot์™€ ํ•จ๊ป˜.

--์ „ํ†ต ํ˜•์‹
์ผ๋ถ€ ๋Œ€์ƒ์˜ ๊ฒฝ์šฐ ์ถœ๋ ฅ ld ์–ด๋–ค ๋ฉด์—์„œ ์ผ๋ถ€์˜ ์ถœ๋ ฅ๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
๊ธฐ์กด ๋ง์ปค. ์ด ์Šค์œ„์น˜ ์š”์ฒญ ld ๋Œ€์‹  ๊ธฐ์กด ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด SunOS์—์„œ ld ๊ธฐํ˜ธ ๋ฌธ์ž์—ด ํ…Œ์ด๋ธ”์˜ ์ค‘๋ณต ํ•ญ๋ชฉ์„ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ
์ „์ฒด ๋””๋ฒ„๊น… ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ์ถœ๋ ฅ ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ 30๊ฐœ ์ด์ƒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํผ์„ผํŠธ. ๋ถˆํ–‰ํžˆ๋„, SunOS "dbx" ํ”„๋กœ๊ทธ๋žจ์€ ๊ฒฐ๊ณผ ํ”„๋กœ๊ทธ๋žจ์„ ์ฝ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค
("gdb"๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค). NS --์ „ํ†ต ํ˜•์‹ ์Šค์œ„์น˜๊ฐ€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค ld ๊ฒฐํ•ฉํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด
์ค‘๋ณต ํ•ญ๋ชฉ.

--์„น์…˜ ์‹œ์ž‘=์„น์…˜ ์ด๋ฆ„=์กฐ์ง
์— ์˜ํ•ด ์ œ๊ณต๋œ ์ ˆ๋Œ€ ์ฃผ์†Œ์—์„œ ์ถœ๋ ฅ ํŒŒ์ผ์˜ ์„น์…˜์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ์กฐ์ง. ๋‹น์‹ ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
์ด ์˜ต์…˜์€ ๋ช…๋ น์—์„œ ์—ฌ๋Ÿฌ ์„น์…˜์„ ์ฐพ๋Š” ๋ฐ ํ•„์š”ํ•œ ๋งŒํผ
์ค„์ž…๋‹ˆ๋‹ค. ์กฐ์ง ๋‹จ์ผ XNUMX์ง„์ˆ˜ ์ •์ˆ˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ง์ปค์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด
๋‹น์‹ ์€ ์„ ํ–‰์„ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค 0x ์ผ๋ฐ˜์ ์œผ๋กœ XNUMX์ง„์ˆ˜ ๊ฐ’๊ณผ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ  : ๊ฐ€
์‚ฌ์ด์— ๊ณต๋ฐฑ์ด ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„น์…˜ ์ด๋ฆ„, ๋“ฑํ˜ธ("="), ๊ทธ๋ฆฌ๊ณ  ์กฐ์ง.

-Tbss=์กฐ์ง
-๋ฐ์ดํ„ฐ=์กฐ์ง
-๋ฌธ์ž=์กฐ์ง
๊ณผ ๋™์ผ --์„น์…˜ ์‹œ์ž‘, ".bss", ".data" ๋˜๋Š” ".text"๋ฅผ ์„น์…˜ ์ด๋ฆ„.

-Ttext-์„ธ๊ทธ๋จผํŠธ=์กฐ์ง
ELF ์‹คํ–‰ ํŒŒ์ผ์„ ๋งŒ๋“ค ๋•Œ ํ…์ŠคํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ ์ฃผ์†Œ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
์„ธ๊ทธ๋จผํŠธ.

-ํŠธ๋กœ๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ=์กฐ์ง
์ฝ๊ธฐ ์ „์šฉ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๋Œ€์ƒ์— ๋Œ€ํ•ด ELF ์‹คํ–‰ ํŒŒ์ผ ๋˜๋Š” ๊ณต์œ  ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ
์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ…์ŠคํŠธ์™€ ๋ณ„๊ฐœ์˜ ์ž์ฒด ์„ธ๊ทธ๋จผํŠธ์— ์žˆ์œผ๋ฉด ์ฃผ์†Œ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
์ฝ๊ธฐ ์ „์šฉ ๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ.

-Tldata-์„ธ๊ทธ๋จผํŠธ=์กฐ์ง
x86-64 ์ค‘ํ˜• ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋ธ์šฉ ELF ์‹คํ–‰ ํŒŒ์ผ ๋˜๋Š” ๊ณต์œ  ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ
ldata ์„ธ๊ทธ๋จผํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ ์ฃผ์†Œ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

--ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ=๋ฐฉ๋ฒ•
ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์— ๋Œ€ํ•ด XNUMX๊ฐ€์ง€ ๊ฐ€๋Šฅํ•œ ๊ฐ’์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐฉ๋ฒ•:

์ „๋ถ€๋‹ค ๋ฌด์‹œํ•ด๋ผ
ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๋ฅผ ๋ณด๊ณ ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

๋ชจ๋‘ ๋ณด๊ณ ํ•˜๋‹ค
ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๋ชจ๋“  ๊ธฐํ˜ธ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.

๊ฐœ์ฒด ํŒŒ์ผ์—์„œ ๋ฌด์‹œ
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ํฌํ•จ๋œ ํ™•์ธ๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๋ฅผ ๋ณด๊ณ ํ•˜์ง€๋งŒ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.
์ผ๋ฐ˜ ๊ฐœ์ฒด ํŒŒ์ผ์—์„œ ์˜จ ๊ฒฝ์šฐ.

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

์ž์ฒด์ ์œผ๋กœ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋™์ž‘์„ ์ œ์–ดํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
--[no-]allow-shlib-์ •์˜๋˜์ง€ ์•Š์Œ ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

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

--dll-์ƒ์„ธ
--์žฅํ™ฉํ•œ[=NUMBER]
์— ๋Œ€ํ•œ ๋ฒ„์ „ ๋ฒˆํ˜ธ ํ‘œ์‹œ ld ์ง€์›๋˜๋Š” ๋ง์ปค ์—๋ฎฌ๋ ˆ์ด์…˜์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์‹œํ•˜๋‹ค
์–ด๋–ค ์ž…๋ ฅ ํŒŒ์ผ์„ ์—ด ์ˆ˜ ์žˆ๊ณ  ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์ค‘์ธ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ ํ‘œ์‹œ
๋ง์ปค. ์„ ํƒ์‚ฌํ•ญ์ธ ๊ฒฝ์šฐ NUMBER ์ธ์ˆ˜ > 1, ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ธฐํ˜ธ ์ƒํƒœ๋„
ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

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

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

์—ฌ๊ธฐ์— C ์˜ˆ์ œ๋กœ ์„ค๋ช…๋œ ์„ธ ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์ „์—ญ ๊ธฐํ˜ธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

INT i = 1;
์ถœ๋ ฅ ํŒŒ์ผ์˜ ์ดˆ๊ธฐํ™”๋œ ๋ฐ์ดํ„ฐ ์„น์…˜์— ๋“ค์–ด๊ฐ€๋Š” ์ •์˜.

์™ธ๋ถ€ INT i;
๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜์ง€ ์•Š๋Š” ์ •์˜๋˜์ง€ ์•Š์€ ์ฐธ์กฐ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์–ด๋”˜๊ฐ€์— ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ •์˜ ๋˜๋Š” ๊ณตํ†ต ๊ธฐํ˜ธ.

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

XNUMXD๋ดํƒˆ์˜ --๊ฒฝ๊ณ -๊ณตํ†ต ์˜ต์…˜์€ XNUMX๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ๊ฒฝ๊ณ ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ฒฝ๊ณ ๋Š” ๋‹ค์Œ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
ํ•œ ์Œ์˜ ๋ผ์ธ: ์ฒซ ๋ฒˆ์งธ๋Š” ๋ฐฉ๊ธˆ ๋งŒ๋‚œ ๊ธฐํ˜ธ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ๋‘ ๋ฒˆ์งธ๋Š”
๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ๋ฐœ๊ฒฌ๋œ ์ด์ „ ๊ธฐํ˜ธ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋‘˜ ์ค‘ ํ•˜๋‚˜ ๋˜๋Š” ๋‘˜ ๋‹ค
๊ธฐํ˜ธ๋Š” ๊ณตํ†ต ๊ธฐํ˜ธ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

1. ์ด๋ฏธ ์ •์˜๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณตํ†ต ๊ธฐํ˜ธ๋ฅผ ์ฐธ์กฐ๋กœ ์ „ํ™˜
์ƒ์ง•์„ ์œ„ํ•ด.

( ): ๊ฒฝ๊ณ : `์˜ ๊ณตํ†ต '
์ •์˜์— ์˜ํ•ด ์žฌ์ •์˜๋จ
( ): ๊ฒฝ๊ณ : ์—ฌ๊ธฐ์— ์ •์˜๋จ

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

( ): ๊ฒฝ๊ณ : `์˜ ์ •์˜ '
์šฐ์„  ๊ณตํ†ต
( ): ๊ฒฝ๊ณ : ๊ณตํ†ต์ด ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.

3. ๊ณตํ†ต ์‹ฌ๋ณผ์„ ์ด์ „์˜ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ๊ณตํ†ต ์‹ฌ๋ณผ๊ณผ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

( ): ๊ฒฝ๊ณ : ๋‹ค์ค‘ ๊ณตํ†ต
`์˜ '
( ): ๊ฒฝ๊ณ : ์ด์ „ ๊ณตํ†ต์ด ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.

4. ๊ณตํ†ต ์‹ฌ๋ณผ์„ ์ด์ „์˜ ๋” ํฐ ๊ณตํ†ต ์‹ฌ๋ณผ๊ณผ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

( ): ๊ฒฝ๊ณ : `์˜ ๊ณตํ†ต '
๋” ํฐ ๊ณตํ†ต์œผ๋กœ ์žฌ์ •์˜๋จ
( ): ๊ฒฝ๊ณ : ๋” ํฐ ๊ณตํ†ต์ด ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.

5. ๊ณตํ†ต ์‹ฌ๋ณผ์„ ์ด์ „์˜ ๋” ์ž‘์€ ๊ณตํ†ต ์‹ฌ๋ณผ๊ณผ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋™์ผํ•˜๋‹ค
๊ธฐํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ์œ„์น˜์—์„œ ๋งŒ๋‚˜๋Š” ๊ฒƒ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์ด์ „์˜ ๊ฒฝ์šฐ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ฃผ๋ฌธ.

( ): ๊ฒฝ๊ณ : `์˜ ๊ณตํ†ต '
๋” ์ž‘์€ ๊ณตํ†ต ์žฌ์ •์˜
( ): ๊ฒฝ๊ณ : ๋” ์ž‘์€ ๊ณตํ†ต์ด ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.

--warn-์ƒ์„ฑ์ž
์ „์—ญ ์ƒ์„ฑ์ž๊ฐ€ ์‚ฌ์šฉ๋˜๋ฉด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ช‡ ๊ฐ€์ง€ ๋ชฉ์  ํŒŒ์ผ์—๋งŒ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
ํ˜•์‹. COFF ๋˜๋Š” ELF์™€ ๊ฐ™์€ ํ˜•์‹์˜ ๊ฒฝ์šฐ ๋ง์ปค๋Š” ์ „์—ญ ์‚ฌ์šฉ์„ ๊ฐ์ง€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์ƒ์„ฑ์ž.

--warn-๋‹ค์ค‘-gp
์ถœ๋ ฅ ํŒŒ์ผ์— ์—ฌ๋Ÿฌ ๊ธ€๋กœ๋ฒŒ ํฌ์ธํ„ฐ ๊ฐ’์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹จ์ง€
Alpha์™€ ๊ฐ™์€ ํŠน์ • ํ”„๋กœ์„ธ์„œ์— ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ผ๋ถ€ ํ”„๋กœ์„ธ์„œ
ํŠน๋ณ„ํ•œ ์„น์…˜์— ํฐ ๊ฐ’์˜ ์ƒ์ˆ˜๋ฅผ ๋„ฃ์œผ์‹ญ์‹œ์˜ค. ํŠน์ˆ˜ ๋ ˆ์ง€์Šคํ„ฐ(๊ธ€๋กœ๋ฒŒ
ํฌ์ธํ„ฐ)๊ฐ€ ์ด ์„น์…˜์˜ ์ค‘๊ฐ„์„ ๊ฐ€๋ฆฌํ‚ค๋ฏ€๋กœ ์ƒ์ˆ˜๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฒ ์ด์Šค ๋ ˆ์ง€์Šคํ„ฐ ์ƒ๋Œ€ ์ฃผ์†Œ ์ง€์ • ๋ชจ๋“œ๋ฅผ ํ†ตํ•ด ํšจ์œจ์ ์œผ๋กœ ๋ฒ ์ด์Šค์˜ ์˜คํ”„์…‹ ์ดํ›„-
๋ ˆ์ง€์Šคํ„ฐ ์ƒ๋Œ€ ๋ชจ๋“œ๋Š” ๊ณ ์ •๋˜๊ณ  ์ƒ๋Œ€์ ์œผ๋กœ ์ž‘์Šต๋‹ˆ๋‹ค(์˜ˆ: 16๋น„ํŠธ).
์ƒ์ˆ˜ ํ’€์˜ ์ตœ๋Œ€ ํฌ๊ธฐ. ๋”ฐ๋ผ์„œ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์ข…์ข… ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฌ๋Ÿฌ ์ „์—ญ ํฌ์ธํ„ฐ ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ƒ์ˆ˜. ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœํ–‰๋ฉ๋‹ˆ๋‹ค.

--๊ฒฝ๊ณ -ํ•œ ๋ฒˆ
๋‹ค์Œ์„ ์ฐธ์กฐํ•˜๋Š” ๋ชจ๋“ˆ๋‹น ํ•œ ๋ฒˆ์ด ์•„๋‹ˆ๋ผ ์ •์˜๋˜์ง€ ์•Š์€ ๊ฐ ๊ธฐํ˜ธ์— ๋Œ€ํ•ด ํ•œ ๋ฒˆ๋งŒ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ.

--๊ฒฝ๊ณ  ์„น์…˜ ์ •๋ ฌ
์ •๋ ฌ๋กœ ์ธํ•ด ์ถœ๋ ฅ ์„น์…˜์˜ ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ,
์ •๋ ฌ์€ ์ž…๋ ฅ ์„น์…˜์— ์˜ํ•ด ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ฃผ์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋งŒ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.
๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •๋˜์ง€ ์•Š์Œ; ์ฆ‰, "SECTIONS" ๋ช…๋ น์ด ์‹œ์ž‘์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด
์„น์…˜์˜ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

--warn-shared-textrel
๋ง์ปค๊ฐ€ ๊ณต์œ  ๊ฐœ์ฒด์— DT_TEXTREL์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

--๊ฒฝ๊ณ -๋Œ€์ฒด-em
๊ฐœ์ฒด์— ๋Œ€์ฒด ELF ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

--๊ฒฝ๊ณ -๋ฏธํ•ด๊ฒฐ-๊ธฐํ˜ธ
๋ง์ปค๊ฐ€ ํ™•์ธ๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๋ฅผ ๋ณด๊ณ ํ•  ๊ฒฝ์šฐ(์˜ต์…˜ ์ฐธ์กฐ
--ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ) ์ผ๋ฐ˜์ ์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€
๋Œ€์‹  ๊ฒฝ๊ณ ๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค.

--์˜ค๋ฅ˜-ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€-๊ธฐํ˜ธ
์ด๊ฒƒ์€ ๋ณด๊ณ ํ•  ๋•Œ ์˜ค๋ฅ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ง์ปค์˜ ๊ธฐ๋ณธ ๋™์ž‘์„ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.
ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ.

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

gcc์—์„œ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ๋•Œ ๋‘ ๊ฐ€์ง€ ์ฐธ๊ณ  ์‚ฌํ•ญ: ์ฒซ์งธ, gcc๋Š” ์ด ์˜ต์…˜์— ๋Œ€ํ•ด ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ๋‹น์‹ ์€ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค -Wl,-์ „์ฒด ์•„์นด์ด๋ธŒ. ๋‘˜์งธ, ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค
-Wl,-no-์ „์ฒด ์•„์นด์ด๋ธŒ ์•„์นด์ด๋ธŒ ๋ชฉ๋ก ๋’ค์— gcc๊ฐ€ ์ž์ฒด ๋ชฉ๋ก์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
์•„์นด์ด๋ธŒ๋ฅผ ๋งํฌ์— ์ถ”๊ฐ€ํ•˜๊ณ  ์ด ํ”Œ๋ž˜๊ทธ๊ฐ€ ํ•ด๋‹น ์•„์นด์ด๋ธŒ์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ๋ฅผ ์›ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

--๋žฉ=์ƒ์ง•
๋ž˜ํผ ํ•จ์ˆ˜ ์‚ฌ์šฉ ์ƒ์ง•. ์ •์˜๋˜์ง€ ์•Š์€ ์ฐธ์กฐ ์ƒ์ง• ํ•ด๊ฒฐ๋  ๊ฒƒ์ด๋‹ค
"__๋žฉ_์ƒ์ง•". "__real_์— ๋Œ€ํ•œ ์ •์˜๋˜์ง€ ์•Š์€ ์ฐธ์กฐ์ƒ์ง•" ๋กœ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค
์ƒ์ง•.

์ด๊ฒƒ์€ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋ž˜ํผ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ž˜ํผ ํ•จ์ˆ˜
"__wrap_์ƒ์ง•". ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•˜๋ ค๋ฉด
์ „ํ™” "__real_์ƒ์ง•".

๋‹ค์Œ์€ ๊ฐ„๋‹จํ•œ ์˜ˆ์ž…๋‹ˆ๋‹ค.

๋ฌดํšจ์˜ *
__wrap_malloc(ํฌ๊ธฐ_t c)
{
printf("malloc์ด %zu๋กœ ํ˜ธ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค\n", c);
๋ฐ˜ํ™˜ __real_malloc(c);
}

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ํŒŒ์ผ์— ๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ --ํฌ์žฅํ•˜๋‹ค Malloc, "malloc"์— ๋Œ€ํ•œ ๋ชจ๋“  ํ˜ธ์ถœ
๋Œ€์‹  "__wrap_malloc" ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. "__real_malloc"์— ๋Œ€ํ•œ ํ˜ธ์ถœ
"__wrap_malloc"์€ ์‹ค์ œ "malloc" ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

"__real_malloc" ํ•จ์ˆ˜๋„ ์ œ๊ณตํ•˜์—ฌ ๋งํฌ๊ฐ€ ์—†๋Š” ๋งํฌ๊ฐ€
--ํฌ์žฅํ•˜๋‹ค ์˜ต์…˜์ด ์„ฑ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์˜ ์ •์˜๋ฅผ ๋„ฃ์œผ๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
"__wrap_malloc"๊ณผ ๋™์ผํ•œ ํŒŒ์ผ์˜ "__real_malloc"; ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ์–ด์…ˆ๋ธ”๋Ÿฌ๊ฐ€
๋ง์ปค๊ฐ€ "malloc"์œผ๋กœ ๋ž˜ํ•‘ํ•˜๊ธฐ ์ „์— ํ˜ธ์ถœ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

--eh-ํ”„๋ ˆ์ž„-hdr
".eh_frame_hdr" ์„น์…˜ ๋ฐ ELF "PT_GNU_EH_FRAME" ์„ธ๊ทธ๋จผํŠธ ํ—ค๋” ์ƒ์„ฑ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

--no-ld-์ƒ์„ฑ-ํ•ด์ œ-์ •๋ณด
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ง์ปค ์ƒ์„ฑ ์ฝ”๋“œ ์„น์…˜์— ๋Œ€ํ•œ ".eh_frame" ํ•ด์ œ ์ •๋ณด ์ƒ์„ฑ ์š”์ฒญ
PLT. ๋ง์ปค์—์„œ ์ƒ์„ฑํ•œ ํ•ด์ œ ์ •๋ณด๊ฐ€ ์ง€์›๋˜๋Š” ๊ฒฝ์šฐ ์ด ์˜ต์…˜์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผœ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

--enable-new-dtags
--disable-new-dtags
์ด ๋ง์ปค๋Š” ELF์—์„œ ์ƒˆ๋กœ์šด ๋™์  ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ตฌํ˜• ELF ์‹œ์Šคํ…œ์€ ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋“ค์„ ์ดํ•ดํ•˜์‹ญ์‹œ์˜ค. ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ --enable-new-dtags, ์ƒˆ ๋™์  ํƒœ๊ทธ๋Š”
ํ•„์š”์— ๋”ฐ๋ผ ์ƒ์„ฑ๋˜๋ฉฐ ์ด์ „ ๋™์  ํƒœ๊ทธ๋Š” ์ƒ๋žต๋ฉ๋‹ˆ๋‹ค. ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ
--disable-new-dtags, ์ƒˆ ๋™์  ํƒœ๊ทธ๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒˆ๋กœ์šด ๋™์ 
ํƒœ๊ทธ๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ELF ์‹œ์Šคํ…œ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

--ํ•ด์‹œ ์Šคํƒ€์ผ=์Šคํƒ€์ผ
๋ง์ปค์˜ ํ•ด์‹œ ํ…Œ์ด๋ธ” ์œ ํ˜•์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ€์ผ ํด๋ž˜์‹ ELF์˜ ๊ฒฝ์šฐ "sysv"์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
".hash" ์„น์…˜, ์ƒˆ๋กœ์šด ์Šคํƒ€์ผ GNU์˜ ๊ฒฝ์šฐ "gnu" ".gnu.hash" ์„น์…˜ ๋˜๋Š” ๋‘˜ ๋‹ค์— ๋Œ€ํ•œ "both"
๊ณ ์ „์ ์ธ ELF ".hash" ๋ฐ ์ƒˆ๋กœ์šด ์Šคํƒ€์ผ์˜ GNU ".gnu.hash" ํ•ด์‹œ ํ…Œ์ด๋ธ”. ๊ธฐ๋ณธ๊ฐ’์€ "sysv"์ž…๋‹ˆ๋‹ค.

--compress-debug-sections=์—†์Œ
--์••์ถ•-๋””๋ฒ„๊ทธ-์„น์…˜=zlib
--์••์ถ•-๋””๋ฒ„๊ทธ-์„น์…˜=zlib-gnu
--์••์ถ•-๋””๋ฒ„๊ทธ-์„น์…˜=zlib-gabi
ELF ํ”Œ๋žซํผ์—์„œ ์ด ์˜ต์…˜์€ DWARF ๋””๋ฒ„๊ทธ ์„น์…˜์ด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ•๋˜๋Š” ๋ฐฉ์‹์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
์ฆ๋ฆฌ๋ธŒ. --compress-debug-sections=์—†์Œ DWARF ๋””๋ฒ„๊ทธ ์„น์…˜์„ ์••์ถ•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
--์••์ถ•-๋””๋ฒ„๊ทธ-์„น์…˜=zlib-gnu DWARF ๋””๋ฒ„๊ทธ ์„น์…˜์„ ์••์ถ•ํ•˜๊ณ  ๋””๋ฒ„๊ทธ ์ด๋ฆ„์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.
์‹œ์ž‘ํ•˜๋Š” ์„น์…˜ ์ด๋ฆ„ .z๋””๋ฒ„๊ทธ ๋Œ€์‹  .๋””๋ฒ„๊ทธ. --์••์ถ•-๋””๋ฒ„๊ทธ-์„น์…˜=zlib
๊ณผ --์••์ถ•-๋””๋ฒ„๊ทธ-์„น์…˜=zlib-gabi DWARF ๋””๋ฒ„๊ทธ ์„น์…˜ ์••์ถ•
ELF ABI์˜ SHF_COMPRESSED. ๊ธฐ๋ณธ ๋™์ž‘์€
๊ด€๋ จ๋œ ๋Œ€์ƒ ๋ฐ ๋„๊ตฌ ์ฒด์ธ์„ ๋นŒ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ์„ฑ ์˜ต์…˜. ๊ธฐ๋ณธ๊ฐ’
๋ง์ปค์˜ ์ถœ๋ ฅ์„ ๊ฒ€์‚ฌํ•˜์—ฌ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --๋„์›€ ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

--๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ์†Œ
์ด ์˜ต์…˜์€ ๋งํฌ๋ฅผ ํฌ์ƒํ•˜์—ฌ ld ๋Ÿฐํƒ€์ž„์— ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ค„์ž…๋‹ˆ๋‹ค.
์†๋„. ์ด๊ฒƒ์€ ๋งํฌ ๋งต ํŒŒ์ผ์— ๋Œ€ํ•œ ์ด์ „ O(n^2) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ƒ์„ฑ์„ ์œ„ํ•ด ์•ฝ 40% ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒˆ๋กœ์šด O(n) ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค
๊ธฐํ˜ธ ์ €์žฅ.

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

XNUMXD๋ดํƒˆ์˜ --๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ์†Œ ์Šค์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์ ˆ์ถฉ์•ˆ์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ง์ปค์˜ ๋ฏธ๋ž˜ ๋ฒ„์ „.

--๋นŒ๋“œ ์•„์ด๋””
--๋นŒ๋“œ ์•„์ด๋””=์Šคํƒ€์ผ
".note.gnu.build-id" ELF ๋ฉ”๋ชจ ์„น์…˜ ๋˜๋Š” ".buildid" COFF ์ƒ์„ฑ ์š”์ฒญ
๋ถ€๋ถ„. ๋ฉ”๋ชจ์˜ ๋‚ด์šฉ์€ ์ด ์—ฐ๊ฒฐ๋œ ํŒŒ์ผ์„ ์‹๋ณ„ํ•˜๋Š” ๊ณ ์œ ํ•œ ๋น„ํŠธ์ž…๋‹ˆ๋‹ค.
์Šคํƒ€์ผ 128๊ฐœ์˜ ์ž„์˜ ๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด "uuid"๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ณ , 1๋น„ํŠธ SHA160 ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด "sha1"์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ถœ๋ ฅ ๋‚ด์šฉ์˜ ๊ทœ๋ฒ”์ ์ธ ๋ถ€๋ถ„, "md5"๋Š” 128๋น„ํŠธ MD5 ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ถœ๋ ฅ ๋‚ด์šฉ์˜ ๊ทœ๋ฒ”์ ์ธ ๋ถ€๋ถ„ ๋˜๋Š” "0x์œก๊ฐ ๋ฌธ์ž์—ด" ์„ ํƒํ•œ ๋น„ํŠธ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด
์ง์ˆ˜์˜ XNUMX์ง„์ˆ˜๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค("-" ๋ฐ ":" ๋ฌธ์ž ์‚ฌ์ด
์ˆซ์ž ์Œ์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค). ๋งŒ์•ฝ์— ์Šคํƒ€์ผ ์ƒ๋žตํ•˜๋ฉด "sha1"์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

"md5" ๋ฐ "sha1" ์Šคํƒ€์ผ์€ ํ•ญ์ƒ ๋™์ผํ•œ ์‹๋ณ„์ž๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
๋™์ผํ•œ ์ถœ๋ ฅ ํŒŒ์ผ์ด์ง€๋งŒ ๋™์ผํ•˜์ง€ ์•Š์€ ๋ชจ๋“  ์ถœ๋ ฅ ํŒŒ์ผ ์ค‘์—์„œ ๊ณ ์œ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€์ด๋‹ค
ํŒŒ์ผ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์ฒดํฌ์„ฌ์œผ๋กœ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋งํฌ๋œ ํŒŒ์ผ์€
๋‚˜์ค‘์— ๋‹ค๋ฅธ ๋„๊ตฌ์— ์˜ํ•ด ๋ณ€๊ฒฝ๋˜์ง€๋งŒ ์›๋ณธ์„ ์‹๋ณ„ํ•˜๋Š” ๋นŒ๋“œ ID ๋น„ํŠธ ๋ฌธ์ž์—ด
๋งํฌ๋œ ํŒŒ์ผ์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

"์—†์Œ" ์ „๋‹ฌ ์Šคํƒ€์ผ ์ด์ „์— "--build-id" ์˜ต์…˜์—์„œ ์„ค์ •์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
๋ช…๋ น์ค„.

i386 PE ๋ง์ปค๋Š” ๋‹ค์Œ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. -๊ณต์œ  ์ถœ๋ ฅ์ด ๋˜๋„๋ก ํ•˜๋Š” ์˜ต์…˜
์ผ๋ฐ˜ ์‹คํ–‰ ํŒŒ์ผ ๋Œ€์‹  ๋™์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(DLL). ์ด๋ฆ„์„ ์ง€์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ๋•Œ "*.dll"์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ง์ปค๋Š”
๊ฐœ์ฒด์ฒ˜๋Ÿผ ๋ง์ปค ๋ช…๋ น์ค„์— ์ง€์ •๋  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ "*.def" ํŒŒ์ผ
ํŒŒ์ผ(์‚ฌ์‹ค, ์‹ฌ๋ณผ์„ ๋‚ด๋ณด๋‚ด๋Š” ์•„์นด์ด๋ธŒ๋ณด๋‹ค ๋จผ์ € ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ผ๋ฐ˜ ์˜ค๋ธŒ์ ํŠธ ํŒŒ์ผ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋งํฌ๋จ).

๋ชจ๋“  ๋Œ€์ƒ์— ๊ณตํ†ต์ ์ธ ์˜ต์…˜ ์™ธ์—๋„ i386 PE ๋ง์ปค๋Š” ์ถ”๊ฐ€ ์ง€์›
i386 PE ๋Œ€์ƒ๊ณผ ๊ด€๋ จ๋œ ๋ช…๋ น์ค„ ์˜ต์…˜. ๊ฐ’์„ ์ทจํ•˜๋Š” ์˜ต์…˜
๊ณต๋ฐฑ์ด๋‚˜ ๋“ฑํ˜ธ๋กœ ๊ฐ’๊ณผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

--์ถ”๊ฐ€-stdcall-๋ณ„์นญ
์ฃผ์–ด์ง„ ๊ฒฝ์šฐ stdcall ์ ‘๋ฏธ์‚ฌ๊ฐ€ ์žˆ๋Š” ๊ธฐํ˜ธ(@nn) ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ๋ฐ ํ•จ๊ป˜ ๋‚ด๋ณด๋‚ด์ง‘๋‹ˆ๋‹ค.
์ ‘๋ฏธ์‚ฌ ์ œ๊ฑฐ. [์ด ์˜ต์…˜์€ ๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.]

--๋ฒ ์ด์Šค ํŒŒ์ผ ํŒŒ์ผ
ํŒŒ์ผ ๋ชจ๋“  ๊ธฐ๋ณธ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•  ํŒŒ์ผ์˜ ์ด๋ฆ„์œผ๋กœ
DLL์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์žฌ๋ฐฐ์น˜ DLL ๋„๊ตฌ. [i386 PE ์ „์šฉ์ž…๋‹ˆ๋‹ค.
์˜ต์…˜]

--dll
์ผ๋ฐ˜ ์‹คํ–‰ ํŒŒ์ผ ๋Œ€์‹  DLL์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๋˜ํ•œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค -๊ณต์œ  ๋˜๋Š” ์ง€์ •
์ฃผ์–ด์ง„ ".def" ํŒŒ์ผ์˜ "LIBRARY". [์ด ์˜ต์…˜์€ ๋Œ€์ƒ i386 PE์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค์˜ ํฌํŠธ]

--ํ™œ์„ฑํ™” ๊ธด ์„น์…˜ ์ด๋ฆ„
--๋น„ํ™œ์„ฑํ™” ๊ธด ์„น์…˜ ์ด๋ฆ„
COFF ๊ฐœ์ฒด ํ˜•์‹์˜ PE ๋ณ€ํ˜•์€ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
์„น์…˜ ์ด๋ฆ„์ด XNUMX์ž๋ณด๋‹ค ๊ธธ๋ฉด COFF์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์ œํ•œ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ,
์ด ์ด๋ฆ„์€ ์™„์ „ํžˆ ์—ฐ๊ฒฐ๋œ ์‹คํ–‰ ์ด๋ฏธ์ง€๊ฐ€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ฐœ์ฒด ํŒŒ์ผ์—์„œ๋งŒ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋” ๊ธด ์ด๋ฆ„์„ ์ง€์›ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ COFF ๋ฌธ์ž์—ด ํ…Œ์ด๋ธ”์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. GNU ํ™•์žฅ์œผ๋กœ,
์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ด๋ฏธ์ง€์—์„œ๋„ ์‚ฌ์šฉ์„ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ (์•„๋งˆ๋„
๋ฌด์˜๋ฏธํ•˜๊ฒŒ!) ์ด ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ์ฒด ํŒŒ์ผ์—์„œ ์ด๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ ํŒŒ์ผ
์ด๋Ÿฌํ•œ ๊ธด ์„น์…˜ ์ด๋ฆ„์œผ๋กœ ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๋Š” ์•ฝ๊ฐ„ ๋น„ํ‘œ์ค€์ž…๋‹ˆ๋‹ค.
๊ทธ๋“ค์€ ๋ฌธ์ž์—ด ํ…Œ์ด๋ธ”์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋น„ GNU๋กœ ๊ฒ€์‚ฌํ•  ๋•Œ ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŒŒ์ผ ๋ทฐ์–ด ๋ฐ ๋คํผ์™€ ๊ฐ™์€ PE ์ธ์‹ ๋„๊ตฌ. ๊ทธ๋Ÿฌ๋‚˜ GDB๋Š” ๋‹ค์Œ์˜ ์‚ฌ์šฉ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค.
์‹คํ–‰ ํŒŒ์ผ์—์„œ Dwarf-2 ๋””๋ฒ„๊ทธ ์ •๋ณด ์„น์…˜์„ ์ฐพ๊ธฐ ์œ„ํ•œ PE ๊ธด ์„น์…˜ ์ด๋ฆ„
๋Ÿฐํƒ€์ž„ ์‹œ ์ด๋ฏธ์ง€์ด๋ฏ€๋กœ ๋ช…๋ น์ค„์— ๋‘ ์˜ต์…˜์ด ๋ชจ๋‘ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ld ์˜์ง€
๊ธฐ๋ณธ ๋ฐ ๊ธฐ์ˆ ์ ์œผ๋กœ ์˜ฌ๋ฐ”๋ฅธ ๋™์ž‘์„ ์žฌ์ •์˜ํ•˜์—ฌ ๊ธด ์„น์…˜ ์ด๋ฆ„์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋งํฌํ•˜๋Š” ๋™์•ˆ ๋””๋ฒ„๊ทธ ์ •๋ณด์˜ ์กด์žฌ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ 
๊ธฐํ˜ธ๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€ ๋ง์ปค์˜ ๋ชจ๋“  PE ๋Œ€์ƒ ํฌํŠธ์— ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.]

--enable-stdcall-fixup
--disable-stdcall-fixup
๋งํฌ๊ฐ€ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๊ธฐํ˜ธ๋ฅผ ์ฐพ์œผ๋ฉด "ํผ์ง€
์—ฐ๊ฒฐ" ํ˜•์‹๋งŒ ๋‹ค๋ฅธ ์ •์˜๋œ ๋˜ ๋‹ค๋ฅธ ๊ธฐํ˜ธ๋ฅผ ์ฐพ์Œ์œผ๋กœ์จ
๊ธฐํ˜ธ ์ด๋ฆ„(cdecl ๋Œ€ stdcall)๊ณผ ์ผ์น˜ํ•˜๋Š” ํ•ญ๋ชฉ์— ์—ฐ๊ฒฐํ•˜์—ฌ ํ•ด๋‹น ๊ธฐํ˜ธ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ "_foo"๋Š” "_foo@12" ํ•จ์ˆ˜์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ "_bar@16"์€ "_bar" ๊ธฐ๋Šฅ์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋•Œ
๋ง์ปค๊ฐ€ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ์—ฐ๊ฒฐ์— ์‹คํŒจํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ฒฝ๊ณ ๋ฅผ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋•Œ๋•Œ๋กœ ํƒ€์‚ฌ dll์—์„œ ์ƒ์„ฑ๋œ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ด ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ --enable-stdcall-fixup, ์ด ๊ธฐ๋Šฅ์ด ์™„์ „ํžˆ ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋ฐ ๊ฒฝ๊ณ ๊ฐ€ ์ธ์‡„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ --disable-stdcall-fixup, ์ด ๊ธฐ๋Šฅ์€
๋น„ํ™œ์„ฑํ™”๋˜๋ฉฐ ์ด๋Ÿฌํ•œ ๋ถˆ์ผ์น˜๋Š” ์˜ค๋ฅ˜๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ]

--์„ ํ–‰ ๋ฐ‘์ค„
--์•ž์— ๋ฐ‘์ค„ ์—†์Œ
๋Œ€๋ถ€๋ถ„์˜ ๋Œ€์ƒ์— ๋Œ€ํ•ด ๊ธฐ๋ณธ ๊ธฐํ˜ธ ์ ‘๋‘์‚ฌ๋Š” ๋ฐ‘์ค„์ด๋ฉฐ ๋Œ€์ƒ์˜
์„ค๋ช…. ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ๋ฐ‘์ค„์„ ๋น„ํ™œ์„ฑํ™”/ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐํ˜ธ ์ ‘๋‘์‚ฌ.

--๋‚ด๋ณด๋‚ด๊ธฐ-๋ชจ๋“  ๊ธฐํ˜ธ
์ฃผ์–ด์ง„ ๊ฒฝ์šฐ DLL์„ ๋นŒ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐœ์ฒด์˜ ๋ชจ๋“  ์ „์—ญ ๊ธฐํ˜ธ๋Š” ๋‹ค์Œ์—์„œ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
DLL. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‚ด๋ณด๋‚ผ ํ•ญ๋ชฉ์ด ์—†๋Š” ๊ฒฝ์šฐ ์ด๊ฒƒ์ด ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.
๊ธฐํ˜ธ. ๊ธฐํ˜ธ๋ฅผ DEF ํŒŒ์ผ์„ ํ†ตํ•ด ๋ช…์‹œ์ ์œผ๋กœ ๋‚ด๋ณด๋‚ด๊ฑฐ๋‚˜ ์•”์‹œ์ ์œผ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ
ํ•จ์ˆ˜ ์†์„ฑ์„ ํ†ตํ•ด ๊ธฐ๋ณธ๊ฐ’์€ ์ด ์˜ต์…˜์ด ์—†์œผ๋ฉด ๋‹ค๋ฅธ ๊ฒƒ์„ ๋‚ด๋ณด๋‚ด์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ฃผ์–ด์ง„๋‹ค. ๊ธฐํ˜ธ "DllMain@12", "DllEntryPoint@0",
"DllMainCRTStartup@12" ๋ฐ "impure_ptr"์€ ์ž๋™์œผ๋กœ ๋‚ด๋ณด๋‚ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ,
๋‹ค๋ฅธ DLL์—์„œ ๊ฐ€์ ธ์˜จ ๊ธฐํ˜ธ๋Š” ๋‹ค์‹œ ๋‚ด๋ณด๋‚ด์ง€์ง€ ์•Š์œผ๋ฉฐ ๋‹ค์Œ์„ ์ง€์ •ํ•˜๋Š” ๊ธฐํ˜ธ๋„ ๋‚ด๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
"_head_"๋กœ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ์œผ๋กœ ๋๋‚˜๋Š” DLL์˜ ๋‚ด๋ถ€ ๋ ˆ์ด์•„์›ƒ
"_์ด๋ฆ„". ๋˜ํ•œ "libgcc", "libstd++", "libmingw32" ๋˜๋Š”
"crtX.o"๊ฐ€ ๋‚ด๋ณด๋‚ด์ง‘๋‹ˆ๋‹ค. ์ด๋ฆ„์ด "__rtti_" ๋˜๋Š” "__builtin_"์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ธฐํ˜ธ
C++ DLL์„ ๋•๊ธฐ ์œ„ํ•ด ๋‚ด๋ณด๋‚ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ด‘๋ฒ”์œ„ํ•œ ๋ชฉ๋ก์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚ด๋ณด๋‚ด์ง€์ง€ ์•Š๋Š” cygwin-private ๊ธฐํ˜ธ(๋ถ„๋ช…ํžˆ ์ด๊ฒƒ์€ ๋นŒ๋“œํ•  ๋•Œ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
cygwin ํƒ€๊ฒŸ์šฉ DLL). ์ด๋Ÿฌํ•œ cygwin ์ œ์™ธ ํ•ญ๋ชฉ์€ "_cygwin_dll_entry@12",
"_cygwin_crt0_common@8", "_cygwin_noncygwin_dll_entry@12", "_fmode", "_impure_ptr",
"cygwin_attach_dll", "cygwin_premain0", "cygwin_premain1", "cygwin_premain2",
"cygwin_premain3" ๋ฐ "ํ™˜๊ฒฝ". [์ด ์˜ต์…˜์€ ๋Œ€์ƒ i386 PE์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค์˜ ํฌํŠธ]

--exclude-๊ธฐํ˜ธ ์ƒ์ง•,์ƒ์ง•, ...
์ž๋™์œผ๋กœ ๋‚ด๋ณด๋‚ด์ง€ ์•Š์•„์•ผ ํ•˜๋Š” ๊ธฐํ˜ธ ๋ชฉ๋ก์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์ง•๋ฌผ
์ด๋ฆ„์€ ์‰ผํ‘œ๋‚˜ ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€ i386 PE์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค์˜ ๋Œ€์ƒ ํฌํŠธ]

--๋ชจ๋“  ๊ธฐํ˜ธ ์ œ์™ธ
๊ธฐํ˜ธ๋ฅผ ์ž๋™์œผ๋กœ ๋‚ด๋ณด๋‚ด์ง€ ์•Š๋„๋ก ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ]

--ํŒŒ์ผ ์ •๋ ฌ
ํŒŒ์ผ ์ •๋ ฌ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์˜ ์„น์…˜์€ ํ•ญ์ƒ ํŒŒ์ผ ์˜คํ”„์…‹์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.
์ด ์ˆซ์ž์˜ ๋ฐฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 512์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€ ํŠน์ •
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ๋กœ]

--๋”๋ฏธ ๋น„์ถ•
--๋”๋ฏธ ๋น„์ถ•,๋ฒ”ํ•˜๋‹ค
๋‹ค์Œ์œผ๋กœ ์‚ฌ์šฉํ•  ์˜ˆ์•ฝ(๋ฐ ์„ ํƒ์ ์œผ๋กœ ์ปค๋ฐ‹)ํ•  ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
์ด ํ”„๋กœ๊ทธ๋žจ์˜ ํž™. ๊ธฐ๋ณธ๊ฐ’์€ 1MB ์˜ˆ์•ฝ, 4K ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น]

--์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ ๊ฐ€์น˜
๊ฐ€์น˜ ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” dll์˜ ๊ธฐ๋ณธ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ฐ€์žฅ ๋‚ฎ์€ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค.
ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ dll์ด ๋กœ๋“œ๋  ๋•Œ ์‚ฌ์šฉ๋  ์œ„์น˜์ž…๋‹ˆ๋‹ค. ํ•„์š”๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด
dll์„ ์žฌ๋ฐฐ์น˜ํ•˜๊ณ  ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋ ค๋ฉด ๊ฐ๊ฐ ๊ณ ์œ ํ•œ ๊ธฐ๋ณธ ์ฃผ์†Œ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ dll๊ณผ ๊ฒน์น˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ ์‹คํ–‰ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ 0x400000์ด๋ฉฐ,
DLL์˜ ๊ฒฝ์šฐ 0x10000000์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค]

--์ฃฝ์ด๋‹ค
์ฃผ์–ด์ง„ ๊ฒฝ์šฐ stdcall ์ ‘๋ฏธ์‚ฌ(@nn) ๊ธฐํ˜ธ๊ฐ€ ์ œ๊ฑฐ๋˜๊ธฐ ์ „์— ๊ธฐํ˜ธ์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.
์ˆ˜์ถœ. [์ด ์˜ต์…˜์€ ๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.]

--ํฐ ์ฃผ์†Œ ์ธ์‹
์ฃผ์–ด์ง„ ๊ฒฝ์šฐ COFF ํ—ค๋”์˜ "ํŠน์„ฑ" ํ•„๋“œ์— ์ ์ ˆํ•œ ๋น„ํŠธ๊ฐ€ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
์ด ์‹คํ–‰ ํŒŒ์ผ์ด 2GB๋ณด๋‹ค ํฐ ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ์ง€์›ํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
/3GB ๋˜๋Š” /USERVA=์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.๊ฐ€์น˜ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ ์Šค์œ„์น˜ ์ธ
BOOT.INI์˜ "[์šด์˜ ์ฒด์ œ]" ์„น์…˜. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด ๋น„ํŠธ๋Š” ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
[์ด ์˜ต์…˜์€ ๋ง์ปค์˜ PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.]

--๋น„ํ™œ์„ฑํ™”-๋Œ€ํ˜• ์ฃผ์†Œ ์ธ์‹
์ด์ „ ํšจ๊ณผ๋ฅผ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. --ํฐ ์ฃผ์†Œ ์ธ์‹ ์˜ต์…˜. ์ด๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
--ํฐ ์ฃผ์†Œ ์ธ์‹ ํ•ญ์ƒ ์ปดํŒŒ์ผ๋Ÿฌ ๋“œ๋ผ์ด๋ฒ„(์˜ˆ: Cygwin gcc)์— ์˜ํ•ด ์„ค์ •๋˜๋ฉฐ
์‹คํ–‰ ํŒŒ์ผ์€ 2GB๋ณด๋‹ค ํฐ ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น]

--์ฃผ์š” ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๊ฐ€์น˜
"์ด๋ฏธ์ง€ ๋ฒ„์ „"์˜ ์ฃผ์š” ๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น]

--์ฃผ์š” ์šด์˜ ์ฒด์ œ ๋ฒ„์ „ ๊ฐ€์น˜
"os ๋ฒ„์ „"์˜ ์ฃผ ๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 4์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€ ํŠน์ •
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ๋กœ]

--์ฃผ์š” ํ•˜์œ„ ์‹œ์Šคํ…œ ๋ฒ„์ „ ๊ฐ€์น˜
"ํ•˜์œ„ ์‹œ์Šคํ…œ ๋ฒ„์ „"์˜ ์ฃผ ๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 4์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น]

--๋ถ€ ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๊ฐ€์น˜
"์ด๋ฏธ์ง€ ๋ฒ„์ „"์˜ ๋ถ€ ๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น]

--๋ถ€ OS ๋ฒ„์ „ ๊ฐ€์น˜
"os ๋ฒ„์ „"์˜ ๋ถ€ ๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€ ํŠน์ •
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ๋กœ]

--๋ถ€-์„œ๋ธŒ์‹œ์Šคํ…œ-๋ฒ„์ „ ๊ฐ€์น˜
"ํ•˜์œ„ ์‹œ์Šคํ…œ ๋ฒ„์ „"์˜ ๋ถ€ ๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น]

--์ถœ๋ ฅ ์ •์˜ ํŒŒ์ผ
๋ง์ปค๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์— ํ•ด๋‹นํ•˜๋Š” DEF ํŒŒ์ผ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
๋ง์ปค๊ฐ€ ์ƒ์„ฑํ•˜๋Š” DLL์ž…๋‹ˆ๋‹ค. ์ด DEF ํŒŒ์ผ("*.def"๋ผ๊ณ  ํ•จ)์€
"dlltool"์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ž๋™ ๋˜๋Š” ์•”์‹œ์ ์œผ๋กœ ๋‚ด๋ณด๋‚ธ ๊ธฐํ˜ธ. [์ด ์˜ต์…˜์€ i386 PE์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค์˜ ๋Œ€์ƒ ํฌํŠธ]

--out-implib ํŒŒ์ผ
๋ง์ปค๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ€์ ธ์˜ค๊ธฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค๊ฐ€ ์ƒ์„ฑํ•˜๋Š” DLL์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ€์ ธ์˜ค๊ธฐ lib("*.dll.a" ๋˜๋Š”
"*.a"๋Š” ์ƒ์„ฑ๋œ DLL์— ๋Œ€ํ•ด ํด๋ผ์ด์–ธํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ–‰๋™์€
๋ณ„๋„์˜ "dlltool" ๊ฐ€์ ธ์˜ค๊ธฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น]

--์ž๋™ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ ํ™œ์„ฑํ™”
--์ž๋™ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ ํ™œ์„ฑํ™”=๊ฐ€์น˜
์„ ํƒ์ ์œผ๋กœ base๋กœ ์‹œ์ž‘ํ•˜๋Š” DLL์— ๋Œ€ํ•œ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜์„ ์ž๋™์œผ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์น˜,
"--image-base" ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ํ•œ. ์ƒ์„ฑ๋œ ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ
dllname์—์„œ ๊ฐ DLL, ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ์ถฉ๋Œ ๋ฐ
ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์„ ์ง€์—ฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์žฌ๋ฐฐ์น˜๋Š” ํ”ผํ•ฉ๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€ ํŠน์ •
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ๋กœ]

--disable-auto-image-base
๊ณ ์œ ํ•œ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์‚ฌ์šฉ์ž ์ง€์ •์ด ์—†๋Š” ๊ฒฝ์šฐ
์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜("--image-base")์„ ์„ ํƒํ•œ ๋‹ค์Œ ํ”Œ๋žซํผ ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€ ํŠน์ •
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ๋กœ]

--dll ๊ฒ€์ƒ‰ ์ ‘๋‘์–ด ํ˜„
๊ฐ€์ ธ์˜ค๊ธฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด dll์— ๋™์ ์œผ๋กœ ๋งํฌํ•  ๋•Œ ๋‹ค์Œ์„ ๊ฒ€์ƒ‰ํ•˜์‹ญ์‹œ์˜ค.
" "lib๋ณด๋‹ค .dll" .dll". ์ด ๋™์ž‘์€
๋‹ค์–‘ํ•œ "ํ•˜์œ„ ํ”Œ๋žซํผ"์šฉ์œผ๋กœ ๋นŒ๋“œ๋œ DLL ๊ฐ„์˜ ์‰ฌ์šด ๊ตฌ๋ณ„: ๋„ค์ดํ‹ฐ๋ธŒ, cygwin,
uwin, pw ๋“ฑ. ์˜ˆ๋ฅผ ๋“ค์–ด cygwin DLL์€ ์ผ๋ฐ˜์ ์œผ๋กœ "--dll-search-prefix=cyg"๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
[์ด ์˜ต์…˜์€ ๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.]

--์ž๋™ ๊ฐ€์ ธ์˜ค๊ธฐ ์‚ฌ์šฉ
DLL์—์„œ DATA ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์œ„ํ•ด "_symbol"์„ "__imp__symbol"์— ์ •๊ตํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
๊ฐ€์ ธ์˜ค๊ธฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋นŒ๋“œํ•  ๋•Œ ํ•„์š”ํ•œ ์ฝํ‚น ๊ธฐํ˜ธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
DATA ๋‚ด๋ณด๋‚ด๊ธฐ. ์ฐธ๊ณ : '์ž๋™ ๊ฐ€์ ธ์˜ค๊ธฐ' ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ…์ŠคํŠธ๊ฐ€
์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค ์ด๋ฏธ์ง€ ํŒŒ์ผ์˜ ์„น์…˜. ์ด๊ฒƒ์€ PE-COFF๋ฅผ ์ค€์ˆ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Microsoft์—์„œ ๊ฒŒ์‹œํ•œ ํ˜•์‹ ์‚ฌ์–‘.

์ฐธ๊ณ  - '์ž๋™ ๊ฐ€์ ธ์˜ค๊ธฐ' ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ๊ธฐ ์ „์šฉ ๋ฐ์ดํ„ฐ๋„ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ
์ผ๋ฐ˜์ ์œผ๋กœ .rdata ์„น์…˜์— ๋ฐฐ์น˜๋˜์–ด .data ์„น์…˜์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค.
๋Œ€์‹ ์—. ์ด๊ฒƒ์€ ์„ค๋ช…๋œ const์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๋ฒคํŠธ ์˜ˆ์•ฝ ๋งํฌ: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html

'์ž๋™ ๊ฐ€์ ธ์˜ค๊ธฐ'๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ '๊ทธ๋ƒฅ ์ž‘๋™'ํ•ฉ๋‹ˆ๋‹ค.
๋ฉ”์‹œ์ง€:

"๋ณ€์ˆ˜ ' '์€(๋Š”) ์ž๋™์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ld's์— ๋Œ€ํ•œ ์„ค๋ช…์„œ๋ฅผ ์ฝ์œผ์‹ญ์‹œ์˜ค.
์ž์„ธํ•œ ๋‚ด์šฉ์€ "--enable-auto-import"๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค."

์ด ๋ฉ”์‹œ์ง€๋Š” ์ผ๋ถ€ (ํ•˜์œ„) ํ‘œํ˜„์‹์ด ๊ถ๊ทน์ ์œผ๋กœ ๋‹ค์Œ์— ์˜ํ•ด ์ œ๊ณต๋œ ์ฃผ์†Œ์— ์•ก์„ธ์Šคํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋‘ ์ƒ์ˆ˜์˜ ํ•ฉ(Win32 ๊ฐ€์ ธ์˜ค๊ธฐ ํ…Œ์ด๋ธ”์€ ํ•˜๋‚˜๋งŒ ํ—ˆ์šฉ). ์ด
DLL์—์„œ ๊ฐ€์ ธ์˜จ ๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜์˜ ๋ฉค๋ฒ„ ํ•„๋“œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฟ๋งŒ ์•„๋‹ˆ๋ผ DLL์—์„œ ๊ฐ€์ ธ์˜จ ๋ฐฐ์—ด ๋ณ€์ˆ˜์— ์ƒ์ˆ˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ด๋Š
๋‹ค์ค‘ ๋‹จ์–ด ๋ณ€์ˆ˜(๋ฐฐ์—ด, ๊ตฌ์กฐ์ฒด, long long ๋“ฑ)๊ฐ€ ์ด ์˜ค๋ฅ˜ ์กฐ๊ฑด์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๋‚ด๋ณด๋‚ธ ๋ณ€์ˆ˜์˜ ์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์— ๊ด€๊ณ„์—†์ด ld๋Š”
ํ•ญ์ƒ ๊ทธ๊ฒƒ์„ ๊ฐ์ง€ํ•˜๊ณ  ๊ฒฝ๊ณ ๋ฅผ ๋ฐœํ–‰ํ•˜๊ณ  ์ข…๋ฃŒํ•˜์‹ญ์‹œ์˜ค.

๋ฐ์ดํ„ฐ ์œ ํ˜•์— ๊ด€๊ณ„์—†์ด ์ด ์–ด๋ ค์›€์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚ด๋ณด๋‚ธ ๋ณ€์ˆ˜:

ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ --enable-runtime-pseudo-reloc ์Šค์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ณผ์ œ๋ฅผ ๋‚จ๊น๋‹ˆ๋‹ค.
์ด ๋ฐฉ๋ฒ•์ด ์ž‘๋™ํ•˜๋„๋ก ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ์˜ ์ฐธ์กฐ ์กฐ์ •
๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ด ์ด ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ.

๋‘ ๋ฒˆ์งธ ํ•ด๊ฒฐ์ฑ…์€ '์ƒ์ˆ˜' ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ณ€์ˆ˜๋กœ ๊ฐ•์ œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰,
์•Œ ์ˆ˜ ์—†๊ณ  ์ปดํŒŒ์ผ ์‹œ๊ฐ„์— ์ตœ์ ํ™”ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ ๋‘ ๊ฐ€์ง€ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
a) indexee(๋ฐฐ์—ด์˜ ์ฃผ์†Œ)๋ฅผ ๋ณ€์ˆ˜๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜ b) 'constant' ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
๋ณ€์ˆ˜. ๋”ฐ๋ผ์„œ:

์™ธ๋ถ€ ์œ ํ˜• extern_array[];
extern_array[1] -->
{ ํœ˜๋ฐœ์„ฑ ์œ ํ˜• *t=extern_array; t[1] }

or

์™ธ๋ถ€ ์œ ํ˜• extern_array[];
extern_array[1] -->
{ ํœ˜๋ฐœ์„ฑ ์ •์ˆ˜ t=1; ์™ธ๋ถ€ ๋ฐฐ์—ด[t] }

๊ตฌ์กฐ์ฒด(๋ฐ ๋Œ€๋ถ€๋ถ„์˜ ๋‹ค๋ฅธ ๋‹ค์ค‘ ๋‹จ์–ด ๋ฐ์ดํ„ฐ ์œ ํ˜•)์˜ ๊ฒฝ์šฐ ์œ ์ผํ•œ ์˜ต์…˜์€
๊ตฌ์กฐ์ฒด ์ž์ฒด(๋˜๋Š” long long ๋˜๋Š” ...) ๋ณ€์ˆ˜:

extern ๊ตฌ์กฐ์ฒด extern_struct;
extern_struct.field -->
{ ํœ˜๋ฐœ์„ฑ ๊ตฌ์กฐ์ฒด *t=&extern_struct; t->ํ•„๋“œ }

or

์™ธ๋ถ€ ๊ธด ๊ธด extern_ll;
extern_ll -->
{ ํœ˜๋ฐœ์„ฑ long long * local_ll=&extern_ll; *local_ll }

์ด ์–ด๋ ค์›€์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„ธ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ '์ž๋™ ๊ฐ€์ ธ์˜ค๊ธฐ'๋ฅผ ํฌ๊ธฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ธฐํ˜ธ๋ฅผ ์œ„๋ฐ˜ํ•˜๊ณ  "__declspec(dllimport)"๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ ๊ทธ
DLL์„ ๋นŒ๋“œ ์ค‘์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์ปดํŒŒ์ผ ํƒ€์ž„ #defines๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
DLL์— ๋งํฌํ•  ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ ๋‹จ์ˆœํžˆ ์ •์  ํŒŒ์ผ์— ๋นŒ๋“œ/๋งํฌ
๋„์„œ๊ด€. '์ง์ ‘ ํ•ด๊ฒฐ'์˜ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ• ์ค‘์—์„œ ์„ ํƒ์„ ํ•จ์— ์žˆ์–ด
์ผ์ •ํ•œ ์˜คํ”„์…‹์ด ์žˆ๋Š” ์ฃผ์†Œ' ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์ธ ์‹ค์ œ ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‹ค๋ฌผ:

--foo.h
์™ธ๋ถ€ ์ •์ˆ˜ [];
--foo.c
# "foo.h" ํฌํ•จ
๋ฌดํšจ ๋ฉ”์ธ(int argc, char **argv){
printf("%d\n",arr[1]);
}

์†”๋ฃจ์…˜ 1 :

--foo.h
์™ธ๋ถ€ ์ •์ˆ˜ [];
--foo.c
# "foo.h" ํฌํ•จ
๋ฌดํšจ ๋ฉ”์ธ(int argc, char **argv){
/* ์ด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ win32 ๋ฐ cygwin์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. "์ตœ์ ํ™”"ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค */
ํœ˜๋ฐœ์„ฑ int *parr = arr;
printf("%d\n",parr[1]);
}

์†”๋ฃจ์…˜ 2 :

--foo.h
/* ์ฐธ๊ณ : ์ž๋™ ๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ ๊ฐ€์ •๋ฉ๋‹ˆ๋‹ค(__declspec(dllexport) ์—†์Œ) */
#if (์ •์˜(_WIN32) || ์ •์˜(__CYGWIN__)) && \
!(์ •์˜(FOO_BUILD_DLL) || ์ •์˜(FOO_STATIC))
#define FOO_IMPORT __declspec(dllimport)
#๊ทธ๋ฐ–์—
#FOO_IMPORT ์ •์˜
#endif
extern FOO_IMPORT int arr[];
--foo.c
# "foo.h" ํฌํ•จ
๋ฌดํšจ ๋ฉ”์ธ(int argc, char **argv){
printf("%d\n",arr[1]);
}

์ด ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๋Š” ๋„ค ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋„๋ก ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์‹œ ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์•„๋‹Œ ์ธํ„ฐํŽ˜์ด์Šค(์˜ˆ: set_foo() ๊ณผ
get_foo() ์ ‘๊ทผ์ž ๊ธฐ๋Šฅ). [์ด ์˜ต์…˜์€ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค]

--๋น„ํ™œ์„ฑํ™” ์ž๋™ ๊ฐ€์ ธ์˜ค๊ธฐ
DATA์— ๋Œ€ํ•ด "_symbol"์„ "__imp__symbol"์— ์ •๊ตํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
DLL์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค]

--ํ™œ์„ฑํ™”-๋Ÿฐํƒ€์ž„-์˜์‚ฌ-reloc
์ฝ”๋“œ์— --enable-auto-import ์„น์…˜์— ์„ค๋ช…๋œ ํ‘œํ˜„์‹์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ, ์ฆ‰,
์˜คํ”„์…‹์ด XNUMX์ด ์•„๋‹Œ DLL์—์„œ DATA๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ ์ด ์Šค์œ„์น˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์—์„œ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” '๋Ÿฐํƒ€์ž„ ์˜์‚ฌ ์žฌ๋ฐฐ์น˜'
ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ์—์„œ ๊ทธ๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ฐธ์กฐ. [์ด ์˜ต์…˜์€ i386 PE์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
๋ง์ปค์˜ ๋Œ€์ƒ ํฌํŠธ]

--disable-runtime-์˜์‚ฌ-reloc
DLL์—์„œ XNUMX์ด ์•„๋‹Œ ์˜คํ”„์…‹ DATA ๊ฐ€์ ธ์˜ค๊ธฐ์— ๋Œ€ํ•ด ์˜์‚ฌ ์žฌ๋ฐฐ์น˜๋ฅผ ์ƒ์„ฑํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. [์ด๊ฒƒ
์˜ต์…˜์€ ๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.]

--extra-pe-debug ํ™œ์„ฑํ™”
์ž๋™ ๊ฐ€์ ธ์˜ค๊ธฐ ๊ธฐํ˜ธ ์ฝํ‚น๊ณผ ๊ด€๋ จ๋œ ์ถ”๊ฐ€ ๋””๋ฒ„๊ทธ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น]

--์„น์…˜ ์ •๋ ฌ
๋‹จ๋ฉด ์ •๋ ฌ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์˜ ์„น์…˜์€ ํ•ญ์ƒ ๋‹ค์Œ ์ฃผ์†Œ์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.
์ด ์ˆซ์ž์˜ ๋ฐฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 0x1000์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€ ํŠน์ •
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ]

--์Šคํƒ ๋น„์ถ•
--์Šคํƒ ๋น„์ถ•,๋ฒ”ํ•˜๋‹ค
๋‹ค์Œ์œผ๋กœ ์‚ฌ์šฉํ•  ์˜ˆ์•ฝ(๋ฐ ์„ ํƒ์ ์œผ๋กœ ์ปค๋ฐ‹)ํ•  ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
์ด ํ”„๋กœ๊ทธ๋žจ์˜ ์Šคํƒ. ๊ธฐ๋ณธ๊ฐ’์€ 2MB ์˜ˆ์•ฝ, 4K ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น]

--ํ•˜์œ„ ์‹œ์Šคํ…œ ์–ด๋Š
--ํ•˜์œ„ ์‹œ์Šคํ…œ ์–ด๋Š:์ฃผ์š”ํ•œ
--ํ•˜์œ„ ์‹œ์Šคํ…œ ์–ด๋Š:์ฃผ์š”ํ•œ.๋ฏธ์„ฑ๋…„์ž
ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์— ๋Œ€ํ•œ ๋ฒ•์  ๊ฐ€์น˜
์–ด๋Š "๋„ค์ดํ‹ฐ๋ธŒ", "windows", "console", "posix" ๋ฐ "xbox"์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์„ ํƒ์ ์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
ํ•˜์œ„ ์‹œ์Šคํ…œ ๋ฒ„์ „๋„. ์ˆซ์ž ๊ฐ’๋„ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ์–ด๋Š. [์ด ์˜ต์…˜์€
๋ง์ปค์˜ i386 PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.]

๋‹ค์Œ ์˜ต์…˜์€ PE ํŒŒ์ผ์˜ "DllCharacteristics" ํ•„๋“œ์— ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
header: [์ด ์˜ต์…˜์€ ๋ง์ปค์˜ PE ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.]

--๊ณ ์—”ํŠธ๋กœํ”ผ-va
์ด๋ฏธ์ง€๋Š” 64๋น„ํŠธ ASLR(์ฃผ์†Œ ๊ณต๊ฐ„ ๋ ˆ์ด์•„์›ƒ ๋žœ๋คํ™”)๊ณผ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.

--๋‹ค์ด๋‚˜๋ฏน๋ฒ ์ด์Šค
์ด๋ฏธ์ง€ ๊ธฐ๋ณธ ์ฃผ์†Œ๋Š” ์ฃผ์†Œ ๊ณต๊ฐ„ ๋ ˆ์ด์•„์›ƒ ๋ฌด์ž‘์œ„ํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ๋ฐฐ์น˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
(ASLR). ์ด ๊ธฐ๋Šฅ์€ i386 PE ๋Œ€์ƒ์šฉ MS Windows Vista์™€ ํ•จ๊ป˜ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

--๊ฐ•์ œ ํ†ตํ•ฉ
์ฝ”๋“œ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ์‹œํ–‰๋ฉ๋‹ˆ๋‹ค.

--nxcompat
์ด๋ฏธ์ง€๋Š” ๋ฐ์ดํ„ฐ ์‹คํ–‰ ๋ฐฉ์ง€์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€
i2 PE ๋Œ€์ƒ์šฉ MS Windows XP SP386์™€ ํ•จ๊ป˜ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

--๋ถ„๋ฆฌ ์—†์Œ
์ด๋ฏธ์ง€๊ฐ€ ๊ฒฉ๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๋”๋ผ๋„ ์ด๋ฏธ์ง€๋ฅผ ๊ฒฉ๋ฆฌํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

--์•ˆ๋ผ
์ด๋ฏธ์ง€๋Š” SEH๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ด๋ฏธ์ง€์—์„œ SE ํ•ธ๋“ค๋Ÿฌ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

--๋ฐ”์ธ๋“œ ์—†์Œ
์ด ์ด๋ฏธ์ง€๋ฅผ ๋ฌถ์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

--wdmdriver
๋“œ๋ผ์ด๋ฒ„๋Š” MS Windows ๋“œ๋ผ์ด๋ฒ„ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

--์ฐจ์™€๋ ˆ
์ด๋ฏธ์ง€๋Š” ํ„ฐ๋ฏธ๋„ ์„œ๋ฒ„๋ฅผ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.

--์‚ฝ์ž…-ํƒ€์ž„์Šคํƒฌํ”„
--no-insert-timestamp
์ด๋ฏธ์ง€์— ์‹ค์ œ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ผ์น˜ํ•˜๋Š” ๊ธฐ๋ณธ ๋™์ž‘์ž…๋‹ˆ๋‹ค.
๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ์ด๋ฉฐ ์ด๋ฏธ์ง€๊ฐ€ ๋‹ค๋ฅธ ๋…์  ๋„๊ตฌ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. NS
์ด ๊ธฐ๋ณธ๊ฐ’์˜ ๋ฌธ์ œ๋Š” ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋™์ผํ•œ ์†Œ์Šค๊ฐ€ ๋งํฌ๋  ๋•Œ๋งˆ๋‹ค ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์˜ต์…˜ --no-insert-timestamp
ํƒ€์ž„์Šคํƒฌํ”„์— ๋Œ€ํ•ด XNUMX ๊ฐ’์„ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ƒ์„ฑ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€
๋™์ผํ•œ ์†Œ์Šค์—์„œ ๋™์ผํ•˜๊ฒŒ ๋น„๊ต๋ฉ๋‹ˆ๋‹ค.

C6X uClinux ๋Œ€์ƒ์€ DSBT๋ผ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ
์‹œ์Šคํ…œ์˜ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” ๊ณ ์œ  ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์‹คํ–‰ ํŒŒ์ผ์€ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
0.

--dsbt-ํฌ๊ธฐ ํฌ๊ธฐ
์ด ์˜ต์…˜์€ ํ˜„์žฌ ์‹คํ–‰ ํŒŒ์ผ ๋˜๋Š” ๊ณต์œ  ํŒŒ์ผ์˜ DSBT ํ•ญ๋ชฉ ์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
๋„์„œ๊ด€ ํฌ๊ธฐ. ๊ธฐ๋ณธ๊ฐ’์€ 64๊ฐœ ํ•ญ๋ชฉ์ด ์žˆ๋Š” ํ…Œ์ด๋ธ”์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

--dsbt-์ธ๋ฑ์Šค ์ƒ‰์ธ
์ด ์˜ต์…˜์€ ํ˜„์žฌ ์‹คํ–‰ ํŒŒ์ผ ๋˜๋Š” ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ DSBT ์ธ๋ฑ์Šค๋ฅผ ๋‹ค์Œ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ƒ‰์ธ.
๊ธฐ๋ณธ๊ฐ’์€ ์‹คํ–‰ ํŒŒ์ผ ์ƒ์„ฑ์— ์ ํ•ฉํ•œ 0์ž…๋‹ˆ๋‹ค. ๊ณต์œ ํ•˜๋Š” ๊ฒฝ์šฐ
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ 0์˜ DSBT ์ธ๋ฑ์Šค๋กœ ์ƒ์„ฑ๋œ ๊ฒฝ์šฐ "R_C6000_DSBT_INDEX" ์žฌ๋ฐฐ์น˜๊ฐ€
์ถœ๋ ฅ ํŒŒ์ผ์— ๋ณต์‚ฌ๋ฉ๋‹ˆ๋‹ค.

XNUMXD๋ดํƒˆ์˜ --๋ณ‘ํ•ฉ-exidx ํ•ญ๋ชฉ ์—†์Œ ์Šค์œ„์น˜๋Š” ์ธ์ ‘ exidx ํ•ญ๋ชฉ์˜ ๋ณ‘ํ•ฉ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
ํ”„๋ ˆ์ž„ ํ•ด์ œ ์ •๋ณด.

68HC11 ๋ฐ 68HC12 ๋ง์ปค๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ฑ…ํฌ๋ฅผ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹ํŠน์ • ์˜ต์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
์Šค์œ„์นญ ๋งคํ•‘ ๋ฐ ํŠธ๋žจํŽ„๋ฆฐ ์ฝ”๋“œ ์ƒ์„ฑ.

-- ํŠธ๋žจํŽ„๋ฆฐ ์—†์Œ
์ด ์˜ต์…˜์€ ํŠธ๋žจํŽ„๋ฆฐ ์ƒ์„ฑ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํŠธ๋žจํด๋ฆฐ์€
"jsr" ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ถœ๋˜๋Š” ๊ฐ far ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค(์ด
far ํ•จ์ˆ˜์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๊ฐ€ ์ทจํ•ด์งˆ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค).

--์€ํ–‰ ์ฐฝ๊ตฌ name
์ด ์˜ต์…˜์€ ๋ง์ปค์— ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์˜ ์ด๋ฆ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ
๋ฉ”๋ชจ๋ฆฌ ๋ฑ…ํฌ ์ฐฝ์„ ์„ค๋ช…ํ•˜๋Š” ์‚ฌ์–‘์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ์˜์—ญ์˜ ์ •์˜๋Š”
๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ง์ปค์—์„œ ๋ฉ”๋ชจ๋ฆฌ ์ฐฝ ๋‚ด์—์„œ ํŽ˜์ด์ง• ๋ฐ ์ฃผ์†Œ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋งํฌํ•  ๋•Œ GOT ์ƒ์„ฑ ์ฒ˜๋ฆฌ๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ์˜ต์…˜์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.
68K ๋ชฉํ‘œ.

--์žˆ์–ด=์œ ํ˜•
์ด ์˜ต์…˜์€ ๋ง์ปค์— ์‚ฌ์šฉํ•  GOT ์ƒ์„ฑ ์ฒด๊ณ„๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์œ ํ˜• ํ•˜๋‚˜๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค
of ๋‹จ์ผ, ๋ถ€์ •, ๋‹คํ˜ˆ์งˆ or ๋ชฉํ‘œ. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ •๋ณด ํ•ญ๋ชฉ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
for ld.

๋‹ค์Œ ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ microMIPS ๋ช…๋ น์–ด ์ƒ์„ฑ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.
MIPS ๋Œ€์ƒ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ.

--insn32
--no-insn32
์ด ์˜ต์…˜์€ ๋‹ค์Œ์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ฝ”๋“œ์— ์‚ฌ์šฉ๋˜๋Š” microMIPS ๋ช…๋ น์–ด์˜ ์„ ํƒ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
PLT ๋˜๋Š” ์ง€์—ฐ ๋ฐ”์ธ๋”ฉ ์Šคํ… ๋˜๋Š” ์ด์™„๊ณผ ๊ฐ™์€ ๋ง์ปค. ๋งŒ์•ฝ์—
--insn32 ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ๋ง์ปค๋Š” 32๋น„ํŠธ ๋ช…๋ น์–ด ์ธ์ฝ”๋”ฉ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ
๋˜๋Š” if --no-insn32 16๋น„ํŠธ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ๋ช…๋ น์–ด ์ธ์ฝ”๋”ฉ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๊ฐ€๋Šฅํ•œ ๊ณณ.

ํ™˜๊ฒฝ


์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ld ํ™˜๊ฒฝ ๋ณ€์ˆ˜ "GNUTARGET"์„ ์‚ฌ์šฉํ•˜์—ฌ
"LDEMULATION" ๋ฐ "COLLECT_NO_DEMANGLE".

"GNUTARGET"์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ž…๋ ฅ ํŒŒ์ผ ๊ฐœ์ฒด ํ˜•์‹์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. -b (๋˜๋Š” ๋™์˜์–ด
--์ฒด์žฌ). ๊ทธ ๊ฐ’์€ ์ž…๋ ฅ ํ˜•์‹์— ๋Œ€ํ•œ BFD ์ด๋ฆ„ ์ค‘ ํ•˜๋‚˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—†๋Š” ๊ฒฝ์šฐ
ํ™˜๊ฒฝ ์†์˜ "GNUTARGET", ld ๋Œ€์ƒ์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. "๊ทธ๋ˆ„ํƒ€๊ฒŸ"์ด๋ผ๋ฉด
"default"๋กœ ์„ค์ •๋˜๋ฉด BFD๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ์ž…๋ ฅ ํ˜•์‹์„ ๊ฒ€์ƒ‰ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
์ž…๋ ฅ ํŒŒ์ผ; ์ด ๋ฐฉ๋ฒ•์€ ์ข…์ข… ์„ฑ๊ณตํ•˜์ง€๋งŒ ์ž ์žฌ์ ์ธ ๋ชจํ˜ธ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐœ์ฒด ํŒŒ์ผ ํ˜•์‹์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋งค์ง ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์—†์Šต๋‹ˆ๋‹ค.
๊ณ ์œ  ํ•œ. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ ์‹œ์Šคํ…œ์˜ BFD์— ๋Œ€ํ•œ ๊ตฌ์„ฑ ์ ˆ์ฐจ๋Š”
๊ฒ€์ƒ‰ ๋ชฉ๋ก์—์„œ ๋จผ์ € ํ•ด๋‹น ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ธฐ์กด ํ˜•์‹์ด๋ฏ€๋กœ ๋ชจํ˜ธ์„ฑ์ด ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
ํ˜‘์•ฝ์— ์ฐฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

"LDEMULATION"์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์—๋ฎฌ๋ ˆ์ด์…˜์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. -m ์„ ํƒ๊ถŒ. ๊ทธ๋งŒํผ
์—๋ฎฌ๋ ˆ์ด์…˜์€ ๋ง์ปค ๋™์ž‘, ํŠนํžˆ ๊ธฐ๋ณธ ๋ง์ปค์˜ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์Šคํฌ๋ฆฝํŠธ. ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์—๋ฎฌ๋ ˆ์ด์…˜์„ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --๋ง ์ˆ˜๊ฐ€ ๋งŽ์€ or -V ์˜ต์…˜. ๋งŒ์•ฝ
-m ์˜ต์…˜์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  "LDEMULATION" ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ
๊ธฐ๋ณธ ์—๋ฎฌ๋ ˆ์ด์…˜์€ ๋ง์ปค๊ฐ€ ๊ตฌ์„ฑ๋œ ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ๋ง์ปค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ธฐํ˜ธ๋ฅผ ๋””๋งน๊ธ€๋งํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋งŒ์•ฝ
"COLLECT_NO_DEMANGLE"์ด ํ™˜๊ฒฝ์— ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋””๋ง๊ธ€๋งํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
๊ธฐํ˜ธ. ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” "gcc" ๋ง์ปค์—์„œ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋ž˜ํผ ํ”„๋กœ๊ทธ๋žจ. ๊ธฐ๋ณธ๊ฐ’์€ --demangle ๊ณผ -- ์—‰ํ‚ด ์—†์Œ
์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

onworks.net ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ mips-linux-gnu-ld ์˜จ๋ผ์ธ ์‚ฌ์šฉ


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

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

  • 1
    ํŒŒ์ด์–ด ๋ฒ„๋“œ
    ํŒŒ์ด์–ด ๋ฒ„๋“œ
    Firebird RDBMS๋Š” ANSI SQL ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    & Linux, Windows์—์„œ ์‹คํ–‰ &
    ์—ฌ๋Ÿฌ ์œ ๋‹‰์Šค ํ”Œ๋žซํผ. ํŠน์ง•
    ๋›ฐ์–ด๋‚œ ๋™์‹œ์„ฑ ๋ฐ ์„ฑ๋Šฅ
    & ํž˜...
    ํŒŒ์ด์–ด๋ฒ„๋“œ ๋‹ค์šด๋กœ๋“œ
  • 2
    KompoZer
    KompoZer
    KompoZer๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜๋Š” wysiwyg HTML ํŽธ์ง‘๊ธฐ์ž…๋‹ˆ๋‹ค.
    Mozilla Composer ์ฝ”๋“œ๋ฒ ์ด์Šค. ๊ฐ™์ด
    Nvu์˜ ๊ฐœ๋ฐœ์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    2005๋…„ KompoZer๋Š” ๋งŽ์€ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ 
    f๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค...
    KompoZer ๋‹ค์šด๋กœ๋“œ
  • 3
    ๋ฌด๋ฃŒ ๋งŒํ™” ๋‹ค์šด๋กœ๋”
    ๋ฌด๋ฃŒ ๋งŒํ™” ๋‹ค์šด๋กœ๋”
    FMD(๋ฌด๋ฃŒ ๋งŒํ™” ๋‹ค์šด๋กœ๋”)๋Š”
    ๋กœ ์ž‘์„ฑ๋œ ์˜คํ”ˆ ์†Œ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
    ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์˜ค๋ธŒ์ ํŠธ ํŒŒ์Šค์นผ ๋ฐ
    ๋‹ค์–‘ํ•œ ์›น์‚ฌ์ดํŠธ์—์„œ ๋งŒํ™”๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
    ์ด๊ฒƒ์€ ๊ฑฐ์šธ...
    ๋ฌด๋ฃŒ ๋งŒํ™” ๋‹ค์šด๋กœ๋” ๋‹ค์šด๋กœ๋“œ
  • 4
    ์œ ์—” ๋ถ€์ธ
    ์œ ์—” ๋ถ€์ธ
    UNetbootin์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ถ€ํŒ… ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    Ubuntu, Fedora ๋ฐ
    ์—†๋Š” ๋‹ค๋ฅธ Linux ๋ฐฐํฌํŒ
    CD ๊ตฝ๊ธฐ. ์œˆ๋„์šฐ, ๋ฆฌ๋ˆ…์Šค,
    ๊ทธ๋ฆฌ๊ณ  ...
    UNetbootin ๋‹ค์šด๋กœ๋“œ
  • 5
    ๋Œ๋ฆฌ๋ฐ” ERP - CRM
    ๋Œ๋ฆฌ๋ฐ” ERP - CRM
    Dolibarr ERP - CRM์€ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.
    ERP ๋ฐ CRM ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€
    (์›น PHP ์„œ๋ฒ„๋กœ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜
    ๋…๋ฆฝ ์‹คํ–‰ํ˜• ์†Œํ”„ํŠธ์›จ์–ด),
    ๊ธฐ์ดˆ...
    ๋‹ค์šด๋กœ๋“œ Dolibarr ERP - CRM
  • 6
    SQuirreL SQL ํด๋ผ์ด์–ธํŠธ
    SQuirreL SQL ํด๋ผ์ด์–ธํŠธ
    SQuirreL SQL ํด๋ผ์ด์–ธํŠธ๋Š” ๊ทธ๋ž˜ํ”ฝ SQL์ž…๋‹ˆ๋‹ค.
    ํ—ˆ์šฉํ•˜๋Š” Java๋กœ ์ž‘์„ฑ๋œ ํด๋ผ์ด์–ธํŠธ
    JDBC์˜ ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ์ค€์ˆ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ ์ฐพ์•„๋ณด๊ธฐ
    ํ…Œ์ด๋ธ”...
    SQuirreL SQL ํด๋ผ์ด์–ธํŠธ ๋‹ค์šด๋กœ๋“œ
  • ๋”ยป

Linux ๋ช…๋ น

Ad