Linux / Unix baiko: Id

ANARANA

ld - Mampiasa LD , ny mpandrindra GNU

SYNOPSIS

ld [ options ] objfile ...

DESCRIPTION

ld dia manambatra antontan'isa sy tahirim-pandaharam -potoana , mamindra ny angon-drakitra ary mampifandray ireo marika famantarana. Matetika ny dingana farany amin'ny fananganana programa dia ny mitarika ld .

Ny ld dia manaiky ny rakitra amin'ny fiteny Linker Command izay nosoratana tamin'ny dika mitovy amin'ny AT & T amin'ny rindrambaiko amin'ny baikon'ny Link Editor, mba hanomezana fifehezana mazava sy feno tanteraka ny fizotry ny fifandraisana.

Ity peon'olombelona ity dia tsy mamaritra ny fitenin'ny baiko; Jereo ny ld fidirana amin'ny "info", na ny ld manual: ny GNU linker, ho amin'ny antsipirihany amin'ny fiteny mandidy sy amin'ny lafiny hafa amin'ny linker GNU.

Ity version ld ity dia mampiasa ny tanjona jeneralin'ny BFD amin'ny sehatr'asa. Izany dia mamela ny ld mamaky, manambatra ary manoratra rakitra doka amin'ny endrika maro samihafa --- ohatra, COFF na "a.out". Ny format isan-karazany dia mety ho mifamatotra amin'ny famokarana karazana rakitra rehetra.

Ankoatra ny fahaiza-manaony, ny mpikamban'ny GNU dia manampy kokoa noho ireo mpanelanelana hafa amin'ny famoahana ny fanazavana momba ny aretina. Maro ny mpitsoa-ponenana mandao ny famonoana raha vantany vao misy fahadisoana; raha mbola azo atao, manohy manatanteraka ny ld , ka mamela anao hamantatra ny fahadisoana hafa (na, amin'ny tranga sasany, mba hahazoana dossier output na dia eo aza ny hadisoana).

Ny rohy GNU ld dia natao mba handraketana toe-javatra maro isan-karazany, ary mba ho toy ny mifanaraka araka izay azo atao amin'ny fifandraisana hafa. Vokatr'izany dia manana safidy maro hifehy ny fitondran-tenany ianao.

FANDIKANA

Ny mpanohana azy dia manohana ny marimaritra iraisana amin'ny baikon'ny baikon'ny baiko , saingy amin'ny ankapobeny dia vitsy amin'izy ireo no ampiasaina amin'ny toe-javatra manokana. Ohatra, ny fampiasana matetika ny ld dia mampifandray ny rakitra manana ny lanjan'ny Unix amin'ny alàlan'ny rafitra iray, tohanan'ny Unix rafitra . Amin'ity rafitra ity, hampifandray ny antontan-taratasy "hello.o":

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

Ity dia mitatitra ld amin'ny famoahana rakitra antsoina hoe vokatra , vokatry ny fampifandraisana ilay rakitra "/lib/crt0.o" miaraka amin'ny "hello.o" sy ny tranomboky "libc.a", izay hivoaka avy amin'ny tahiry finday. (Jereo ny adihevitra momba ny -l safidy etsy ambany.)

Ny sasantsasany amin'ireo safidy command line ld dia mety faritana amin'ny fotoana rehetra ao amin'ny baiko baiko. Na izany aza, ny safidy izay mifandraika amin'ny rakitra, toy ny -l or -T , dia mahatonga ilay rakitra ho vakina amin'ny toerana izay misy ilay safidy eo amin'ny baiko baiko, raha oharina amin'ny rakitra sy ny safidy hafa. Ny famerenana indray ny safidy tsy misy rakitra miaraka amin'ny hevitra hafa dia tsy hisy vokany hafa, na manilika ny fisehoan-javatra teo aloha (ireo ho any ankavia amin'ny baikon'ny baiko) amin'io safidy io. Ny safidy izay mety voafaritra tsara mihoatra ny indray mandeha dia voatanisa ao amin'ireo famaritana etsy ambany.

Ireo anton-kevitra tsy misy safidy dia rakitra na arisin'ny object izay tokony hampifandraisana azy. Azony atao ny manaraka, mialoha, na mifangaro amin'ny safidy baiko, afa-tsy ny fanoherana ny rakitra ao amin'ny rakitra iray dia tsy azo apetraka eo anelanelan'ny safidy iray sy ny adihevitra.

Amin'ny ankapobeny, ny rohy dia ampiasa amin'ny rakitra iray farafaharatsiny, saingy azonao atao ny mametraka endritsoratra hafa amin'ny dikan-tsoratra binary ampiasaina -l , -R , ary ny fiteny command script. Raha tsy voafaritra ny rakitra fidirana ao amin'ny binary, dia tsy mamoaka output ny mpiblaogy, ary mamoaka ilay hafatra Tsy misy rakitra fidirana .

Raha tsy afaka mamantatra ny endriky ny rakitra iray ny mpihaino, dia heverina fa izy io dia script misy rohy. Ny script voafaritra amin'izany fomba izany dia mampivelatra ny script main linker ampiasaina amin'ny rohy (na ny script scripter defaire na ny iray voafaritra amin'ny fampiasana -T ). Io endri-javatra io dia mamela ny mpikamban'ny rohy hampifandray amin'ny rakitra iray izay toa sarin'ity orinasa ity, fa mamaritra fotsiny ny soatoavina marika, na mampiasa "INPUT" na "GROUP" mba hamindrana zavatra hafa. Mariho fa ny famaritana ny script iray amin'izany fomba izany dia manitatra fotsiny ny script-ny rohy; ampiasao ny safidy -T raha hanolo ny script linker default manontolo.

Ho an'ny safidy izay anarana iray dia taratasy tokana, ny fanamarihana safidy dia tsy maintsy manaraka ny taratasy safidy tsy misy fahafahana miditra malalaka, na omena ho hevitra maromaro tsy tapaka manaraka ny safidy izay mitaky azy ireo.

Ho an'ny safidy misy litera marobe, ny iray na tsiranoka iray dia afaka alohan'ilay anarana safidy; Ohatra, ny marika -trace-symbol ary ny -trace-symbol dia mitovy. Fanamarihana - misy iray hafa ankoatra ity fitsipika ity. Ny safidy taratasy maromaro izay manomboka amin'ny tranga ambany kokoa 'o' dia afaka miditra amin'ny teboka roa. Izany dia hampihenana ny fifanjevoana amin'ny safidy -o . Noho izany -omagic dia mametraka ny anaran-drakitra output ho an'ny magie, kanefa --omagic dia mametraka ny sainan'ny NMAGIC amin'ny vokatra.

Ny adihevitra momba ny safidim-taratasy maromaro dia tsy maintsy sokafana amin'ny anaran'ny safidy amin'ny alalan'ny famantarana mitovy, na omena ho hevitra maromaro tsy tapaka manaraka ny safidy izay mitaky azy ireo. Ohatra, --trace-symbol foo ary --trace-symbol = foo mitovy lenta. Misy ny famaritana manokana ny anaran'ny safidy maro amin'ny taratasy.

Fanamarihana - raha angonina indraindray ny mpanelanelana, amin'ny alàlan'ny mpamily mpanamboatra (ohatra gcc ), ny soso-kevitra rehetra amin'ny rohy baiko dia tokony aseho amin'ny -Wl, (na izay mety amin'ny mpamily mpanamboatra manokana) tahaka ity:

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

Zava-dehibe izany, satria raha tsy izany, ny programan'ny mpamily fiara dia afaka mangina mangina ny safidin-tserasera, ka nahatonga rohy ratsy.

Ity ny latabatry ny fitaovana familiana baikon'ny jeneraly ankatoavin'ny GNU linker:

-a teny fototra

Ity safidy ity dia tohanan'ny HP / UX fifanarahana. Ny votoatin'ny sokajy dia tokony ho iray amin'ny arsiva , na zaraina , na tsy fanao . -aarchive dia mitovy amin'ny -Bstatic , ary ny teny roa hafa dia mitovy amin'ny -Bdynamic . Ity safidy ity dia mety ampiasaina imbetsaka.

- Toe-karena

- architekture = architecture

Ao amin'ny famoahana ld amin'izao fotoana izao, io safidy io dia tsy ilaina afa-tsy amin'ny famolavolana fianakaviana Intel 960. Ao anatin'io ld- konfiga ld io, ny fanamarihana ara-tsiantifika dia mamaritra ny rafitra manokana ao amin'ny fianakaviana 960, manome fahafahana hiaro sy hanovana ny lalan'ny fikarohana ao amin'ny tranokala.

Ny famoahana ny ho avy ao aoriana dia mety hanohanana ireo fikarakarana hafa ho an'ireo fianakaviana maritrano hafa.

-b input-format

--format = fampidirana-format

ld dia mety ampiasaina hanohanana karazana rakitra iray karazana. Raha toa ka ny ld anao no manorina izany, dia azonao ampiasaina ny safidy -b hanondroana ny format binary ho an'ny raki-drakitra fidirana manaraka ity safidy ity amin'ny baiko baiko. Na dia ny ld aza dia natsangana mba hanohanana endrika hafa, dia tsy voatery manondro izany ianao, fa tokony hampiarahina amin'ny ld raha ny format an-drakitra dia ny format mahazatra indrindra amin'ny milina tsirairay. Ny endritsoratra dia endri -tsoratra, ny anaran'ny format iray manokana tohanan'ny tranokala BFD. (Azonao atao ny mametraka ny endrika binary azo ampiasaina miaraka amin'ny objdump -i .)

Azonao atao ny mampiasa ity safidy ity raha mampifandray ireo rakitra miaraka amin'ny format tsy dia mahazatra. Azonao ampiasaina ihany koa ny -b hanova endrika ara-taratasy mazava (rehefa mampifandray ireo rakitra misy ny format amin'ny endrika samihafa), amin'ny fampidirana -b -in-drakitra alohan'ny vondrona rakitra rehetra ao anaty format iray.

Ny format default dia nalaina tao amin'ny "GNUTARGET" tontolo iainana.

Azonao atao koa ny mamaritra ny format fampidirana amin'ny script, mampiasa ny baiko "TARGET";

-c MRI-commandfile

--mri-script = MRI-commandfile

Ho fampifanarahana amin'ny mpitsidika novokarin'ny MRI, ld dia manaiky ny rakitra sora-tànana nosoratana tamin'ny dikan-teny mandidy, voafetra, voatanisa ao amin'ny fizarana MRI Compatible Script Files ao amin'ny tahirin-kevitra GNU ld. Ampidiro ny rakitra MRI miaraka amin'ny safidy -c ; ampiasao ny safidy -T raha handefa ny soratra amin'ny rohy misy soratra amin'ny rohy amin'ny soratra dika amin'ny alàlan'ny doka amin'ny ankapobeny. Raha tsy misy ny MRI-cmdfile , ld dia mijery izany ao amin'ny directories voafaritra amin'ny safidy -L .

-d

-dc

-dp

Ireo safidy telo ireo dia mitovy. Ny endrika maro dia tohanan'ny fifandraisana amin'ny mpiray finoana hafa. Manolotra toerana malalaka ho an'ny marika iombonana izy ireo na dia misy anton-drakitra misimisy azo apetraka (miaraka amin'ny -r ). Ny baikon'ny script "FORCE_COMMON_ALLOCATION" dia mitovy ny vokany.

-e entry

- entana = fidirana

Mampiasà fampidirana ho marika mazava amin'ny fanombohana ny famoahana ny programanao, fa tsy ny dingana fidirana fidirana. Raha tsy misy marika voalaza anarana, ny mpinkara dia hanandrana hizara ny fidirana amin'ny isa, ary ampiasao izany ho toy ny adiresy fidirana (ny isa dia azo adika ao amin'ny base 10; azonao ampiasaina ny 0x fototra ho an'ny base 16, na 0 ho an'ny fototra 8).

-MG

--export-mavitrika

Rehefa mamorona amina rindranasa mifandraika amin'ny famolavolana dia ampio ny marika rehetra eo amin'ny latabatra symbol dynamique. Ny latabatra symbol dynamique dia ny marika famantarana izay hita avy amin'ny zavatra manintona amin'ny fotoam-panafahana.

Raha tsy mampiasa an'io safidy io ianao, ny tabilao dinihina dynamique dia tsy ahitana afa-tsy ireo sariohatra izay aseho amin'ny zavatra misy dynamique voatonona ao amin'ny rohy.

Raha mampiasa "dlopen" ianao mba hametrahana tolotra dynamique izay mila miverina amin'ny sariohatra voafaritry ny programa, fa tsy zavatra hafa dynamique, dia mety mila mampiasa io safidy io ianao rehefa mampifandray ilay programa.

Azonao ampiasaina ihany koa ny script-version mba hifehezana ny marika tokony hampidirina ao amin'ny latabatra marika dynamic raha manohana azy io ny format ivelany. Jereo ny famaritana ny script -version-script amin'ny @ ref {VERSION}.

-EB

Ampitao ireo zavatra goavana endiana. Izany dia misy fiantraikany amin'ny format default output.

-EL

Ampidino ireo zavatra bitika. Izany dia misy fiantraikany amin'ny format default output.

-f

- anarana anarana

Rehefa mamorona tetikasa raketin'ny singa ELF, dia mametraka ny saha anaty DT_AUXILIARY amin'ny anarana voatondro. Ity dia milaza amin'ilay mpandrindra dynamique fa ny tabilao famantarana ny hetsika iombonana dia tokony ampiasaina ho sivana mpanampy eo amin'ny latabatra marika amin'ny anarana iombonana .

Raha mampifandray programa iray ianao amin'ity tontolon'ny sivana ity, dia hahita ny saha DT_AUXILIARY ny mpihaino manana dynamique rehefa mihazakazaka ilay programa. Raha mametraka sariohatra avy amin'ny sivana ny sivana ny mpandrindra dynamique, dia hanamarina aloha raha misy ny famaritana ny anarana iombonana . Raha misy iray, dia ampiasaina izy io fa tsy ny famaritana ny sivana. Tsy tokony hisy ny anaran'ny totozy ifampizarana. Noho izany dia azo ampiasaina ny anaran'ny doka ifampizarana mba hanomezany fahafaha-manao fanatontosana asa sasantsasany, angamba ho an'ny debugging na ho an'ny fahombiazan'ny fiara manokana.

Ity safidy ity dia azo atao mihoatra ny indray mandeha. Ny firaketana DT_AUXILIARY dia hovaina araka ny filaharany izay miseho eo amin'ny baikon'ny baiko.

- anarana

- anaran'ny filalaovana

Rehefa mamorona tetikasa raketin'ny singa ELF ianao dia mametraha ny saha anaty DT_FILTER amin'ny anarana voatondro. Ity dia miteny amin'ny mpandrindra dynamique fa ny latabatra marika amin'ilay zavatra iombonana izay noforonina dia tokony ampiasaina ho sivana eo amin'ny latabatra marika amin'ny anarana iombonana .

Raha toa ka mampifandray programa iray mifanohitra amin'ity sivana ity ianao, dia rehefa hijery ilay programa dia hahita ny saha DT_FILTER ny mpizara dynamic. Ny mpandrindra dynamique dia hamaha ny marika eo amin'ny latabatry ny sivana amin'ny sivana araka ny mahazatra, saingy hampifandraisina tanteraka amin'ny famaritana hita ao amin'ny anarana iombonana . Noho izany ny fitaovana fanivanana dia azo ampiasaina mba hisafidianana ny ampahany amin'ny marika nomena ny anarana .

Ny sasany tamin'ireo rohy malaza dia nampiasa ny safidy -F amin'ny alàlan'ny fitaovam-pandrafetana fanoratana mba hamaritana ny format-drakitra noforonina ho an'ny rindrankajy na rindran-kaonty. Ny mpandrindra GNU dia mampiasa fitaovana hafa ho an'ity tanjona ity: ny -b , --format , safidy safidy, ny baiko "TARGET" ao amin'ny script scripts, ary ny "GNUTARGET" fari-dehiben'ny tontolo. Ny mpikamban'ny GNU dia tsy miraharaha ny safidy -F raha tsy mamorona zavatra mifandraika amin'ny ELF.

anarana anarana

Rehefa mamorona ny tontolon'ny executable ELF na zaraina dia antsoy ny NAME rehefa navotana ilay tontolon'ny executable na zaraina, amin'ny fametrahana DT_FINI amin'ny adiresy ny lahasa. Amin'ny alàlan'ny default, ny rohy dia mampiasa ny "_fini" ho toy ny asa atao hiantso.

-g

Tsy niraharaha. Ahitana fifanarahana amin'ny fitaovana hafa.

-G valiny

--gpsize = valiny

Ampifanitsio ny haben'ireo zavatra entina hanatsarana ny fampiasana ny rejisitra GP mba hampitombo . Zavatra manan-danja fotsiny izany ho an'ny rakitra fitahirizana rakitra toy ny MIPS ECOFF izay manohana ny fametrahana zavatra lehibe sy kely ho an'ny fizarana samihafa. Ity dia tsy raharahiana amin'ny endrika hafa.

-h name

- anarana = anarana

Rehefa mamorona tetikasa raketin'ny solosaina ELF, dia mametraka ny sanda DT_SONAME anatiny amin'ny anarana voatondro. Rehefa misy famaha azo ampiasaina dia mifamatotra amin'ny sehatra iombonana izay manana sehatra DT_SONAME, dia rehefa miverina ilay executable dia ny mpizara dynamique dia manandrana mandefa ny rakitra iombonana voafaritra amin'ny alàlan'ny saha DT_SONAME fa tsy ny fampiasana ny anaran-drakitra nomena ny mpandefa.

-i

Manaova rohy fanampiny (mitovy amin'ny safidy -r ).

-Init name

Rehefa mamorona ny tontolon'ny executable ELF na zaraina dia antsoy ny NAME rehefa voavaky ilay tontolon'ny executable na ifampizarana, amin'ny fametahana DT_INIT amin'ny adiresin'ilay asa. Raha toa ka mampiasa ny "_init" ny mpandrindra dia ampiasain'ny fiantsoana.

-l arivony

--library = arivoarivo

Ampio arivoarivo ny tahiry arivoarivo mankany amin'ny lisitry ny rakitra hampifandraisana. Ity safidy ity dia mety ampiasaina imbetsaka. ld dia hikaroka ny làlany-lisitry ny fisian'ny "libarchive.a" ho an'ny arsiva voatondro.

Amin'ny rafitra izay manohana ny tranombokim-pifandraisana, ld dia mety hikaroka tranokala ihany koa amin'ny fanitarana afa-tsy ".a". Amin'ny ankapobeny, ny ELF sy ny SunOS rafitra dia hikaroka lahatahiry iray ho an'ny tranomboky iray miaraka amin'ny fanitarana ny ".so" alohan'ny hitadiavana ny iray amin'ny fanitarana ny ".a". Amin'ny fivoriambe, ny fandefasana ny ".so" dia manondro tranombarotra iombonana.

Ny mpinkitra dia hitady indray ny arisiva indray mandeha, eo amin'ny toerana misy azy ao amin'ny baikon'ny baiko. Raha mamaritra sora-baventy izay tsy voafaritra amin'ny zavatra sambany izay miseho eo anoloan'ny rakitra ao amin'ny baikon'ny baiko, dia hampiditra ny rakitra mety amin'ny rakitra. Na dia izany aza, marika famantarana tsy voafaritra ao anatin'ny zavatra iray miseho ety aoriana ao amin'ny baikon'ny baiko dia tsy hamela ny mpizara hitady indray ny rakitra.

Jereo ny - - ( safidy ho an'ny fomba hanerena ny mpanelanelana hitady arisiva imbetsaka.

Azonao atao ny mametraka imailaka imbetsaka io arsiva io.

Ity karazana fikarohana arisiva ity dia natao ho an'ny mpikamban'ny Unix. Na izany aza, raha mampiasa ld onAIX ianao dia mariho fa tsy mitovy amin'ny fitondran'ny AIX linker izany.

-L searchdir

--library-path = searchdir

Ampio fitadiavana ny lalana mankany amin'ny lisitr'ireo làlana izay hikaroka ny tranokala famandrihana ary ny lcd controls . Azonao ampiasaina imbetsaka io safidy io. Ny finday dia notadiavina araka ny filaharan'izy ireo amin'ny baiko baiko. Ireo rakitra voatondro ao amin'ny baiko baiko dia notadiavina mialoha ny lahatahiry default. Ireo safidy rehetra -L dia mihatra amin'ny safidy rehetra -l , na inona na inona lamina azon'ireo safidy.

Raha manomboka amin'ny "=" ny searchdir , dia hosoloina ny "=" ny prefix sysroot , lalana iray voatondro rehefa nomanina ny mpanova .

Ny karazam-pikarohana karazam-pikarohana (tsy voalaza amin'ny -L ) dia miankina amin'ny fampiasana fomba amam-panao ld , ary amin'ny toe-javatra sasany ihany koa ny fomba nanamboarana azy.

Ny lalana ihany koa dia azo faritana amin'ny rohy iray amin'ny rohy miaraka amin'ny baiko "SEARCH_DIR". Ireo rakitra voatondro io fomba io dia notadiavina amin'ny teboka izay ahitana ilay script linker hita ao amin'ny baikon'ny baiko.

-m emulation

Manaova sary Azonao atao ny manisy lisitra miaraka amin'ny safidy --verbose na -V .

Raha toa ka tsy ampiasaina ny safidy -m , dia alaina avy amin'ny fari-dahatsoratra "LDEMULATION", raha voafaritra izany.

Raha tsy izany dia miankina amin'ny fomba nandrafetana ny rohy ny endri-tsoratra default.

-M

--print-Map

Soraty ny sarina rohy mankany amin'ny vokatra azo alaina. Ny sarintan-rohy iray dia manome vaovao momba ny rohy, anisan'izany ireto manaraka ireto:

*

Raha misy sary sy sariohim-piraketam-peo napetraka ao anaty fahatsiarovana.

*

Endritsoratra mahazatra no ampiasaina.

*

Ny mpikambana rehetra ao amin'ny arisiva dia nampidirina tao amin'ny rohy, miaraka amin'ny filazana ilay marika izay nahatonga ny mpikambana ao amin'ny ariary.

-n

--nmagic

Esory ny alim-pandrefesana ny sehatra, ary mariho ny output as "NMAGIC" raha azo atao.

-N

--omagic

Apetraho ireo toko sy fizarana ireo ho azo vakiana sy azo soratana. Aza koa ny pejy-align de segondra angona, ary esory ny fifandraisana amin'ny tranomboky iombonana. Raha manohana ny mari-pamantarana "Unix" ny endri-tsinjara, mariho ny vokatra ho "OMAGIC".

--no-omagic

Ity safidy ity dia manilika ny ankamaroan'ny vokatr'ilay safidy -N . Izy io dia mametraka ny fizarana an-tsoratra mba ho vakiana-fotsiny, ary manery ny fizarana angona mba ho pejy-aligned. Fanamarihana - tsy azo atao ny mifandray amin'ireo tranomboky iombonana. Ampiasao ny -dynamika amin'izany.

-o output

--output = output

Ampiasao ny vokatra amin'ny anarana ho an'ny programa novokarin'ny ld ; Raha toa tsy voafaritra io safidy io dia ny default ny a.out . Ny baiko script "OUTPUT" dia afaka manondro ny anaran'ny rakitra output.

-O level

Raha toa ny laharam -boninahitra isa ambony kokoa noho ny zero ld dia manatsara ny vokatra. Mety haharitra kokoa izany ary mety tsy azo atao afa-tsy ho an'ny binary farany ihany.

-q

--emit-relocs

Miala ny fizotran'ny famindrana sy ny votoatin-dresaka mifandraika tanteraka. Ny fanadihadiana rohy momba ny rohy sy ny fitaovana fanatsarana dia mety mila izany fampahalalana izany mba hanatanterahana ny fanovana marina. Izany dia miteraka vokatra lehibe kokoa.

Ity safidy ity dia vao mainka manohana amin'ny sehatra ELF.

-r

--relocateable

Manome ny vokatra azo havaozina --- izany hoe, mamoaka tahirim-bidy ahafahana miditra ho ld . Ity matetika dia antsoina hoe fifandraisana ampahany . Amin'ny lafiny iray, ao anatin'ny tontolo izay manohana ny marika mônika Unix, io safidy io koa dia mametraka ny mari-pamantarana maimaim-poana amin'ny "OMAGIC". Raha toa ka tsy voalaza io safidy io, dia misy ny rakitra tanteraka. Rehefa mampifandray ireo programa C ++, dia tsy hamaha ny references amin'ny mpanamboatra ity safidy ity; Mba hanaovana izany, ampiasao -Ny .

Raha toa ka tsy manana ny format mitovy toy ny rindran-drakitra ny antontan-drakitra iray dia ampahany ihany ny fifandraisana ampahany raha toa ka tsy misy famindrana izany rakitra fidirana izany. Ny endrika famoahana samihafa dia mety manana fameperana bebe kokoa; Ohatra ny endrika "a.out" sasany dia tsy manohana fifandraisana ampahany amin'ny rakitra fidirana amin'ny endrika hafa.

Ity safidy ity dia mitovy amin'ny -i .

-R filename

--mba-symbols = filename

Vakio ireo marika famantarana sy ny adiresy ao amin'ny filaham-baovao , fa aza adinoina izany na avereno ao amin'ny daba. Izany dia mamela ny tahirin-tsinjara ho anao mba hanondro an'ohatra ny toerana misy ny memo voafaritra amin'ny programa hafa. Afaka mampiasa io safidy io mihoatra ny indray mandeha ianao.

Raha mifanaraka amin'ny rohy hafa ELF, ny safidy -R dia arahin'ny anaran'ny lahatahiry, fa tsy anaran'ny anaran-drakitra, dia raisina ho safidy rpath .

nerlandey

--strip daholo

Omeo ny fampahalalana marika rehetra ao amin'ny rakitra output.

nerlandey

--strip-debug

Omeo fampahalalana marika ny debugger (fa tsy ny marika rehetra) avy amin'ny rakitra output.

-t

--trace

Soraty ny anaran'ireo dossiers fidirana rehefa manodina azy ireo.

-T scriptfile

--script = scriptfile

Ampiasao ny scriptfile ho an'ny script linker. Ity script ity dia manolo ny script sigara ld an'ny default (fa tsy mampiditra azy io), ka ny commandfile dia tsy maintsy manondro ny zavatra ilaina mba hamaritana ny rakitra output. Raha tsy misy ny scriptfile ao amin'ny lahatahiry amin'izao fotoana izao, ny "ld" dia mitady izany ao amin'ny directories voafaritra amin'ny safidy rehetra -L . Maro ny safidy -T manangona.

-u symbol

- Wikibolana, raki-bolana malalaka

Ny mari-pamantarana force no hiditra ao amin'ny tahiry vokatra ho marika tsy voafaritra. Ny fanaovana izany dia mety, ohatra, ny fampifandraisana ny môleba fanampiny avy amin'ny tranomboky marimaritra iraisana. -u dia azo averina miaraka amin'ny fehin-kevitra hafa misafidy mba hiditra ireo marika fanampiny tsy voafaritra. Ity safidy ity dia mitovy amin'ny baiko "EXTERN" amin'ny script.

-Ur

Ho an'ireo zavatra hafa ankoatra ny programa C ++, io safidy io dia mitovy amin'ny -r : miteraka vokatra azo afindrafindra --- izany hoe, ny tahirim-bidy izay afaka miditra ho toy ny input to ld . Rehefa mampifandray ny programa C ++, ianao dia mamaha ny references amin'ny mpanamboatra, tsy toy ny -r . Tsy miasa amin'ny fampiasana -Ny rakitra izay nifandraisany tamin'ny -Ny ; Rehefa tafapetraka ny latabatra fanorenana dia tsy azo ampiana izany. Ampiasao -Ny ampahany farany amin'ny rohy, ary -r ho an'ny hafa.

--unique [= SECTION ]

Mamorona sehatra fizarana miavaka ho an'ny fizarana rehetra mifandraika amin'ny SECTION , na raha toa ka tsy hita ny argument safidy safidy SECTION, ho an'ny fizarana fizarana fitaovana. Misy fizarana kamboty iray izay tsy voatonona manokana ao anaty script scripter. Azonao ampiasaina imbetsaka io safidy io amin'ny baiko baiko; Izany dia misakana ny fitrandrahana mahazatra ny fizarana fidirana amin'ny anarana mitovy, manapaka ny anjara andraikitra ao amin'ny script iray linker.

-v

--version

-V

Asehoy ny laharana fanandramana ho an'ny ld . Ny lisitry -V dia mirakitra koa ny fandefasana fanohanana.

-x

--discard daholo

Alefaso ireo marika eo an-toerana.

-X

--discard-an-toerana

Alefaso ireo marika eo an-toerana. Ho an'ny ankamaroan'ny tanjona, dia ireo famantarana eo an-toerana rehetra izay manomboka ny anarany amin'ny L.

-y marika

--trace-symbol = famantarana

Soraty ny anaran'ny rakitra mifandraika tsirairay izay miseho ny marika . Azo atao isaky ny imbetsaka io safidy io. Amin'ny sehatra maro dia ilaina ny manakana fanasokajiana iray.

Safidy io safidy io raha toa ka manana marika tsy voafaritra ianao ao amin'ny rohy fa tsy fantatrao hoe avy aiza ny lohateniny.

-Y lalana

Ampio lalana mankany amin'ny tranonkala fitadiavam-bidy. Io safidy io dia misy amin'ny solaris compatibility.

-z keyword

Ny teny fototra fantatra dia "initfirst", "interpose", "loadfltr", "nodefaultlib", "nodelete", "nodlopen", "nodump", "now", "origin", "combreloc", "nocombreloc" ary "nocopyreloc ". Ireo teny fanalahidy hafa dia tsy raharahian'ny solaris compatibility. Ny "initfirst" dia manamarika ny zavatra tokony ho voalohany alohan'ny fotoana iray alohan'ny zavatra hafa. Ny "interpose" dia manamarika ny tontolon'ny marika famantarana eo alohan'ny marika rehetra, fa ny ambaratonga voalohany indrindra. "loadfltr" dia manamarika ny zavatra tsy maintsy atao amin'ny alàlan'ny famoahana azy. "nodefaultlib" dia manamarika ny teboka izay tsy hiraharaha ny fikarohana ny fiankinan'ity zavatra ity. karazan-dàlana fitadiavam-bidy. Ny "nodelete" dia manamarika fa tsy tokony halefa amin'ny runtime ilay totozy. Ny "nodlopen" dia manamarika ilay zavatra tsy misy "dlopen". Ny "nodump" dia manamarika fa tsy azo atao ny "dldump". "ankehitriny" dia manamarika ilay zavatra miaraka amin'ny fametahana tsy misy kamo. "Ny fiavahana" dia manamarika ny zavatra mety ahitana $ ORIGIN. Ny "defs" dia manala ny marika tsy voafaritra. "muldefs" dia mamaritra famaritana maromaro. Ny "combreloc" dia manambatra sehatra relocation maro ary mamaritra azy ireo mba hahatonga ny caching dynamic lookup azo atao.

Ny "nocombreloc" dia mamela ireo sehatra relocation maro mifamatotra. "nocopyreloc" manala ny famokarana kopia.

- ( arivoarivo -)

- arisivan- tariby - groupe -end

Ny tahiry dia tokony ho lisitr'ireo rakitra tahiry . Mety misy ny anaran-drakitra mazava, na -l safidy.

Ny tahirin-kevitra voatahiry dia notadiavina imbetsaka raha tsy misy tsipika vaovao tsy voafaritra. Amin'ny ankapobeny, ny tahirin-tserasera dia mikaroka indray mandeha monja amin'ny baiko izay voalaza ao amin'ny baikon'ny baiko. Raha toa ka misy marika ao amin'io arisiva io ny hamaha ny marika tsy voafaritra voalaza ao amin'ny rakitra iray izay miseho etsy ambony amin'ny baiko baiko, dia tsy ho afaka hamaha io tsipika io ilay rohy. Amin'ny famorisana ireo tahiry ireo, dia haverina im-betsaka izy ireo mandra-pahavitan'ny andinindininy rehetra.

Ny fampiasana io safidy io dia manana lanjany mitombina. Tsara raha ampiasaina izany raha tsy misy famoahana boribory tsy azo avela eo amin'ny arisiva roa na maromaro.

--accept-tsy fantatra-fahan'ny-andohalambo

--no-manaiky-tsy fantatra-fahan'ny-andohalambo

Mampahafantatra ny rohy mba hanaiky ireo dossier inputs izay tsy azo ekena ny architecture. Ny hevitra dia ny fahafantaran'ny mpampiasa ny zavatra ataon'izy ireo ary maniry ny hampifandray azy amin'ny raki-tsoratra tsy fantatra. Ity no fihetsika tsy mety ataon'ny mpiray tanindrazana, alohan'ny famotsorana azy 2.14. Ny fitondran-tena tsy mety amin'ny fanafahana 2.14 dia ny mandà ny tahirin-drakitra toy izany, ka noho izany dia nampiana ny safidy --accept-unknown-input-arch mba hamerenana indray ny fihetsika taloha.

- teny fanalahidy

Ity safidy ity dia tsy raharahiana noho ny compatibility SunOS .

-Bdynamic

-dy

-call_shared

Fifandraisana amin'ny tranomboky dynamique. Zavatra manan-danja fotsiny izany eo amin'ny sehatra izay itahirizana ny tranomboky iombonana . Ity safidy ity dia ny default amin'ny sehatra toy izany. Ireo karazana hafa amin'ity safidy ity dia ho an'ny fifanarahana amin'ny rafitra samihafa. Azonao ampiasaina imbetsaka io safidy io ao amin'ny baiko baiko: misy fiantraikany amin'ny fitadiavana ny sehatr'asa -l izay manaraka azy io.

-Bgroup

Ampidino ny sainan'ny "DF_1_GROUP" ao amin'ny "DT_FLAGS_1" ao anatin'ny fizarana dynamique. Izany dia mahatonga ny mpihazakazaka mandehandeha mandamina ny fikarohana ao amin'io tanjona io sy ny miankina aminy tsy misy afa-tsy ao anatin'ny tarika. Tsy misy endriny. Ity safidy ity dia manan-danja fotsiny amin'ny sehatra ELF izay manohana ireo tranomboky iombonana .

-Bstatic

-dn

-non_shared

-static

Aza mifandray amin'ireo tranomboky iombonana. Zavatra manan-danja fotsiny izany eo amin'ny sehatra izay itahirizana ny tranomboky iombonana. Ireo karazana hafa amin'ity safidy ity dia ho an'ny fifanarahana amin'ny rafitra samihafa. Azonao ampiasaina imbetsaka io safidy io ao amin'ny baiko baiko: misy fiantraikany amin'ny fitadiavana ny sehatr'asa -l izay manaraka azy io.

-Bsymbolic

Rehefa mamorona tranombokim-pifandraisana iray, aforeto amin'ny loharano maneran-tany ny famaritana ao amin'ny famaritana ao amin'ny tranomboky iombonana, raha misy. Amin'ny ankapobeny, mety ho fandaharan'asa iray mifandraika amin'ny tranombokim-pifandraisana no manapaka ny famaritana ao amin'ny tranomboky iombonana. Ity safidy ity dia manan-danja fotsiny amin'ny ELFplatforms izay manohana ny tranomboky iombonana.

--check-fizarana

--no-manamarina-fizarana

Mangataka ny mpanelanelana mba tsy hanamarina ny adiresin'ny adiresy rehefa voatendry izy ireo mba hijerena raha toa ka misy fifampiraharahana. Amin'ny ankapobeny, ny mpanelanelana dia hanatanteraka ity karoka ity, ary raha mahita tranga iray izy dia hamoaka hafatra diso. Ny mpiraki-draharaha dia mahalala momba izany, ary manao tombontsoa amin'ny sehatra amin'ny fisitrihana. Ny fitondran-tena tsy mety dia azo averina amin'ny alàlan'ny fampiasana ny famantaran-tsipika baiko - check-sections .

--cref

Asehoy ny latabatra fandrefesana lakroa. Raha misy ny sora-tanan'ny sariitatra miseho eo amin'ny sivana, dia aseho amin'ny tabilan'ny sarintany ny latabatra fandrefesana lakroa. Raha tsy izany, dia vita pirinty amin'ny vokatra serivisy.

Ny endrika eo amin'ny latabatra dia tsotra tsotra, mba hahafahana manitsy azy amin'ny alalan'ny script raha ilaina. Ny sariohatra dia vita printy, voatahiry amin'ny anarany. Ho an'ny marika tsirairay dia misy lisitra misy ny anaran-drakitra nomena. Raha voafaritra ny marika, ny rakitra voalohany dia ny toerana misy ny famaritana. Ny rakitra sisa dia ahitana references amin'ny marika.

--no-hamaritra-iombonana

Ity safidy ity dia manakana ny fanendrena adiresy ho an'ireo marika iombonana. Ny baikon'ny script "INHIBIT_COMMON_ALLOCATION" dia mitovy ny vokany.

Ny safidy --no-definite-common dia mamela ny fanapahana ny fanapahan-kevitra hanendry adiresy ho an'ny Common Symbols amin'ny fisafidianana ny karazan-drakitra output; Raha tsy izany dia misy hery fanodikana tsy azo havaozina izay mametraka adiresy amin'ny marika Common. Ny fampiasana --no-define-common dia mamela ny marika Common izay voatondro avy amin'ny tranombokam-pifandraisan'ny adiresy voatokana afa-tsy amin'ny programa maina. Izany dia manafoana ny toerana tsy azo ampiasaina ao amin'ny tranombokim-pifandraisana, ary koa misakana ny mety ho fisafotofoto diso tafahoatra amin'ny famahana ny duplicate diso rehefa misy môdista maro manana fomba manokana hitadiavana ny famahana ny mari-pamantarana.

--defsym symbol = expression

Mamoròna marika manerantany ao amin'ny rakitra output, ahitana ny adiresy absolute nomena azy. Azonao ampiasaina io safidy io imbetsaka raha ilaina mba hamaritana marika maromaro ao amin'ny laharam-baova. Ny endrika arithmetika voafetra dia manohana ny fanehoan-kevitra ao anatin'ity toe-javatra ity: afaka manome hexadecimal ny fahitanao na ny anarana misy ny marika efa misy, na mampiasa "+" sy "-" mba hanampiana na hanovàna hexadecimal constants na marika. Raha mila fanehoan-teny misimisy kokoa ianao, mandinika ny fampiasana ny fiteny baiko amin'ny rohy amin'ny script. Fanamarihana: tokony hisy toerana malalaka eo amin'ny marika , ny famantarana mitovy (`` = ''), ary ny fitenenana .

--demangle [= fomba ]

--no-demangle

Ireo safidy ireo dia manara-maso ny fanesorana anaran-tsehatra famantarana amin'ny hafatra diso sy ny vokatra hafa. Rehefa nasaina nandainga ilay mpandefa, dia manandrana manolotra anarana marika amin'ny fomba azo amidy izy io: mampisongadina mpitarika manohana azy raha ampiasain'ny format fichier object izy ireo, ary mamadika ny anaran'ny anarana simbolin'i C ++ amin'ny anaran'ny mpampiasa vakiana. Ny mpampiasa samihafa dia manana karazana mangingina. Ny fepetra fananganana fakan-kevitra mety ampiasaina dia azo ampiasaina mba hisafidianana fomba fanangonan-danja mety ho an'ny mpampiasa anao. Hiantehitra ny rohy raha alefa raha tsy voafetra ny COLLECT_NO_DEMANGLE arovana . Ireo safidy ireo dia azo ampiasaina mba handrotsahana ny default.

- dynamic-linker file

Mametraka ny anaran'ilay mpandrindra dynamique. Zavatra manan-danja fotsiny izany rehefa mamorona lozisialy ELF mifandray am-pandrosoana. Ny mpandefa rohy dynamique dia ara-dalàna; Aza mampiasa izany raha tsy fantatrao izay ataonao.

--embedded-relocs

Ity safidy ity dia manan-danja raha mampifandray ny mombamomba ny code MIPS izay voaforona amin'ny safidy -membedded-pic amin'ny GNU compiler sy mpanangona. Izany dia mahatonga ny mpanelanelana hamorona latabatra izay mety ampiasaina amin'ny fe-potoana hamindrana ireo angon-drakitra izay nampidirina avy hatrany amin'ny soatoavina pointer. Jereo ny code ao amin'ny testuite / ld-empic amin'ny antsipiriany.

--fatal-fampitandremana

Tandremo ny fampitandremana rehetra ho fahadisoana .

--force-exe-tovana

Ataovy azo antoka fa manana tahiry exe.

Raha toa ka tsy manana adiresy " exe " na " .dll " ny fanalahidin'ny rindrankajy feno tanteraka, io safidy io dia manery ny mpandefa rindrankajy mba handikana ny rakitra output ho an'ny iray amin'ireo anarana mitovy amin'ny suffix ".exe". Ity safidy ity dia ilaina amin'ny fampiasana makeups unmodified Unix amin'ny solosaina Windows Windows, satria ny version sasany amin'ny Windows dia tsy hamoaka sary iray raha tsy tapitra amin'ny endri-tsoratra ".exe".

--no-GC-fizarana

--gc-fizarana

Ampidino ny fanangonana ny tranokala tsy azo ampiasaina. Tsy raharahaina amin'ny tanjona izay tsy manohana io safidy io. Ity safidy ity dia tsy mifanaraka amin'ny -r , ary tsy tokony ampiasaina amin'ny fifandraisana mivantana. Ny fitondran -drakitra (tsy fanatanterahana an'io fanangonana fako io) dia azo averina amin'ny alàlan'ny famaritana ny sehatr'io -no-gc eo amin'ny baikon'ny baiko.

--Vonjeo

Soraty ny famintinana ny safidin'ny baikon'ny baiko eo amin'ny output and output standard.

--target-fanampiana

Soraty ny famintinana ny safidy voafaritra voafaritra voafaritra amin'ny dingana sy ny fivoahana.

-Map mapfile

Manorata sari-tany misy rohy mankany amin'ny filefile . Jereo ny famaritana ny safidy -M , ambony.

--no-mandrakariva-fahatsiarovana

ld amin'ny ankapobeny dia manatsara ny haingam-pandeha amin'ny fampiasana tsiaro amin'ny alàlan'ny famahanana ireo takelaka marika amin'ny rakitra fidirana ho fahatsiarovana. Ity safidy ity dia milaza ld fa aleo manatsara kokoa ny fampiasana tsiaro, amin'ny famerenana mamerina ny latabatra marika raha ilaina. Azonao atao ny mandefa ld raha tsy miala ao amin'ny efitranam-pahatsiarovana ny ld rehefa mifandray amina executable lehibe.

--no-tsy voafaritra

-z defs

Amin'ny ankapobeny rehefa mamorona tranom-bazana iombonana tsy marika dia misy ny marika tsy voafaritra, ary avela ho voavaha amin'ny mpamily. Ireo safidy ireo dia manala ireo sariohatra tsy voafaritra.

--allow-maro-famaritana

-z muldefs

Amin'ny ankapobeny rehefa voafaritra imbetsaka ny marika iray dia hitatitra fahadisoana iray ny mpinkaka. Ireo safidy ireo dia mamela famaritana marika sy ny famaritana voalohany ampiasaina.

--allow-shlib-tsy voafaritra

Ampidino ny marika tsy voafaritra amin'ny zavatra ifampizarana na dia tsy voafaritra aza ny tsy voafaritra. Ny vokatry ny vokatra dia ny famantarana tsy voafaritra tsara amin'ny zavatra tsy tapaka dia mbola hahatonga fahadisoana, saingy ny mari-pamantarana tsy voafaritra amin'ny zavatra ifampizarana dia tsy hiraharaha. Ny fampiharana ny no_undefined dia mahatonga ny fanombanana fa ny mpihazakazaka mandehandeha dia hanosika ireo marika tsy voafaritra. Na izany aza dia misy rafitra iray (BeOS) farafaharatsiny izay misy marika tsy voafaritra ao amin'ny tranombokim-pifanarahana iombonana satria ny kernel dia mametaka azy ireo amin'ny fotoana mahamety azy mba hifidy izay asa mety indrindra ho an'ny architecture ankehitriny. IE mifidy fomba fiasa memset mifanaraka amin'izany. Mazava ho azy fa ara-dalàna ihany koa ny fametrahana ny tranokala HPPA mba hanana marika tsy voafaritra.

--no-tsy voafaritra-Version

Amin'ny ankapobeny raha toa ka misy andian-tsipika marika iray dia tsy hiraharaha ilay izy. Ity safidy ity dia manala tsimoka miaraka amin'ny version tsy voafaritra ary misy fahadisoana mahafaty dia hivoaka.

--no-Mampitandrina-mismatch

Amin'ny ankapobeny, ld dia manome fahadisoana raha toa ka manandrana mampifandray raki-daza misy raki-daza izay tsy voafetra ho an'ny antony sasany, angamba noho izy ireo natsangana ho an'ny processeurs samihafa na ho an'ny endian-javatra samihafa. Ity safidy ity dia mitory ld fa tokony hamela mangingina izany fahadisoana izany. Ity safidy ity dia tokony ampiasaina amim-pitandremana, raha toa ka efa nanao hetsika manokana izay miantoka fa tsy mety ny fahadisoana eo amin'ny rohy.

--no-manontolo-Archive

Esory ny vokatry ny safidin'ny --whole-archive ho an'ny tahiry tahiry manaraka.

--noinhibit-exec

Tazony ny tahiry vokarina azo atao isaky ny ampiasaina. Amin'ny ankapobeny, ny rohy dia tsy hamoaka antontan-dahatsoratra raha toa ka miteraka fahadisoana mandritra ny fizotran'ny fifandraisana; Mivoaka izy raha tsy manoratra antontan-dahatsoratra tahiry raha manakiana fahadisoana na inona na inona.

-nostdlib

Ny lisitry ny tranokala fikarohana ihany no voafaritra mazava ao amin'ny baikon'ny baiko. Ireo rakitra ao amin'ny tranokalam-pifandraisana voatondro ao amin'ny scriptes (mpiditra rohy) voafaritra ao amin'ny baiko ankavia dia tsy niraharaha.

--oformat output-format

ld dia mety ampiasaina hanohanana karazana rakitra iray karazana. Raha ny ld anao no manamboatra izany, dia azonao atao ny mampiasa ny safidy --oformat mba hamaritra ny format binary ho an'ny rakitra object output. Na dia efa nomanina ho fanohanana endrika hafa ny ld aza, dia tsy voatery manondro izany ianao, satria tokony hampifanaraka ny format ld amin'ny format maimaim-poana ny format mahazatra indrindra amin'ny milina tsirairay. Ny format-output dia endri -tsoratra, ny anaran'ny format iray manokana tohanan'ny tranokala BFD. (Azonao atao ny mametraka ny endrika binary azo ampiasaina miaraka amin'ny objdump -i .) Ny baikon'ny script "OUTPUT_FORMAT" dia afaka mamaritra ny format ivelany, saingy io safidy io dia manilika izany.

-qmagic

Ity safidy ity dia tsy raharahian'ny Linux compatibility.

-Qy

Ity safidy ity dia tsy raharahian'ny SVR4.

--Mitonia

Safidy misy fiantraikany amin'ny fiara. Io safidy io dia tohetra amin'ny tanjona vitsivitsy monja.

Ao amin'ny sehatra sasany, ny safidy --relax dia manatanteraka ny fanavaozana maneran-tany izay azo atao rehefa mamaha ny adiresy ao amin'ny programa ny mpizara , toy ny fialan-tsasatry ny adiresy ary mampifanaraka ny torolàlana vaovao ao amin'ny rakitra fanontana.

Amin'ny sehatra sasantsasany, ireo rohy fanovàna maneran-tany ireo dia mety hampihemotra ny sombin -drakitra tsy azo tanterahina. Izany dia fantatra amin'ny toe-javatra ho an'ny Matsushita MN10200 sy ny MN10300 fianakaviana processeurs.

Amin'ny sehatra izay tsy ahafahana manohana izany, - acceptac dia manaiky, fa tsy noraharahiana.

--setain-symbols-file filename

Tazony irery ihany ireo marika voatanisa ao amin'ny filaharan'ny rakitra , manadino ny hafa rehetra. Ny filaham-pitenenana dia rakitra iray tsotra, miaraka amin'ny anarana iray isaky ny laharana. Ity safidy ity dia tena ilaina tokoa amin'ny tontolo (toy ny VxWorks) izay misy tabilao lehibe manerantany manangona tsikelikely, mba hitazonana fahatsiarovan'ny fotoana.

Ny rakitra --retain-symbols dia tsy manary ny marika tsy voafaritra, na ny marika ilaina amin'ny famindrana.

Azonao atao ny mamaritra ny --retain-symbols -fana indray mandeha amin'ny baikon'ny baiko. Manjavona -s sy -S .

-rpath dir

Ampio tranokala iray mankany amin'ny fikarohana mpizahatany fitadiavana. Ity dia ampiasaina rehefa mampifandray ELFexecutable amin'ny zavatra ifampizarana. Ny adihevitra rehetra -rpath dia mifamatotra ary alefa amin'ny mpihazakazaka mandehandeha, izay mampiasa azy ireo hikaroka ireo zavatra ifampizarana amin'ny fotoana fitenenana. Ny safidy -paka ampiasaina dia ampiasaina ihany koa rehefa mikaroka zavatra iombonana izay ilaina amin'ny zavatra ifampizarana hita mazava ao anaty rohy; jereo ny famaritana ny safidy -rpath-link . Raha toa ka tsy ampiasaina ny rpath rehefa mampifandray ny executable ELF, dia hampiasaina ny votoatin'ny fari-piainan'ny tontolo iainana "LD_RUN_PATH" raha voafaritra.

Azo atao ihany koa ny safidy amin'ny -rpath ao amin'ny SunOS. Amin'ny alàlan'ny default, ao amin'ny SunOS, ny rohy dia hamorona fikarohana karazana fikarohana avy amin'ny safidy rehetra -L izay nomena azy. Raha ampiasaina ny safidy atao amin'ny rpath , dia ny fitadiavana ny làlana fitadiavana dia alaina amin'ny fampiasana ny safidy -rpath , tsy miraharaha ny safidy -L . Mety ilaina izany rehefa mampiasa gcc, izay manampy betsaka -L ny safidy mety amin'ny NTFS milahatra ny solosaina.

Raha mifanaraka amin'ny rohy hafa ELF, ny safidy -R dia arahin'ny anaran'ny lahatahiry, fa tsy anaran'ny anaran-drakitra, dia raisina ho safidy rpath .

-rpath-link DIR

Rehefa mampiasa ELF na SunOS, dia afaka mandefa iray hafa ny tranomboky iombonana. Izany dia mitranga rehefa misy rohy "ld -shared" ahitana tranombokim-pifandraisana iray ho an'ny iray amin'ireo rakitra fidirana.

Rehefa mifandray amin'ireto rindrambaiko toy izany ny mpikamban-dahatsoratra rehefa manao rohy tsy misy fifandraisana, tsy halefaka, dia manandrana mitady ny tranom-pifandraisana iombonana izy io ary hampiditra izany ao amin'ny rohy, raha toa tsy tafiditra mazava. Amin'io tranga io, ny safidy " rpath-link" dia mamaritra ny laharana finday voalohany hikaroka. Ny safidy -paka-rpath-link dia mety mamaritra lisitra anaran'ny lahatahiry na amin'ny alalan'ny famaritana lisitry ny anaran'ireo voatokana, na amin'ny fisehoana imbetsaka.

Ity safidy ity dia tokony ampiasaina amim-pahamalinana satria manilika ny làlana karakaina izay mety ho mafy orina ao amin'ny tranombokim-pifandraisana. Amin'ny tranga toy izany dia azo atao ny mampiasa fomba tsy tadidinao amin'ny fomba samihafa fa tsy ny mpihazakazaka miasa.

Mampiasa ireto tra-boina manaraka ireto ny mpinkona mba hikaroka ny tranokala iombonana.

1.

Ireo torolalana voafaritra amin'ny safidy -rpath-rohy .

2.

Ireo torolalana nofaritan'ny safidy -rpath . Ny fahasamihafana eo amin'ny -rpath sy -rpath-rohy dia ireo torolalana voatondro amin'ny -rpath safidy dia ampidirina amin'ny doka azo ampiasaina ary ampiasaina amin'ny runtime, fa ny safidy -rpath-rohy dia mahomby amin'ny fotoana rohy. Ho an'ny mpiray tanindrazana irery ihany.

3.

Ao amin'ny rafitra ELF, raha tsy ampiasaina ny safidy -rpath sy "rpath-link" dia tadiavo ny ao anatin'ny fari-dalan'ny tontolo iainana "LD_RUN_PATH". Ho an'ny mpiray tanindrazana irery ihany.

4.

Ao amin'ny SunOS, raha tsy nampiasaina ny safidy rpath , dia tadiavo ny lisitra voatanisa miaraka amin'ny -L safidy.

5.

Ho an'ny mpiray tanindrazana iray, ny votoatin'ny fari-piainana manodidina "LD_LIBRARY_PATH".

6.

Ho an'ny mpitsidika ELF iray teratany, ireo finday ao amin'ny "DT_RUNPATH" na "DT_RPATH" amin'ny tranomboky iombonana dia notadiavina ho an'ny tranombokim-pifandraisana nilain'izy ireo. Ny "DT_RPATH" dia tsy raharahiana raha misy ny DT_RUNPATH.

7.

Ny lahatahiry default, tsotra / lib ary / usr / lib .

8.

Ho an'ny mpikamban'ny teratany amin'ny rafitra ELF, raha misy ny /etc/ld.so.conf ny lisitra, ny lisitry ny finday hita ao amin'io rakitra io.

Raha tsy hita ny tranom-pifandraisana iombonana, dia hanome fampitandremana ilay mpanelanelana ary hitohy amin'ny rohy.

-shared

-Bshareable

Mamorona tranokala iombonana. Izany dia eo am-pelatanana amin'ny ELF, XCOFF ary SunOS ihany. Ao amin'ny SunOS, ny rohy dia hamorona automatique libre raha toa ka tsy ampiasaina ny safidy -e ary misy marika tsy voafaritra ao anaty rohy.

--sort-iombonana

Ity safidy ity dia milaza ld fa hametraka ny marika iombonana araka ny habeny rehefa mametraka azy ireo ao amin'ny sehatra output. Voalohany dia maneho ny marika iray isaky ny byte, avy eo ny roa isa roa, avy eo ny boribory efatra, ary avy eo ny zavatra hafa rehetra. Izany dia mba hisorohana ny elanelana eo amin'ny marika famantarana noho ny faneniterena.

--split-by-file [ habeny ]

Tahaka ny --split-by-reloc saingy manangana fizarana vaovao ho an'ny rakitra tsirairay raha vao tapitra ny habe . Ny habetsaham -bidy dia miisa 1 raha tsy omena.

--split-by-reloc [ manisa ]

Miezaka mamorona sehatra fanampiny ao amin'ny tahiry vokatra mba tsy hisy fizarana afa-tsy ao amin'ny rakitra dia mihoatra noho ny isa mifindra toerana. Tena ilaina izany rehefa mamorona rakitra miafina goavana ho an'ny famandrihana amin'ny voankazo amin'ny fotoana voafaritra marina miaraka amin'ny formatfap-baova-drakitra COFF. satria COFFcannot dia maneho ny famindrana 65535 mahery amin'ny fizarana iray. Mariho fa tsy ho afaka hiasa miaraka amin'ny formatfatan'ny rakitra voafaritra izay tsy manohana sehatra tsy misy dikany. Ny sivana dia tsy hanasaraka ny fizotry ny fizarana ho an'ny famerenam-bidy, ka raha misy ampahany iray fidirana dia mihoatra noho ny isa mifindra toerana ny fizarana ampahany iray dia ahitana ny famindrana maro. dia manisa maromaro ho 32768.

--stats

Manehoa antontan'isa ary asehoy antontan'isa momba ny asan'ny mpanelanelana, toy ny fotoana famonoana sy fampiasana fahatsiarovana.

--traditional-format

Ho an'ny tanjona sasany dia ny hafainganam- pandehan'ny rindranasa hafa dia ny hafainganam-pandehany. Ity fikandrana ity dia mangataka ld hampiasa ny format tradisiony fa tsy.

Ohatra, ao amin'ny SunOS, ld dia mampifandray dika mitovy dika mitovy ao amin'ny latabatra string famantarana. Ity dia afaka mampihena ny haben'ny dossier output miaraka amin'ny fampahalalana feno fialokalofana amin'ny 30% mahery. Indrisy fa ny programa SunOS "dbx" dia tsy afaka mamaky ny programa voavolavola ("gdb" tsy misy olana). Ny fitaovana fanodidinana -traditional-format dia milaza ld fa tsy mampifandray dika mitovy.

--section-start sectionname = org

Mitadiava sehatra iray ao amin'ny tahiry vokatra amin'ny adiresy absolute nomen'ny org . Azonao ampiasaina io safidy io imbetsaka raha ilaina mba hitadiavana sehatra maromaro ao amin'ny andalana baiko. Ny org dia tokony ho singa hexadecimal tokana; Raha te hifanaraka amin'ny rohy hafa, azonao atao ny mamela ny 0x loham- pamokarana mifandraika amin'ny soatoavina hexadecimal. Fanamarihana: tsy tokony hisy toerana fotsy eo anelanelan'ny fizarana, ny famantarana mitovy (`` = ''), ary org .

-Tbss org

-Tdata org

-Ttext org

Ampiasao org ny adiresy fanombohana ho an'ny "respekta", na "bss", "data", na ny segondra amin'ny "text". Ny org dia tokony ho singa hexadecimal tokana; Raha te hifanaraka amin'ny rohy hafa, azonao atao ny mamela ny 0x loham- pamokarana mifandraika amin'ny soatoavina hexadecimal.

--dll-verbose

--verbose

Asehoy ny laharana fanandramana ho an'ny ld ary tanisao ny fampidirana ny rohy mpanohana. Asehoy izay mety ho rakitra sy tsy azo sokafana. Asehoy ny script-ny rohy ampiasain'ny mpanelanelana.

--version-script = version-scriptfile

Ampahafantaro ny anaran'ny scripty version amin'ny linker. Ity matetika dia ampiasaina rehefa mamorona tranomboky iombonana mba hanondroana fampahalalana fanampiny momba ny famindram-pitondrana ho an'ny tranokala noforonina. Ity safidy ity dia manan-danja fotsiny amin'ny sehatra ELF izay manohana ireo tranomboky iombonana.

--warn-iombonana

Eritrereto rehefa misy marika mahazatra mifandray amin'ny marika hafa na miaraka amin'ny famaritana marika. Ny mpikirakira Unix dia mamela io fomba fanao mahatsikaiky io, fa ny mpandray anjara amin'ny rafitra hafa miasa dia tsy. Io safidy io dia ahafahanao mahita olana manahirana amin'ny fampifandraisana ireo marika maneran-tany. Mampalahelo fa mampiasa tranonkala C ny tranokala C, mba hahazoana fampitandremana momba ny marika ao amin'ny tranomboky na amin'ny programa.

Misy karazana karazana sariohatra maneran-tany, aseho eto ambany avy amin'ny ohatra C:

int i = 1;

Famaritana iray, izay mandeha ao amin'ny fizarana angon-drakitra misokatra ao amin'ny rakitra output.

external int i;

Pejy tsy fantatra, izay tsy manome toerana. Tsy maintsy misy famaritana na marika mahazatra ho an'ny any amin'ny toerana hafa.

int i;

Anarana iombonana iombonana. Raha misy (marika iray na maromaro) maromaro ihany no ampiasaina ho an'ny fari-pitsipika, dia mandeha ao amin'ny faritra tsy misy fanontana amin'ny rakitra output. Ny mpino dia mametraka marika maromaro mahazatra miovaova ho toy ny marika iray ihany. Raha toa izy ireo amin'ny habeny samihafa, dia raisiny ny haben'io lehibe indrindra io. Ny mpino dia mamadika marika iombonana ho fanambarana, raha misy famaritana ny fari-dalany mitovy.

Ny safidy --warn-common dia afaka mamokatra karazana fampitandremana dimy. Ny fampitandremana tsirairay dia misy andalana maromaro: ny voalohany dia mamaritra ilay marika vao nifanandrify, ary ny faharoa dia mamaritra ny mari-pamantarana teo aloha mitovy amin'ilay anarana. Ny iray na ny iray amin'ireo famantarana roa ireo dia marika mahazatra.

1.

Ny famadihana marika mahazatra ho amin'ny famaritana, satria efa misy famaritana ho an'io marika io.

(
): fampitandremana: common of ` 'overshadowed by definition ): warning: voafaritra eto

2.

Ny famadihana marika mahazatra ho amin'ny famaritana, satria misy famaritana farany ho an'ny mari-pamantarana. Toy izany ihany koa ny tranga teo aloha, afa-tsy ny mifanohitra amin'ny filaharana samihafa.

(
): warning: definition of ` 'overriding common (
): warning: here is common

3.

Fanamboarana marika mahazatra miaraka amin'ny marika teo aloha mitovy habe.

(
): fampitandremana: common common of '' (
): warning: common common

4.

Famolavolana marika fahita iraisana miaraka amin'ny marika famantarana iraisana taloha.

(
): fampitandremana: common of ` 'overshadowed by common file (
): warning:

5.

Famolavolana marika mahazatra miaraka amin'ny marika mivaingana miavaka kokoa. Toy izany ihany koa ny tranga teo aloha, afa-tsy ny mifanohitra amin'ny filaharana samihafa.

(
): fampitandremana: common of ` 'fandrobana kokoa (): fampitandremana:

--warn-constructors

Fantaro raha misy mpanao maneran-tany ampiasaina. Ilaina ihany ny sombin-dahatsoratra noforonina vitsivitsy. Ho an'ny format toy ny COFF na ELF, tsy afaka mamantatra ny fampiasana ireo mpanamboatra eran-tany ny mpinkala.

--warn-maro-GP

Fantaro raha ilaina ny sanda mpiandraiketana ankapobeny ao amin'ny rakitra output . Tsy misy dikany ho an'ny processeurs sasany, toy ny Alpha. Amin'ny ankapobeny, ireo processeurs sasany dia mametraka fehezanteny lehibe ao amin'ny sehatra manokana. Ny rejisitra manokana (ilay mpanondro maneran-tany) dia manondro eo afovoan'ity fizarana ity, mba hahafahan'ireo constants ampiasaina amim-pahombiazana amin'ny alàlan'ny fomba fisoratana anarana mifandraika amin'ny fototra. Koa satria ny fikojakojana ny môtera mifandraika amin'ny fotodrafitrasa dia voafetra ary kely (oh: 16 bit), dia mametra ny habetsaky ny dobo miavaka. Noho izany, amin'ny programa lehibe dia ilaina matetika ny mampiasa tombam-peo manerantany mba hahafahana mamaha ny olana rehetra. Io safidy io dia miteraka fampitandremana isaky ny miseho ity tranga ity.

--warn-indray mandeha

Fampitandremana indray mandeha monja amin'ny marika tsirairay tsy voafaritra, fa tsy indray mandeha isaky ny modules izay manondro izany.

--warn-section-Alahatra

Fantaro raha miova ny adiresy fizarana iray vokatry ny fanitsiana. Amin'ny ankapobeny, ny laharana dia apetraka amin'ny fizarana iray. Hovana ny adiresy raha tsy voalaza mazava; Izany hoe, raha "commandment" dia tsy manondro adiresy fanombohana ny fizarana.

--whole-Archive

Ho an'ny arisiva tsirairay voatonona ao amin'ny baiko baiko aorian'ny safidy --hole-archive dia ampidiro ny rakitra rehetra ao amin'ny rakitra ao amin'ny rohy, fa tsy mikaroka ny tahiry ho an'ny rakitra voafaritra. Ity matetika dia ampiasaina handraketana rakitra tahiry ao amin'ny tranombokim-pifandraisana iray, ka manery ny zavatra rehetra hiditra ao amin'ny tranombokim-piraketana iombonana. Ity safidy ity dia azo ampiasaina mihoatra ny indray mandeha.

Fanamarihana roa rehefa mampiasa io safidy io avy amin'ny gcc: Voalohany, gcc dia tsy mahafantatra momba io safidy io, ka tsy maintsy mampiasa -Wl, -whole-archive . Faharoa, aza adino ny mampiasa -Wl, -no-manontolo-arivoarivo aorian'ny lisitry ny tahirin-kevitra, satria ny gcc dia hanampy ny lisitry ny tahirin -tsoratadiny ho an'ny rohy ary mety tsy tianao ny hampisy fiantraikany amin'ireto saina ireto.

- famantarana famantarana

Ampiasao ny fonosana ho an'ny marika . Izay tondroina tsy voafaritra amin'ny marika dia ho tapa-kevitra amin'ny "__ wrap_symbol". Ny torolàlana tsy voafaritra amin'ny "__real_symbol" dia ho tapa-kevitra ny hanisy marika .

Ity dia azo ampiasaina mba hanomezana randrana ho an'ny rafitra iray. Ny fonon'ilay wrapper dia tokony atao hoe "__wrap_symbol". Raha te hiantso ny rafitra ny rafitra, dia tokony hiantso azy hoe "__ real_symbol".

Ity misy ohatra tsy misy dikany:

void * __wrap_malloc (int c) {printf ("malloc antsoina amin'ny% ld \ n", c); avereno __real_malloc (c); }

Raha mampifandray code hafa miaraka amin'ity rakitra ity ianao amin'ny fampiasana - wrap malloc , dia miantso ny "__wrap_malloc" rehetra ny antso rehetra amin'ny "malloc". Ny antso amin'ny "__real_malloc" ao amin'ny "__wrap_malloc" dia hiantso ny tena "malloc" asa.

Azonao atao ny manolotra ny "__real_malloc" asa, koa mba hahombiazan'ny rohy tsy misy ny safidy - wrap . Raha manao izany ianao, dia tsy tokony hametraka ny famaritana ny hoe "__ real_malloc" amin'ny dika mitovy amin'ny "__wrap_malloc"; Raha manao izany ianao, dia mety hamaha ilay antso ny mpanamory alohan'ny hidirana amin'ny "malloc".

--enable-new-dtags

--disable-new-dtags

Ity mpandrindra ity dia afaka mamorona ny tags vaovao dynamic amin'ny ELF. Nefa ireo rafitra ELF zokiny dia mety tsy mahatakatra azy ireo. Raha manondro --enable-new-dtags , dia ho noforonina araka ny tokony ho izy ireo tags dynamique. Raha milaza ianao --disable-new-dtags , dia tsy hisy tsangana vaovao mihetsika. Amin'ny alàlan'ny default, dia tsy noforonina ny endri-tsoratra vaovao. Mariho fa ireo safidy ireo dia tsy misy afa-tsy ho an'ny rafitra fiarovan-tena.

Ny rohy i386 PE dia manohana ny safidy -hirinina , izay mahatonga ny famoahana ho rakitra mifandraika mifandraika (DLL) mifandraika amin'ny famolavolana azy fa tsy ny duplicate azo ampiasaina. Tokony hiantso ny "* .dll" output rehefa mampiasa io safidy io ianao. Ankoatr'izay, ny mpanohana azy dia manohana tanteraka ny "* .def" fichier standard, izay azo faritana amin'ny laharan-tariby amin'ny linker toy ny rakitra filalaovana (raha ny marina dia tokony alohan'ny alàlan'ny arisiva izy io manomboka ny sarimihetsika, mba hahazoana antoka fa mifandray amin'ny, Tahaka ny rakitra fanao voajanahary).

Ankoatra ireo safidy iombonana ho an'ny tanjona rehetra, ny rohy i386 PE dia manohana ny safidin-tserasera hafa mifandraika amin'ny tanjona i386 PE. Ny safidy izay mandray ny soatoavina dia mety hisaraka amin'ny soatoaviny amin'ny toerana iray na marika mitovy.

--add-stdcall-antsoina

Raha nomena, ny sariohatra miaraka amin'ny suffix stdcall (@ nn ) dia hoentina tahaka azy-ary koa miaraka amin'ny sombin-taratasy nesorina.

tahirinkevitra --base- file

Ampiasao ny rakitra ho anaran'ny rakitra iray izay ahafahana mamonjy ny adiresy fototra momba ny famindrana rehetra ilaina amin'ny famoronana DLL miaraka amin'ny dlltool .

--dll

Mamorona DLL fa tsy dingana azo atao. Azonao atao koa ny mampiasa -mdao na mametraka "LIBRARY" ao anaty rakitra iray ".def".

--enable-stdcall-fixup

--disable-stdcall-fixup

Raha mahita marika tsy ahafahana mamaha ny rohy, dia hanandrana ny hanao 'tsipika tsy ilaina' amin'ny fikarohana endrika marika iray hafa izay tsy mitovy amin'ny endrika anaran'ny anarana (cdecl vs stdcall) ary hamaha io marika io amin'ny alàlan'ny rohy ho an'ny lalao. Ohatra, ny marika tsy voafaritra "_foo" dia mety ho mifandray amin'ny asa "_foo @ 12", na ny marika tsy voafaritra "_bar @ 16" dia mety mifandray amin'ny "_bar". Rehefa manao izany ny mpinkaka, dia maneho fampitandremana izy io, satria tsy tokony hifanerasera amin'ny ankapobeny izy io, fa indraindray manafatra tranokala avy amin'ny dlls hafa dia mety mila izany fampiasana izany ho azo ampiasaina. Raha manondro ny --enable-stdcall-fixup , ity fahafaha-manao ity dia alefa tanteraka ary ny fampitandremana dia tsy vita printy. Raha milaza ianao --disable-stdcall-fixup , io aseho io dia tsy manan-kery ary heverina ho fahadisoana tahaka izany.

--export--marika rehetra

Raha nomena, ny sariohatra eran-tany rehetra amin'ireo zavatra novokarina hananganana DLL dia alefa avy amin'ny DLL. Mariho fa ity dia ny default raha toa ka tsy misy karazan-tsindrim-peo naseho. Rehefa aseho amin'ny alàlan'ny endri-tsoratra amin'ny endri-tsoratra amin'ny endri-tsoratra ny endriky ny endriky ny endriky ny endriky ny endriky ny endriky ny endri-tsoratra DEF, dia tsy manondrana zavatra hafa raha tsy omena io safidy io. Mariho fa ireo sariohatra "DllMain @ 12", "DllEntryPoint @ 0", "DllMainCRTStartup @ 12", ary "impure_ptr" dia tsy ho entina amina automatique. Ary koa, ny marika importina avy amin'ny DLL hafa dia tsy averina ampandrenesina, ary tsy misy marika mamaritra ny fametrahana anatiny ao amin'ny DLL toy ireo izay manomboka amin'ny "_head_" na mamarana amin'ny "_iname". Ankoatr'izany, tsy misy marika avy amin'ny "libgcc", "libstd ++", "libmingw32", na "crtX.o" dia hozaraina. Symbols izay manomboka ny anarana amin'ny "__rtti_" na "__builtin_" dia tsy entina hanampiana amin'ny C ++ DLLs. Farany, misy lisitra maromaro momba ny cygwin-private symbols izay tsy nalefa (mazava ho azy, mihatra izany amin'ny fananganana DLL ho an'ny cygwin targets).

Ireo cygwin-ekena ireo dia: "_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 ", ary" manodidina ".

- symbol-symbol- symbol , symbol , ...

Manonona lisitry ny marika izay tsy tokony entina manomboka. Ireo marika famantarana dia mety ho voafaritra amin'ny komas na ny tsindry.

- exclude-libs lib , lib , ...

Manonona lisitry ny tranomboky famandrihana izay tsy tokony amoahan'ireto marika ireto. Ny anaran'ny tranomboky dia mety ho voafaritry ny commas na colon. Ny famaritana "--exclude-libs ALL" dia manavaka ireo marika any amin'ny tranokala famandrihana amin'ny alalan'ny fanondranana automatique. Ny endriky ny endriky ny endritsoratra hita ao amin'ny .def dia mbola ampiasaina ihany, na inona na inona safidy.

--file-fampifanarahana

Ampahafantaro ny fanoratana ny rohy. Ny fizarana ao anatin'ilay rakitra dia hanomboka amin'ny fandefasana rakitra izay ny isa amin'io isa io. Izany dia miisa hatramin'ny 512.

--heap reserve

- tehirizo , maneke

Ampahafantaro ny habetsaky ny fahatsiarovan-tena hitehirizana (sy ny fanoloran-kevitra) hampiasaina ho antokon'ity programa ity. Ny default dia 1Mb voatahiry, 4K nohamora.

- sarobidy fototra

Ampiasao valiny ny adiresy fototra amin'ny programanao na dll. Ity no toerana fanadinana ambany indrindra izay hampiasaina rehefa fenoina ny programanao na dll. Mba hampihenana ny filàna famindrana sy fanatsarana ny fahombiazan'ny dlls anao dia tokony hanana adiresy fototra tokana izy ireo ary tsy tokony handrotsaka dll hafa. Ny default dia 0x400000 ho an'ny executables, ary 0x10000000 ho an'ny dlls.

--kill-tany

Raha omena, ny stdcall suffixes (@ nn ) dia hesorina amin'ny marika alohan'ny entana.

--major-image-version value

Mametraka ny isa lehibe amin'ny 'version image' '. Mora amin'ny 1.

--major-os-version

Mametraka ny isa lehibe indrindra amin'ny '' version ''. Ny isa ho an'ny 4.

--major-subsystem-version sanda

Mametraka ny isa lehibe amin'ny 'version subsystem' '. Ny isa ho an'ny 4.

- sarimihetsika maimaim-poana

Mametraka ny isa kely amin'ny 'version image' '. Mandeha amin'ny 0.

- -minor-os-version valiny

Mametraka ny laharana kely amin'ny `` version ''. Mandeha amin'ny 0.

- fahombiazan'ny --minor-subsystem-version

Mametraka ny laharana kely amin'ny 'subsystem version' '. Mandeha amin'ny 0.

--output-def rakitra

Ny rohy dia hamorona ny rakitra noforonina izay ahitana rakitra DEF mifanaraka amin'ny DLL izay mamoaka ny rohy. Io rakitra DEF io (izay tokony atao hoe "* .def") dia azo ampiasaina hanamboarana rakitra misokatra miaraka amin'ny "dlltool" na azo ampiasaina ho toy ny references amin'ny tarehintsoratra voatanisa mivantana na voafafa.

--out-implib

Ny mpandresy dia hamorona ny rakitra misy ny rakitra izay ahitana libre import mifanaraka amin'ny DLL izay mamoaka ny rohy. Io import import io (izay tokony atao hoe "* .dll.a" na "* .a" dia azo ampiasaina hampifandraisana ireo mpanjifa manohitra ny DLL voajary; ity fihetsika ity dia ahafahana misintona "dlltool" ho an'ny famoronana sehatra famoronana famoronana.

--enable-Auto-sary-base

Safidio faingana ny fotodrafitrasa ho an'ny DLL, raha tsy misy ny iray ampiasaina amin'ny fampiasana ny "image-base ". Amin'ny fampiasana tenifototra iray avy amin'ny dllname hamoronana seho fototry ny sary ho an'ny DLL tsirairay, ny fifandonana ao anaty fahatsiarovana sy ny famindrana izay mety hanemorana ny famonoana ny programa dia avoakany.

--disable-Auto-sary-base

Aza mamorona sary fototra tsy manam-paharoa. Raha tsy misy sary fototra ("--image-base"), dia ampiasao ny lahatahiry platform.

- string-dll-search-prefix

Rehefa mifandray amina dynamique amin'ny dll tsy misy tranokala misimisy, dia mikaroha " .dll" raha te ho "lib .dll". Ity fihetsika ity dia mamela ny fahasamihafana misy eo amin'ny DLL ho an'ny "subplatforms" isan-karazany: native, cygwin, uwin, pw, sns. Ohatra, cygwin DLL dia ampiasaina matetika "- dll-search-prefix = cyg".

--enable-Auto-Import

Manaova rohy mampifandray ny "_symbol" amin'ny "__imp__symbol" ho an'ny DATA importa avy amin'ny DLLs, ary mamorona sary famantarana ilaina amin'ny fananganana ny tranokala misokatra miaraka amin'ireo DATAexports. Amin'ny ankapobeny dia 'hiasa fotsiny' --- fa indraindray ianao dia mety mahita ity hafatra ity:

"variable" 'dia tsy azo ampiasaina amin'ny auto-automatique. Azafady vakio ny antontan-taratasy momba ny antsipiriany "--enable-auto-import".

Ity hafatra ity dia miseho rehefa misy adiresy (sub) manafatra adiresy farany amin'ny adin'ny roa constants (takela hidin'ny Win32). Ireo tranga izay mety hitranga dia ahafahana miditra amin'ireo sahan-drakitra samihafa karazam-pandrafetana avy amin'ny DLL, ary koa mampiasa endri-pandrefesana amin'ny fari-pandrefesana natsangana avy amin'ny DLL. Ny fari-piova rehetra (varotra, fikolokoloana, lava lava, sns) dia mety hiteraka io hadisoana io. Na izany aza, na inona na inona tarehin-karazan-drakitra azo avy amin'ny fanondranana an-tsokosoko, dia hamantatra azy mandrakariva ny ld, mamoaka ny fampitandremana sy ny fivoahana.

Misy fomba maro handraisana ity fahasarotana ity, na inona na inona karazam-pandehan'ilay karazan-drakitra exported:

Ny fomba iray dia ny fampiasana ny famantaram-pifanampiana --nable-runtime-pseudo-reloc. Izany dia mamela ny fanitsiana ny references ao amin'ny code client-nao ho an'ny tontolo manodidina azy, noho izany, ity fomba fiasa ity dia tsy miasa afa-tsy rehefa manohana ny fepetra ity fepetra ity.

Ny vahaolana faharoa dia ny manery ny iray amin'ny 'constants' ho toetr'andro - izany hoe, tsy fantatra sy tsy azo amidy loatra amin'ny fotoana mahavariana. Ho an'ny array dia misy fomba roa azo atao: a) mametraka ny indexee (adiresy ny arsiva) misy fari-piadidiana, na b) manova ny endriky ny 'konstante'. Noho izany:

external type external_array []; external_array [1] -> {volatile type * t = external_array; t [1]}

na

external type external_array []; external_array [1] -> {volatile int t = 1; external_array [t]}

Ho an'ny structs (sy ny maro hafa amin'ny karazana data maro) dia ny hany safidy dia ny manao ny struct tenany (na ny lava lava, na ny ...):

external struct s extern_struct; external_struct.field -> {volatile struct s * t = & extern_struct; t-> field}

na

external long long external_ll; external_ll -> {volatile long long * local_ll = & external_ll; * local_ll}

Ny fomba fahatelo amin'ny fiatrehana ity olana ity dia ny miala amin'ny 'auto-import' ho an'ilay marika manafintohina ary mariho amin'ny "__declspec (dllimport)". Na izany aza, amin'ny fampiharana izay mitaky ny fampiasana ny "compile-time" # defines mba hanondroana raha manangana DLL ianao, manorina code client izay hampifandray amin'ny DLL, na manangana / mifandray amin'ny tranokalan'ny statique. Rehefa manao safidy eo amin'ny fomba maro samihafa hamahana ny 'adiresy mivantana amin'ny olana mitohy', dia tokony handinika ny fampiasana tena ampiasain'izao tontolo izao ianao:

Original:

--foo.h extern int arr []; --foo.c #include "foo.h" void main (int argc, char ** argv) {printf ("% d \ n", arr [1]); }

Solution 1:

--foo.h extern int arr []; --foo.c #include "foo.h" void main (int argc, char ** argv) {/ * Ity workaround ity dia ho an'ny win32 sy cygwin; Aza "manatsara" * / volatile int * parr = arr; printf ( "% d \ n", parr [1]); }

Solution 2:

--foo.h / * Fanamarihana: Ny auto-export dia heverina (tsy __declspec (dllexport)) * / #if (voafaritra (_WIN32) || voafaritra (__ CYGWIN__)) &&!! (voafaritra (FOO_BUILD_DLL) || voafaritra (FOO_STATIC )) #define FOO_IMPORT __declspec (dllimport) #else #define FOO_IMPORT #endira FOO_IMPORT external arr []; --foo.c #include "foo.h" void main (int argc, char ** argv) {printf ("% d \ n", arr [1]); }

Ny fomba fahefatra hanalavirana ity olana ity dia ny famerenana mametaka indray ny tranombakanao mba hampiasa interface tsy mahazatra fa tsy ny angona tahiry ho an'ireo variana miseho (ohatra set_foo () sy get_foo () ).

--disable-Auto-Import

Aza manandrana mampifandray rohy amin'ny "_symbol" mankany "__imp__symbol" ho an'ny DATAimports avy amin'ny DLLs.

--enable-runtime-pseudo-reloc

Raha toa ka misy endri-tsoratra voafaritra ao amin'ny sehatra --efa-auto-import, ny DATAimports avy amin'ny DLL miaraka amin'ny offset non-zero, ity famaha ity dia mamorona vondrona 'famindrana pseudo runtime' izay azo ampiasaina amin'ny tontolo manodidina izay ahafahana manitsy ny references ho an'ny angona tahaka izany ao amin'ny code client anao.

--disable-runtime-pseudo-reloc

Aza mamorona pseudo relocations ho an'ny tsy zero napetraka DATA importa avy DLLs. Ity ny default.

--enable-fanampiny-pe-debug

Asehoy ny famandrihana debugy fanampiny mifandraika amin'ny sary famantarana ny auto-import.

--section-fampifanarahana

Manoritsoritra ny fizotran'ny faritra. Ny fizarana ao amin'ny fahatsiarovan-tena dia hanomboka amin'ny adiresy izay maromaro amin'io isa io. Miankina amin'ny 0x1000.

- stack reserve

- mitandrema , ataovy

Ampahafantaro ny habetsaky ny fahatsiarovana mba hamandrika (ary azo atao) mba hampiasaina ho toy ny pileo amin'ity programa ity. Ny default dia 2Mb voatahiry, 4K natsangana.

--subsystem izay

--subsystem izay : lehibe

--subsystem izay : lehibe . tsy ampy taona

Manamarina ny subsystem izay hanatanterahan'io programa io. Ny soatoavina ara-dalàna izay "native", "window", "console", ary "posix". Azonao atao koa ny mametraka ny subsystem version koa.

Zava-dehibe: Ampiasao ny baikon'ny lehilahy ( % man ) mba hahitana ny fomba ampiasan'ny baiko amin'ny solosainao manokana.