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

Ad


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

h8300-hitachi-coff-ld - ํด๋ผ์šฐ๋“œ์—์„œ์˜ ์˜จ๋ผ์ธ

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

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

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

์ด๋ฆ„


ld - LD๋ฅผ ์‚ฌ์šฉํ•˜๋Š” GNU ๋ง์ปค

๊ฐœ์š”


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

๊ธฐ์ˆ 


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

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

์ด ๋งค๋‰ด์–ผ ํŽ˜์ด์ง€์—์„œ๋Š” ๋ช…๋ น ์–ธ์–ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณด๋‹ค ld "์ •๋ณด"์— ํ•ญ๋ชฉ์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜
manual ld: GNU ๋ง์ปค, ๋ช…๋ น ์–ธ์–ด ๋ฐ ๊ธฐํƒ€ ์ธก๋ฉด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ
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 ๊ธฐ๋ณธ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์™„์ „ํžˆ ๋Œ€์ฒดํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค.

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

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

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

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

gcc -Wl,--startgroup foo.o bar.o -Wl,--endgroup

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

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

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

-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"์—๋Š”
๊ฐ™์€ ํšจ๊ณผ.

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

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

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

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

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

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

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

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

-f
--๋ณด์กฐ์ž 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 ECOFF์™€ ๊ฐ™์€ ์˜ค๋ธŒ์ ํŠธ ํŒŒ์ผ ํ˜•์‹์—๋งŒ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
ํฌ๊ณ  ์ž‘์€ ๋ฌผ์ฒด๋ฅผ ๋‹ค๋ฅธ ์„น์…˜์œผ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฐœ์ฒด์— ๋Œ€ํ•ด์„œ๋Š” ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.
ํŒŒ์ผ ํ˜•์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

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

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

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

-l์•„์นด์ด๋ธŒ
--๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ=์•„์นด์ด๋ธŒ
์•„์นด์ด๋ธŒ ํŒŒ์ผ ์ถ”๊ฐ€ ์•„์นด์ด๋ธŒ ๋งํฌํ•  ํŒŒ์ผ ๋ชฉ๋ก์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์–ด๋–ค ์šฉ๋„๋กœ๋“  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํšŸ์ˆ˜. ld "lib"๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ๊ฒฝ๋กœ ๋ชฉ๋ก์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.archive.a" for
๋งค์ฃผ ์•„์นด์ด๋ธŒ ์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

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

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

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

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

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

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

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

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

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

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

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

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

* ๊ฐœ์ฒด ํŒŒ์ผ๊ณผ ๊ธฐํ˜ธ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋งคํ•‘๋˜๋Š” ์œ„์น˜์ž…๋‹ˆ๋‹ค.

* ๊ณตํ†ต ๊ธฐํ˜ธ๊ฐ€ ํ• ๋‹น๋˜๋Š” ๋ฐฉ์‹.

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

-n
--nmagic
์„น์…˜์˜ ํŽ˜์ด์ง€ ์ •๋ ฌ์„ ๋„๊ณ  ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์ถœ๋ ฅ์„ "NMAGIC"์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

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

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

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

-O ์ˆ˜ํ‰
If ์ˆ˜ํ‰ XNUMX๋ณด๋‹ค ํฐ ์ˆซ์ž ๊ฐ’์ž…๋‹ˆ๋‹ค. ld ์ถœ๋ ฅ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฑด ์•„๋งˆ๋„
ํ›จ์”ฌ ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฏ€๋กœ ์•„๋งˆ๋„ ์ตœ์ข…
๋ฐ”์ด๋„ˆ๋ฆฌ.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-X
--discard-locals
๋ชจ๋“  ์ž„์‹œ ์ง€์—ญ ๊ธฐํ˜ธ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํƒ€๊ฒŸ์—์„œ ์ด๋Š” ๋ชจ๋‘ ๋กœ์ปฌ ๊ธฐํ˜ธ์ž…๋‹ˆ๋‹ค.
์ด๋ฆ„์œผ๋กœ ์‹œ์ž‘ L.

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

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

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

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

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

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

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

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

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

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

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

nocopyreloc
๋ณต์‚ฌ ์žฌ๋ฐฐ์น˜ ์ƒ์„ฑ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--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 ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ๋“ค
์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ๊ฐ’์„ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

--์น˜๋ช…์ ์ธ ๊ฒฝ๊ณ 
๋ชจ๋“  ๊ฒฝ๊ณ ๋ฅผ ์˜ค๋ฅ˜๋กœ ์ฒ˜๋ฆฌํ•˜์‹ญ์‹œ์˜ค.

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

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

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

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

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

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

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

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

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

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

๊ทธ ์ด์œ  --allow-shlib-์ •์˜๋˜์ง€ ์•Š์Œ ๊ธฐ๋ณธ๊ฐ’์€ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
๋งํฌ ํƒ€์ž„์— ์ง€์ •๋˜๋Š” ๊ฒƒ์€ ๋กœ๋“œ ์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋กœ๋“œ ์‹œ๊ฐ„์— ๊ธฐํ˜ธ๋ฅผ ์‹ค์ œ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋ช‡ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๊ฐ€ ์ •์ƒ์ธ ์‹œ์Šคํ…œ(์˜ˆ: BeOS). (์ปค๋„
์–ด๋–ค ๊ธฐ๋Šฅ์ด ํ˜„์žฌ์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ์ง€ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๋“œ ์‹œ๊ฐ„์— ํŒจ์น˜ํ•ฉ๋‹ˆ๋‹ค.
๊ฑด์ถ•ํ•™. ์˜ˆ๋ฅผ ๋“ค์–ด ์ ์ ˆํ•œ memset์„ ๋™์ ์œผ๋กœ ์„ ํƒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๊ธฐ๋Šฅ). ๋ถ„๋ช…ํžˆ HPPA ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์€ ๊ฒƒ๋„ ์ •์ƒ์ž…๋‹ˆ๋‹ค.
๊ธฐํ˜ธ.

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

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

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

--๊ฒฝ๊ณ  ๋ถˆ์ผ์น˜
์ผ๋ฐ˜์ ์œผ๋กœ 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.

-rpath 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-๋งํฌ ์˜ต์…˜๋งŒ ์œ ํšจ
๋งํฌ ํƒ€์ž„์—. ๋„ค์ดํ‹ฐ๋ธŒ ๋ง์ปค์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.

3. ELF ์‹œ์Šคํ…œ์—์„œ -rpath ๋ฐ "rpath-link" ์˜ต์…˜์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ
ํ™˜๊ฒฝ ๋ณ€์ˆ˜ "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
์˜ต์…˜์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ๋งํฌ์— ์ •์˜๋˜์ง€ ์•Š์€ ๊ธฐํ˜ธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

--์ •๋ ฌ ์„น์…˜ ์กฐ์ •
์ด ์˜ต์…˜์€ "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 ์กฐ์ง
-ํ‹ฐ๋ฐ์ดํ„ฐ ์กฐ์ง
-๋ฌธ์ž ์กฐ์ง
--section-start์™€ ๋™์ผํ•˜๋ฉฐ ".bss", ".data" ๋˜๋Š” ".text"๊ฐ€ ์„น์…˜ ์ด๋ฆ„.

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

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

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

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

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

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

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

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

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

--๊ฒฝ๊ณ -๊ณตํ†ต
๊ณตํ†ต ๊ธฐํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๊ณตํ†ต ๊ธฐํ˜ธ ๋˜๋Š” ๊ธฐํ˜ธ์™€ ๊ฒฐํ•ฉ๋  ๋•Œ ๊ฒฝ๊ณ 
์ •์˜. Unix ๋ง์ปค๋Š” ์ด ๋‹ค์†Œ ์—‰์„ฑํ•œ ์‹คํ–‰์„ ํ—ˆ์šฉํ•˜์ง€๋งŒ ์ผ๋ถ€ ๋ง์ปค๋Š”
๋‹ค๋ฅธ ์šด์˜ ์ฒด์ œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž ์žฌ์ ์ธ ๋ฌธ์ œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ „์—ญ ๊ธฐํ˜ธ ๊ฒฐํ•ฉ์—์„œ. ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ์ผ๋ถ€ 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์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

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

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

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

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"์œผ๋กœ ๋ž˜ํ•‘ํ•˜๊ธฐ ์ „์— ํ˜ธ์ถœ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--์ž๋™ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ ํ™œ์„ฑํ™”
๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ํ•œ DLL์˜ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜์„ ์ž๋™์œผ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
"--์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜" ์ธ์ˆ˜. 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์—์„œ ๊ฒŒ์‹œํ•œ ํ˜•์‹ ์‚ฌ์–‘.

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

"๋ณ€์ˆ˜ ' '์€(๋Š”) ์ž๋™์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. 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 ๋Œ€์ƒ ํฌํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.]

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

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

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

ํ™˜๊ฒฝ


์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 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 ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜จ๋ผ์ธ์œผ๋กœ h8300-hitachi-coff-ld๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.


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

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

  • 1
    DivFix + +
    DivFix + +
    DivFix++๋Š” AVI ๋น„๋””์˜ค ๋ณต๊ตฌ ๋ฐ
    ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์†Œํ”„ํŠธ์›จ์–ด. ๊ทธ๊ฒƒ์€ ์ˆ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค
    ๋‹ค์šด๋กœ๋“œ ์ค‘์ธ ํŒŒ์ผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
    ed2k(emule), ํ† ๋ ŒํŠธ, ๊ทธ๋ˆ„ํ…”๋ผ, ftp...
    DivFix++ ๋‹ค์šด๋กœ๋“œ
  • 2
    ์ œ์ด๋ณด์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ
    ์ œ์ด๋ณด์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ
    ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฃผ๋„ ํ”„๋กœ์ ํŠธ
    ์ตœ์ฒจ๋‹จ์„ ์œ„ํ•œ ์ตœ์‹  ํ˜์‹ 
    ์•ฑ. ์ฃผ๋ ฅ ํ”„๋กœ์ ํŠธ์ธ JBoss AS๋Š”
    ์„ ๋„์ ์ธ ์˜คํ”ˆ ์†Œ์Šค,
    ํ‘œ์ค€ ์ค€์ˆ˜...
    JBoss ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‹ค์šด๋กœ๋“œ
  • 3
    ์žฅ๊ณ  ํŒŒ์ผ๋Ÿฌ
    ์žฅ๊ณ  ํŒŒ์ผ๋Ÿฌ
    django Filer๋Š” ํŒŒ์ผ ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
    ๋งŒ๋“œ๋Š” django์— ๋Œ€ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ
    ํŒŒ์ผ๊ณผ ์ด๋ฏธ์ง€๋ฅผ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    django-filer๋Š” ํŒŒ์ผ ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
    djang์— ๋Œ€ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ...
    ์žฅ๊ณ  ํŒŒ์ผ๋Ÿฌ ๋‹ค์šด๋กœ๋“œ
  • 4
    xCAT
    xCAT
    ์ต์ŠคํŠธ๋ฆผ ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ ํˆดํ‚ท.
    xCAT๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ์ž…๋‹ˆ๋‹ค.
    ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๋น„์ €๋‹ ๋„๊ตฌ
    ํ•˜๋“œ์›จ์–ด ์ œ์–ด, ๊ฒ€์ƒ‰ ๋ฐ OS
    ๋””์Šคํฌํ’€/๋””...
    xCAT ๋‹ค์šด๋กœ๋“œ
  • 5
    PSI
    PSI
    Psi๋Š” ํ”Œ๋žซํผ ๊ฐ„ ๊ฐ•๋ ฅํ•œ XMPP์ž…๋‹ˆ๋‹ค.
    ์ˆ™๋ จ๋œ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ํด๋ผ์ด์–ธํŠธ.
    MS์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋นŒ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
    Windows, GNU/Linux ๋ฐ macOS.. ์ฒญ์ค‘:
    ์ตœ์ข… ์‚ฌ์šฉ์ž...
    Psi ๋‹ค์šด๋กœ๋“œ
  • 6
    ๋ธ”๋กœ ๋น„ ๋ฐœ๋ฆฌ 2
    ๋ธ”๋กœ ๋น„ ๋ฐœ๋ฆฌ 2
    ์œ ๋ช…ํ•œ์˜ ๊ณต์‹ ์—ฐ์†
    Blobby Volley 1.x ์•„์ผ€์ด๋“œ ๊ฒŒ์ž„..
    ๋Œ€์ƒ: ์ตœ์ข… ์‚ฌ์šฉ์ž/๋ฐ์Šคํฌํ†ฑ. ์‚ฌ์šฉ์ž
    ์ธํ„ฐํŽ˜์ด์Šค: OpenGL, SDL. ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ
    ์–ธ์–ด: C++, ๋ฃจ์•„. ์”จ...
    ๋ธ”๋กœ๋น„ ๋ฐœ๋ฆฌ 2 ๋‹ค์šด๋กœ๋“œ
  • ๋”ยป

Linux ๋ช…๋ น

Ad