Linux / Unix Command: Id

NAME

ld - Ho sebelisa LD , GNU linker

SYNOPSIS

ld [ dikgetho ] litšifa ...

DESCRIPTION

ld e kopanya lenane la ntho le lifaele tsa polokelo, li fetisetsa boitsebiso ba tsona mme li tlama litokomane tsa letšoao. Hangata mohato oa ho qetela oa ho bokella lenaneo ke ho matha ld .

ld e amohela lifaele tsa Linker Command Language tse ngotsoeng ka setšoantšo sa syntax ea AT & T ea Link Editor Command Language, ho fana ka taolo e hlakileng le e feletseng bakeng sa ts'ebetso ea ho kopanya.

Leqephe lena la motho ha le hlalose puo ea taelo; bona ho kena ld ka "info", kapa buka ea ld: GNU linker, bakeng sa lintlha tse feletseng tsa puo ea taelo le likarolong tse ling tsa GNU linker.

Phetolelo ena ea ld e sebelisa melaetsa e akaretsang ea lilaebrari tsa BFD hore li sebetse ho lifaele tsa ntho. Sena se lumella ld ho bala, ho kopanya le ho ngola lifaele tsa ntho ka mekhoa e fapaneng e fapaneng --- ka mohlala, COFF kapa "a.out". Mefuta e sa tšoaneng e ka kopanngoa hammoho ho hlahisa mofuta leha e le ofe oa faele ea ntho.

Ntle le ho fetoha ha eona, GNU linker e molemo ho feta tse ling tse amanang le ho fana ka tlhahisoleseding ea ho hlahloba. Batho ba bangata ba kopantseng ba tlohela ho bolaoa hang-hang ha ba kopana le phoso; neng kapa neng ha ho khoneha, ld e ntse e tsoela pele ho hlahisa, ho u lumella ho khetholla liphoso tse ling (kapa, maemong a mang, ho fumana faele e hlahisoang ho sa tsotellehe phoso).

GNU linker ld e reretsoe ho koahela maemo a mangata, le ho lumellana ka hohle kamoo ho ka khonehang le lihlopha tse ling. Ka lebaka leo, u na le likhetho tse ngata tsa ho laola boitšoaro ba tsona.

OPTIONS

The linker e tšehetsa mefuta e mengata ea litaelo tsa litaelo , empa ha e le hantle tloaelo e seng kae ea eona e sebelisoa ho latela maemo a itseng. Ka mohlala, ts'ebeliso ea ld khafetsa ke ho hokahanya lifaele tsa mefuta-futa ea Unix ka mokhoa o tloaelehileng, oa tšehetso ea Unix . Ka tsamaiso e joalo, ho kopanya faele "hello.o":

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

Sena se bolella ld ho hlahisa fono e bitsoa sehlahisoa e le sephetho sa ho hokahanya faele "/lib/crt0.o" le "hello.o" le laebrari "libc.a", e tlang ho tsoa libukeng tsa lipatlisiso tse tloaelehileng. (Sheba puisano ea -e kgetho e ka tlase.)

Tse ling tsa li -line tsa litaelo tsa lone li ka hlalosoa neng kapa neng molaong oa taelo. Leha ho le joalo, dikgetho tse buang ka lifaele, tse kang -l kapa -T , etsa hore faele e balloe sebakeng seo khetho e hlahang ho eona molaong oa taelo, ho latela lifaele tsa ntho le likhetho tse ling tsa faele. Ho pheta likhetho tseo e seng tsa fono ka khang e fapaneng ho ke ke ha e-ba le phello e eketsehileng, kapa ho feta likhetho tse fetileng (tse ling ho ea ka letsohong le letšehali molaong oa taelo) oa khetho eo. Lintho tse ka hlalosoang ka mokhoa o boletsoeng ka makhetlo a fetang a le 'ngoe li boletsoeng ka tlhaloso e ka tlase.

Mantsoe a se nang khetho ke lifaele kapa lintho tsa polokelo tse lokelang ho hokahanngoa hammoho. Ba ka 'na ba latela, ba qalella, kapa ba kopantsoe le mekhoa ea line-taelo, ntle le hore ntho e fanoang ke ntho e itseng e ka' na ea se ke ea behoa pakeng tsa kgetho le khang ea eona.

Ka tloaelo linker e bitsetsoa bonyane faele e le 'ngoe, empa u ka hlahisa mefuta e meng ea lifaele tsa binary tse kenang ho sebelisa -l , -R , le puo ea taelo ea script. Haeba ha ho na lifaele tsa kannete tsa binary tse hlalositsoeng, linker ha e hlahise letho, ebile e fana ka molaetsa.

Haeba linker e ke ke ea hlokomela mofuta oa faele ea ntho, e tla nka hore ke lengolo la linker. Lengolo le hlalositsoeng ka tsela ena le hlahisa mongolo o ka sehloohong oa khokahanyo o sebelisitsoeng bakeng sa li-link (ebang ke sengoliloeng se ikemiselitseng kapa se boletsoeng ka ho sebelisa -T ). Tšobotsi ena e lumella linker ho kopanya khahlanong le faele e bonahalang e le ntho kapa archives, empa ha e le hantle e hlalosa feela litekanyetso tsa letšoao, kapa e sebelisa "INPUT" kapa "GROUP" ho laola lintho tse ling. Hlokomela hore ho bonts'a script ka tsela ena ho mpa feela ho hlahisa mongolo o moholo oa khokahanyo; sebelisa -T kgetho ea ho nkela sebaka se feletseng sa linker ka ho feletseng.

Bakeng sa dikgetho tseo mabitso a bona e leng lengolo le le leng, dikgetho tse lokelang ho latela li tlameha ho latela lengolo la khetho ntle le ho kena-kenana le li-whitespace, kapa li fanoe e le likhang tse fapaneng hang-hang ka mor'a khetho e ba hlokang.

Bakeng sa mekhoa eo mabitso a bona a leng mangolo a mangata, mochine o le mong kapa tse peli li ka pele ho lebitso la khetho; mohlala, -rece-tšoantšetso le -trace-tšoantšetso li lekana. Tlhokomeliso - ho na le khetho e le 'ngoe ho molao ona. Dikgetho tse ngata tsa lengolo tse qalang ka nyeoe e tlase 'o' e ka qeta pele ka ho qhaqha habeli. Sena ke ho fokotsa pherekano le -o kgetho. Ka mohlala -omagic e beha lebitso la faele e hlahisang mabenyane athe -omagic e beha folakha ea NMAGIC ho tsoa.

Litumellano tsa likarolo tse ngata tsa mangolo li lokela ho aroloa le lebitso la khethollo ka letšoao le lekanang, kapa li fanoe e le likhang tse fapaneng hang-hang ho latela khetho e ba hlokang. Ka mohlala, - foo-symbol foo le --trace-symbol = foo e lekana. Likhatiso tse ikhethang tsa mabitso a mangolo a mangata a mangolo a amoheloa.

Tlhokomeliso - haeba linker e ntse e bitsoa ka tsela e sa tobang, ka motlakase oa moqapi (mohlala gcc ) joale mefuta eohle ea lineer ea taelo ea li-linker e lokela ho etsoa pele -Wl, (kapa eng kapa eng e loketseng moqhobi oa moqapi)

gcc -Wl, - sehlopha sa pele sa foo.o bar.o -Wl, - sehlopha

Sena ke sa bohlokoa, hobane ho seng joalo lenaneo la mokhanni oa moqapi le ka tlohela mekhoa ea linker ka khutsufatso, e hlahisang khokahanyo e mpe.

Tafole ea li-switch line ea taelo ea taelo e amoheloang ke GNU linker:

-a bohlokoa - hlooho

Khetho ena e tšehetsoa ka ho lumellana ha HP / UX. Mantsoe a sehlooho a ts'ebetsong e lokela ho ba e 'ngoe ea liletsa tsa polokelo , tse arolelanoang , kapa tse sa felletseng . -earchive e sebetsa ka tsela e lekanang le -Bstatic , 'me mantsoe a mang a mabeli a sebetsang a lekana le -Bdynamic . Khetho ena e ka sebelisoa makhetlo afe kapa afe.

- Mohaho oa mehaho

--architecture = mehaho

Nakong ea ho lokolloa hona ha ld , kgetho ena e sebetsa feela bakeng sa lelapa la Intel 960 la litsebi tsa meralo. Ka ts'ebetsong eo ea ld , khang ea mohaho e khetholla mohaho o itseng oa lelapa la 960, ho nolofalletsa tse ling ho sireletsa le ho fetola mokhoa oa ho batla oa li-archive.

Lits'ebeletso tsa morao-rao tsa ld li ka tšehetsa ts'ebetso e tšoanang bakeng sa malapa a mang a mehaho.

-b ho kenya-mokhoa

- mokhoa = fomati ea ho kenya

ld e ka lokisetsoa ho tšehetsa mefuta e fetang e le 'ngoe ea faele. Haeba ld ea hau e lokiselitsoe ka tsela ena, o ka sebedisa -b kgetho ho hlalosa mokhoa o kopanetsoeng bakeng sa lifaele tsa hau tse kenang khetho ena molaong oa taelo. Esita le ha ld e lokiselitsoe ho tšehetsa mekhoa e meng ea lintho, ha ho hlokahale hore u hlalosetse sena, kaha ld e lokela ho lokisetsoa hore e lebelle hore e be mokhoa o tloaelehileng oa ho kenya mokhoa o tloaelehileng ka ho fetisisa mochine o mong le o mong. mokhoa oa ho kenya-mokhoa ke mochine oa litemana, lebitso la mofuta o itseng o tšehetsoang ke lilaebrari tsa BFD. (O ka thathamisa lihlahisoa tsa binary tse teng ka objdump -i .)

U ka 'na ua batla ho sebelisa khetho ena haeba u kopanya lifaele le mofuta o sa tloaelehang oa mokhoa o motle. U ka boela ua sebelisa -b ho fetola liforomo ka ho hlaka (ha u hokahanya lifaele tsa ntho tsa mefuta e fapaneng), ka ho kenyelletsa -bb input-format pele sehlopha ka seng sa lifaele tsa ntho ka mokhoa o itseng.

Mofuta o fokolang o nkiloe ho feto-fetoha ha tikoloho "GNUTARGET".

U ka boela ua hlalosa mokhoa oa ho kenya ho tsoa script, u ​​sebelisa taelo "TARGET";

-cfi ea litaelo tsa MRI

- mri-script = mochini oa litaelo tsa MRI

Ho lumellana le li-link tse hlahisitsoeng ke MRI, ld e amohela lifaele tsa script tse ngotsoeng ka puo e fapaneng ea taelo, e hlalositsoeng ho karolo ea MRI Compatible Script Files ea GNU ld documentation. Tsebisa lifaele tsa script tsa MRI ka khetho -c ; sebelisa -T kgetho ea ho sebelisa li-linker tse ngotsoeng ka puo e tloaelehileng-ea ld script. Haeba MRI-cmdfile e le sieo, ld e shebahala ho li-directories tse hlalositsoeng ke leha e le efe -Lo khetho.

-d

-dc

-dp

Methati ena e meraro e lekana; mefuta e mengata e tšehetsoa ho lumellana le lihlopha tse ling. Ba abela sebaka ho litšoantšetso tse tloaelehileng esita le haeba faele e tsoang ho eona e hlalositsoe (ka -r ). Taelo ea script "FORCE_COMMON_ALLOCATION" e na le phello e tšoanang.

-e kenang

--entry = ho kena

Sebelisa ho kena e le letšoao le hlakileng la ho qalisa lenaneo la hau, ho e-na le hore ho be le ntlha ea ho kena. Haeba ho se na letšoao le bitsoang ho kena , linker e tla leka ho kena e le nomoro, 'me e sebelise e le aterese ea ho kena (nomoro e tla hlalosoa ka botlaaseng ba 10; o ka sebelisa 0x e ka sehloohong bakeng sa setsi sa 16, kapa e lebisang ho 0 bakeng sa motheo oa 8).

-E

- Export-dynamic

Ha o bopa matla a ho tsamaisana a sebelisitsoeng hantle, eketsa matšoao 'ohle tafoleng e matla ea letšoao. Tafole ea matla ea tšoantšetso ke setšoantšo sa matšoao a bonahalang linthong tse matla nakong ea nako.

Haeba u sa sebelise kgetho ena, tafole e matla ea letšoao e tla ba le litšoantšetso feela tse boletsoeng ke ntho e itseng e matla e boletsoeng linkeng.

Haeba u sebelisa "dlopen" ho laola ntho e matla e lokelang ho khutlisetsoa ho matšoao a hlalositsoeng ke lenaneo, ho e-na le ntho e 'ngoe e matla, joale mohlomong u tla lokela ho sebelisa khetho ena ha u kopanya lenaneo ka boeona.

U ka boela ua sebelisa script hore u laole hore na ke matšoao afe a lokelang ho kenngoa tafoleng e tšoantšetsang ea tšoantšetso haeba tlhahiso e hlahang e e tšehetsa. Sheba tlhaloso ea --verver-script ho @ ref {VERSION}.

-EB

Kopanya lintho tsa big-endian. Sena se ama mokhoa o sa tsoaneng oa puso.

-EL

Kopanya lintho tse nyenyane-endian. Sena se ama mokhoa o sa tsoaneng oa puso.

-f

- lebitso la bobeli

Ha u bōpa ELF ntho e arolelaneng, beha sebaka sa ka hare sa DT_AUXILIARY ho lebitso le boletsoeng. Sena se bolella linker e matla hore tafole ea tšoantšetso ea ntho e arolelanoang e lokela ho sebelisoa e le setšoantšo se thusang tafoleng ea tšoantšetso ea lebitso la seabo le arolelanoeng.

Haeba hamorao u kopanya lenaneo le khahlanong le ntho ena ea ho hloekisa, joale, ha u tsamaisa lenaneo, motlatsi o matla o tla bona tšimo ea DT_AUXILIARY. Haeba linker e matla e rarolla matšoao leha e le afe a sehlahisoa sa mohlahlobi, e tla qala ho hlahloba hore na ho na le tlhaloso lebitsong la ntho e arolelanoeng. Haeba ho na le e 'ngoe, e tla sebelisoa ho e-na le tlhaloso ka ntho e hlahisang. Lebitso la seabo le arolelanoang ha lea lokela ho ba teng. Ka tsela eo lebitso la seabo le arolelanoang le ka sebelisoa ho fana ka ts'ebetso e 'ngoe ea ts'ebetsong ea mesebetsi e itseng, mohlomong bakeng sa ho qhekella kapa ho sebetsa mochine o itseng.

Khetho ena e ka hlalosoa hangata. Litsela tsa DT_AUXILIARY li tla bōptjoa ka tatellano eo li hlahang ho eona molaong oa taelo.

-F lebitso

- lebitso la filimi

Ha o bōpa ELF ntho e arolelaneng, beha sebaka sa ka hare sa DT_FILTER ho lebitso le boletsoeng. Sena se bolella linker e matla hore tafole ea tšoantšetso ea ntho e arolelanoeng e ntseng e bōptjoa e lokela ho sebelisoa e le sehlatsoa tafoleng ea tšoantšetso ea lebitso la seabo le arolelanoeng.

Haeba hamorao o amahanya lenaneo le khahlanong le ntho ena ea ho hloekisa, joale, ha u tsamaisa lenaneo, motlatsi o matla o tla bona tšimo ea DT_FILTER. Linker e matla e tla rarolla matšoao ho ea ka tafole ea tšoantšetso ea ntho e hloekileng ka mokhoa o tloaelehileng, empa e tla amahanya le litlhaloso tse fumanoang lebitsong la ntho e arolelanoeng. Ka hona ntho e sehlatsoang e ka sebelisoa ho khetha karoloana ea lipontšo tse fanoeng ke lebitso la lebitso .

Batho ba bang ba seng ba hōlile ba sebelisitse mokhoa oa -F ho pholletsa le setsi sa boitsebiso sa ho bokella ho hlalosa sebopeho sa faele-ntho bakeng sa lifaele tse peli tsa ho kenya le ho tsoa. GNU linker o sebelisa mekhoa e meng bakeng sa morero ona: -b , --format , --formform options, taelo "TARGET" ho li-linker, le "variable" ea mohloli oa tikoloho ea "GNUTARGET". GNU linker o tla hlokomoloha -F kgetho ha o sa hlahise ELF ntho e arolelaneng.

lebitso la lebitso

Ha u bōpa ntho e sebetsanang le ELF kapa e arolelaneng, bitsa NAME ha ntho e sebetsang kapa e arolelaneng, e behoa DT_FINI atereseng ea mosebetsi. Ka ho feletseng, linker e sebelisa "_fini" e le mosebetsi oa ho letsetsa.

-g

Ke hlokomolohile. E fanoe ka ho lumellana le lisebelisoa tse ling.

-G bohlokoa

--gpsize = bohlokoa

Beha boholo bo boholo ba lintho tse lokelang ho ntlafatsoa ho sebelisa ngolisa ea GP ho ea boholo . Sena se na le moelelo feela bakeng sa liforomo tsa lifofane tse kang MIPS ECOFF e tšehetsang ho kenya lintho tse kholo le tse nyenyane likarolo tse fapaneng. Sena se hlokomolohuoa bakeng sa mefuta e meng ea liforomo tsa ntho.

-h lebitso

lebitso la "lebitso"

Ha o bōpa ELF ntho e arolelaneng, beha sebaka sa ka hare sa DT_SONAME lebitsong le boletsoeng. Ha e sebetsang e kopantsoe le ntho e arolelanoeng e nang le tšimo ea DT_SONAME, joale ha e sebetsang e sebetsana le linker e matla e tla leka ho laela ntho e arolelanoeng e boletsoeng ke tšimo ea DT_SONAME ho e-na le ho sebelisa lebitso la fono le fanoang ho linker.

-i

Etsa li-incremental link (tse kang khetho -r ).

-a lebitso

Ha o bōpa ntho e sebetsanang le ELF kapa e arolelaneng, bitsa NAME ha ntho e sebetsanoang kapa e arolelanoeng e tsamaisoa, ka ho beha DT_INIT ho aterese ea mosebetsi. Ka ho feletseng, linker e sebelisa "_init" e le mosebetsi oa ho letsetsa.

-l boitsebiso

--library = boitsebiso

Kenya archive file archive ho lethathamong la lifaele tse hokahanya. Khetho ena e ka sebelisoa makhetlo afe kapa afe. ld e tla batlisisa lethathamo la eona bakeng sa liketsahalo tsa "libarchive.a" bakeng sa boitsebiso bo bong le bo bong bo boletsoeng.

Litsing tse tšehetsang lilaebraring tse arolelanoang, ld e ka boela ea batla lilaebrari tse nang le lisebelisoa ntle le ".a". Ka ho khetheha, ho mefuta ea ELF le ea SunOS, ld e tla batla lengolo la laebrari le kenyelletso ea ".so" pele e batla e nang le ho eketsa ".a". Ka kopano, ".so" ho atolosa ho bontša libuka tse arolelanoang.

The linker e tla batlisisa archive hanngoe feela, sebakeng seo e boletsoeng molaong oa taelo. Haeba archive e hlalosa letšoao le sa tsejoang ho ntho e itseng e hlahang ka pel'a mohala oa molaetsa oa taelo, linker e tla kenyelletsa lifaele kapa lifaele tse nepahetseng ho tloha ho archive. Leha ho le joalo, letšoao le sa tsejoeng la ntho e hlahang hamorao molaong oa taelo ha le etse hore linker e batlisise archive hape.

Sheba - ( kgetho bakeng sa tsela ea ho qobella mohokahanyi hore a batlisise boitsebiso ba likopi hangata.

U ka thathamisa li-archive tse tšoanang hangata molaong oa taelo.

Mofuta ona oa ho batla li-archive ke o tloaelehileng bakeng sa li-Unix li-link. Leha ho le joalo, haeba u sebelisa ld onAIX, hlokomela hore ho fapane le boitšoaro ba AIX linker.

-L batla

- mokhoa oa bocha = mofuputsi

Kenya tsela e batlisisang ho lethathamong la litsela tseo ld e tla batla lilaebraring tsa polokelo le li-scripts tsa ld . U ka sebelisa kgetho ena ka makhetlo a mangata. Lihlooho li batlisisoa ka tatellano eo li hlalositsoeng ho eona molaong oa taelo. Litlhaloso tse hlalositsoeng molaong oa taelo li phenyekolloa pele li-directories tse fapaneng. Kaofela -Lo khetho li sebetsa ho bohle -o khetho, ho sa tsotellehe hore na likhetho li hlaha kae.

Haeba mofuputsi a qala ka "=", joale "=" e tla nkeloa sebaka ke sebaka sa sysroot , tsela e boletsoeng ha linker e lokiselitsoe.

Setha se sa lekanyetsoang sa litsela se batlisisoang (ntle le ho boleloa le -L ) se itšetlehile ka hore na ke mokhoa ofe oa ho etsisa ld o sebelisang, 'me maemong a mang hape le kamoo o hlophisitsoeng kateng.

Litsela li ka boela tsa boleloa ka har'a script le "SEARCH_DIR" taelo. Litlhaloso tse hlalositsoeng ka tsela ena li batlisisoa moo ntlha ea linker e hlahang molaong oa taelo.

-a ho iketsetsa maikutlo

Tsamaea le emulation linker. O ka thathamisa mekhoa e fumanehang ka mekhoa ea - -bobose kapa -V .

Haeba -m kgetho e sa sebelisoe, mokhoa ona o nkoa ho tsoa "LDEMULATION" mofuthu oa tikoloho, haeba seo se hlalosoa.

Ntle ho moo, ho qhoqhoa ho sa feleng ho itšetlehile ka hore na linker e se e lokiselitsoe joang.

-M

- 'mapa oa mongolo

Hatisa 'mapa oa marang-rang ho ea ka mokhoa o tloaelehileng. 'Mapa o kopanetsoeng o fana ka tlhahisoleseding mabapi le sekahano, ho kenyeletsa tse latelang:

*

Moo lifaele le matšoao li kenngoa mohopolong.

*

Ho fanoa ka matšoao a tloaelehileng hakae.

*

Litho tsohle tsa polokelo li kenyelelitsoe hokahanngoa, ka ho bua ka letšoao le entseng hore setho sa polokelo se kenngoe.

-n

- sehlabelo

Tlosa konteraka ea likarolo tsa likarolo, 'me u tšoaee sehlahisoa sa "NMAGIC" ha ho khoneha.

-N

--omagic

Beha likarolo tsa litokomane le tsa data tse lokelang ho baloa le ho ngoloa. Hape, u se ke ua fetola leqephe-lumellana le karolo ea data, 'me u thibele ho hokahanngoa le lilabratha tse arolelaneng. Haeba sebopeho se hlahisoang se tšehetsa linomoro tsa mefuta ea Unix ea matsapa, tšoaea se hlahisoang e le "OMAGIC".

- ha e-omagic

Khetho ena ha e amohele liphello tse ngata tsa -N khetho. E beha karolo ea temana ho bala-feela, 'me e qobella karolo ea data hore e tsamaisane le leqephe. Tlhokomeliso - kgetho ena ha e lumelle ho hokahanngoa le lilabratha tse arolelaneng. Sebelisa -Bdynamic bakeng sa sena.

-o hlahisoang

- ho fetisa = ho hlahisa

Sebelisa tlhahiso e le lebitso la lenaneo le hlahisoang ke ld ; haeba kgetho ena e sa boleloa, lebitso a.out le sebelisoa ka ho feletseng. Taelo ea script "OUTPUT" e ka boela ea bolela lebitso la fono le hlahang.

-O boemo

Haeba boemo ke litekanyetso tsa linomoro tse kholo ho feta zero ld ho ntlafatsa sehlahisoa. Sena se ka 'na sa nka nako e telele haholo' me kahoo e tlameha ebe se ka sebelisoa feela bakeng sa binary ea ho qetela.

-q

- ho tloha-ho falla

Tlohela likarolo tsa ho falla le lintho tse kenyelelitsoeng ka ho feletseng lihlahisoa tse ling. Tlhahlobo ea li-post le lithulusi tsa ho ntlafatsa li ka hloka tlhahisoleseding ena e le hore li etse liphetoho tse nepahetseng tsa li-executables. Sena se fella ka li-executables tse khōloanyane.

Khetho ena e ntse e tšehetsoa feela lipapaling tsa ELF.

-r

- e tlohetsoeng

Hlahisa lihlahisoa tse nchafalitsoeng-e leng, ho hlahisa sefahleho sa lipuo tse ka sebelisoang ho ld . Hangata sena se bitsoa ho kopanya leeme . E le phello e lehlakoreng, libakeng tse tšehetsang linomoro tse tloaelehileng tsa Unix tsa boselamose, kgetho ena e boetse e beha nomoro ea boitsebiso ba mohala ho "OMAGIC". Haeba kgetho ena e sa boleloa, file e feletseng e hlahisoa. Ha ho kopanya mananeo a C ++, kgetho ena e ke ke ea rarolla litšupiso ho baetsi; ho etsa joalo, sebelisa -Use .

Ha faele ea ho kenya e se na moelelo o ts'oanang le faele e hlahisoang, ho hokahanngoa ha karolo ho tšehetsoa feela haeba faele eo ea ho kenya e sa na le ho fallela. Mefuta e fapaneng ea lihlahisoa e ka ba le lithibelo tse ling hape; mohlala, tse ling tsa "a.out" -e leng lihlahisoa tse thehiloeng ha li tšehetse ho kopana ka mokhoa o itseng le lifaele tse kenang ka litsela tse ling.

Khetho ena e etsa ntho e tšoanang -i .

-R filename

- mehlala-tšoantšetso = lebitso la lebitso

Bala mabitso a letšoao le liaterese tsa bona ho tloha ho filename , empa u se ke ua e tlohela kapa ua e kenyelletsa phalong. Sena se lumella hore fono ea hau e hlahisoang e tšoantšetse libakeng tse feletseng tsa mohopolo o hlalositsoeng mananeong a mang. U ka sebelisa kgetho ena hangata.

Bakeng sa ho lumellana le li-link tse ling tsa ELF, haeba -R khetho e lateloa ke lebitso la lebitso, ho e-na le lebitso la lifilimi, le tšoaroa e le -rpath kgetho.

-s

- ts'oara-tsohle

Tlosa tlhahisoleseding eohle ea letšoao ho tloha faele e hlahisoang.

-S

- sop-debug

Tlosa tlhahisoleseding ea letšoao (empa ha se litšoantšetso tsohle) ho tsoa ho fono e hlahisoang.

-t

- morara

Hlakola mabitso a lifaele tsa ho kenya ha ld e li etsa.

-Script script

--script = scriptfile

Sebelisa scriptfile e le lengolo la linker. Script ena e nkela sebaka sa sd default script (ho e-na le ho eketsa ho sona), ka hona litaelo tsa litaelo li tlameha ho bolela ntho e hlokahalang ho hlalosa mohlafahla oa hau. Haeba scriptfile e le sieo lenaneng la hona joale, "ld" e le sheba litsamaisong tse hlalositsoeng ke likhetho tse ling tse fetileng -L . Tse ngata -Ta khetho li bokella.

-e tšoantšetso

- e sa hlahisoa = letšoao

Etsa hore letšoao le kenngoe ka faele e hlahisoang e le letšoao le sa tsejoeng. Ho etsa sena, ka mohlala, ho ka etsa hore ho kopane li-module tse eketsehileng ho tloha lilabraring tse tloaelehileng. -u ka 'na oa phetoa ka khetho e fapaneng ea lintlha tsa ho kenya matšoao a mang a sa hlalosoang. Khetho ena e lekana le taelo ea "EXTERN" linker script.

-Ho

Bakeng sa ntho leha e le efe e meng ntle le mananeo a C ++, kgetho ena e lekana le -r : e etsa hore ho be le liphetoho tse ka fetohang-e leng, file e hlahisoang e ka sebelisoang ho ld . Ha ho kopanya mananeo a C ++, -Ur e rarolla litšupiso ho bahahi, ho fapana le -r . Ha e sebetse ho e sebelisa -Koba ho lifaele tse neng li lekana le -Ue ; hang ha tafole ea moetsi e hahiloe, e ke ke ea ekeletsoa. Sebelisa -Ka feela bakeng sa khokahano ea ho qetela e khethiloeng , le -a bakeng sa ba bang.

--unique [= SECTION ]

E hlahisa karolo e arohaneng ea karolo bakeng sa karolo e 'ngoe le e' ngoe ea boipheliso e tšoanang le SECTION , kapa haeba mokoloko oa tlhaho oa sekhahla SECTION argument e haella, bakeng sa karolo e 'ngoe le e' ngoe e kenyang karolo ea likhutsana. Karolo ea likhutsana ke e seng e boletsoeng ka ho toba ka lengolo la linker. U ka sebelisa khetho ena ka makhetlo a mangata molaong oa taelo; E thibela ho kopana ho tloaelehileng ha likarolo tsa ho kenya ka lebitso le le leng, ho tlatsa likabelo tsa karolo ea likarolo ka lengolo la linker.

-v

--version

-V

Hlahisa nomoro ea phetolelo bakeng sa ld . The -V kgetho e boetse e thathamisa mekhoa e tšehetsoeng.

-x

- hlokomoloha-tsohle

Tlosa matšoao ohle a sebaka seo.

-X

- hlokomoloha-baahi

Tlosa matšoao a nakoana a sebaka seo. Bakeng sa lipakane tse ngata, tsena ke matšoao a sebaka seo lebitso la bona le qalang ka L.

-e tšoantšetso

- moralo-tšoantšetso = tšoantšetso

Hatisa lebitso la faele e kopantsoeng e 'ngoe le e' ngoe eo ho eona ho hlahang setšoantšo Khetho ena e ka fanoa ka makhetlo a mangata. Litsamaisong tse ngata ho hlokahala hore ho hlophisoe taba e totobetseng.

Khetho ena ea sebetsa ha u e-na le letšoao le sa tsejoeng ka har'a li-link tsa hau empa ha u tsebe hore na ho buuoa hokae ho tsoa hokae.

-A tsela

Kenya tsela ho tsela ea ho batla ea laebrari ea kamehla. Khetho ena e teng bakeng sa ho lumellana ha Solaris.

-z keyword

Li-keywords tse tsejoang ke "initfirst", "interpose", "loadfltr", "nodefaultlib", "nodelete", "nodlopen", "nodump", "now", "origin", "combreloc", "nocombreloc" le "nocopyreloc" ". Mantsoe a mang a bohlokoa a hlokomolohuoe tumellanong le Solaris. "initfirst" e totobatsa ntho e lokelang ho qalisoa pele ho nako ea nakoana pele ho ntho leha e le efe e 'ngoe. "pepenene" e supa ntho eo tafole ea eona ea letšoao e kenang ka pel'a matšoao 'ohle empa e ka sehloohong e ka etsoang. "loadfltr" e bontša ntho eo lihlooho tsa eona li sebetsanoang hang-hang ka nako ea ho matha. "nodefaultlib" e bontša ntho eo ho phenyekolloa ka litšepiso tsa ntho ena e tla hlokomoloha leha e le efe litsela tsa ho batla li-laela tse sa feleng "nodelete" e totobatsa ntho e sa lokelang ho laoloa ka nako ea nako. "nodlopen" e totobatsa ntho e sa fumaneheng bakeng sa "ho senya". "nodump" e supa ntho e ke keng ea lahleheloa ke "dldump". "hona joale" e totobatsa ntho e nang le nako ea ho sebetsa e se nang botsoa. ​​"tšimoloho" e tšoaea ntho e ka 'nang ea e-ba le $ ORIGIN. "litšitiso" ha li fane ka matšoao a sa hlalosoang. "muldefs" e lumella litlhaloso tse ngata. "combreloc" e kopanya likarolo tse ngata tsa ho falla le ho li beha ho etsa hore ho be le letšoao le matla la ho thibela lik'hamera.

"nocombreloc" e thibela likarolo tse ngata tsa ho falla ho kopanya. "nocopyreloc" e sitisa tlhahiso ea mohaho oa libaka.

- ( li-archives -)

- sehlopha sa lihlopha tsa polokelo -sehlopha

Li -archives e lokela ho ba lenane la lifaele tsa archive . E ka 'na ea e-ba mabitso a lifilimi a hlakileng, kapa -e khetho.

Lingoliloeng tse boletsoeng li ntse li batlisisoa hangata ho fihlela ha ho na litšupiso tse ncha tse sa hlalosoang. Hangata, boitsebiso bo fumanoa hanngoe feela ka tatellano e boletsoeng molaong oa taelo. Haeba letšoao la polokelo eo e hlokahalang ho rarolla letšoao le sa tsejoeng le boletsoeng ke ntho e leng mocheng oa boitsebiso o hlahang hamorao molaong oa taelo, mohokahanyi a ke ke a khona ho rarolla bothata boo. Ka ho arola li-archives, kaofela ha tsona li batlisisoa khafetsa ho fihlela litemana tsohle tse ka khonehang li rarolloa.

Ho sebelisa kgetho ena ho na le litšenyehelo tse ngata tsa ts'ebetso. Ho molemo ho e sebelisa feela ha ho na le litšito tse sa keng tsa qojoa pakeng tsa li-archives tse peli kapa tse fetang.

- amohela ntho e sa tsejoeng-e entsoeng

- ha e amohele-ha e tsebe-e entsoeng

E bolella mohokahanyi hore a amohele lifaele tsa ho kenya tseo mohaho o sa tsejoeng. Taba ke hore moqapi o tseba seo ba se etsang mme ka boomo o batla ho hokahanya ka har'a lifaele tsena tse sa tsejoeng. Ena e ne e le boitšoaro bo sa tloaelehang ba linker, pele ho lokolloa 2.14. Boitšoaro ba boits'oaro ba ho lokolloa 2.14 ho ea pele ke ho hana lifaele tse joalo tsa ho kenya, 'me kahoo -a amohela-ho sa tsejoe-ho kenya- kgetho ea arch e kentsoe ho tsosolosa boitšoaro ba khale.

hlahisa ntlha ea bohlokoa

Khetho ena e hlokomolohuoe tumellanong le SunOS .

-Bdynamic

-dy

-call_shared

Kopana khahlanong le lilaebrari tse matla. Sena se na le moelelo feela lituleng tsa li- library tse arolelanoang tse tšehetsoeng. Khetho ena e tloaelehile ho lipapali tse joalo. Mefuta e sa tšoaneng ea khetho ena ke ea ho lumellana le litsamaiso tse sa tšoaneng. U ka sebelisa kgetho ena ka makhetlo a mangata molaong oa taelo: o ama bokhoni ba laebrari ho batla -e khetho tse latelang.

-Goli

Beha letšoao la "DF_1_GROUP" ho kena "DT_FLAGS_1" ho kena karolong e matla. Sena se etsa hore linker runtime e sebetse ho sebetsana le lisebelisoa sebakeng sena le litšepiso tsa eona tse lokelang ho etsoa feela ka har'a sehlopha. - ho sa hlalosoe ho hlalosoa. Khetho ena e na le moelelo feela litoleng tsa ELF tse tšehetsang lilaebraring tse arolelanoang .

-Bastatic

-dn

-non_shared

e tsitsitseng

U se ke ua kopanya khahlanong le lilabratha tse arolelanoang Sena se na le moelelo feela lituleng tsa li-library tse arolelanoang tse tšehetsoeng. Mefuta e sa tšoaneng ea khetho ena ke ea ho lumellana le litsamaiso tse sa tšoaneng. U ka sebelisa kgetho ena ka makhetlo a mangata molaong oa taelo: o ama bokhoni ba laebrari ho batla -e khetho tse latelang.

-Ke bobebe

Ha u bōpa libuka tse arolelanoeng, kopanya litšupiso tsa matšoao a lefats'e ho tlhaloso ka har'a laebrari e arolelanoeng, haeba e le teng. Ka tloaelo, ho khoneha bakeng sa lenaneo le amanang le laebrari e arolelanoeng ho feta ho feta tlhaloso ka har'a laebrari e arolelanoeng. Khetho ena e na le moelelo feela ho ELFplatforms e tšehetsang lilaebraring tse arolelaneng.

- khaola likarolo

- ho hlahloba likarolo

E kopa linker hore e se ke ea hlahloba likarolo tsa kamora ha li abetsoe ho bona hore na ho na le liqapetso tse ling. Ka tloaelo linker e tla etsa tekete ena, 'me haeba e fumana li-overlaps e tla hlahisa melaetsa e nepahetseng ea phoso. The linker oa tseba, 'me o etsa litumello bakeng sa likarolo ho koahela. Boitšoaro ba boits'oaro bo ka tsosolosoa ka ho sebelisa taelo ea molaetsa oa taelo - likarolo tse seng kae .

- cref

Tlhahiso ea tafole ea litšoantšo. Haeba faele ea 'mapa oa linker e hlahisoa, tafoleng ea litaelo ea sefapano e hatisoa ho fofareng ea' mapa. Ho seng joalo, e hatisitsoe ka mokhoa o tloaelehileng.

Sebopeho sa tafole ke ka mokhoa o bonolo, e le hore se ka sebelisoa habonolo ka script ha ho hlokahala. Litšoantšo li hatisoa, li hlophisoa ka lebitso. Bakeng sa letšoao le leng le le leng, lethathamo la mabitso a faele a fanoa Haeba letšoao le hlalosoa, faele ea pele e thathamisitsoeng ke sebaka sa tlhaloso. Lifaele tse setseng li na le litšupiso tsa letšoao.

- ha e hlalose-e tloaelehileng

Khetho ena e thibela kabelo ea liaterese ho matšoao a tloaelehileng. Taelo ea script "INHIBIT_COMMON_ALLOCATION" e na le phello e tšoanang.

Khetho e sa tloaelehang-e tloaelehileng e lumella ho fokotsa qeto ea ho beha liaterese tsa Matšoao a Tloaelehileng ho tloha ho khetho ea mofuta oa feshene; ho seng joalo ho sa sebelisoe mefuta e sa fetoheng ea mefuta e fapaneng ea tlhaho e fanang ka liaterese tse tloaelehileng. Ho sebelisa - e seng-define-tloaelehileng ho lumella matšoao a tloaelehileng a boletsoeng ho laebraring e arolelanoeng hore a fuoe liaterese feela lenaneong le leholo. Sena se felisa sebaka se sa sebelisoang sa laebrari, mme se thibela pherekano leha e le efe e ka fetisisang ho rarolla phetolelo e fosahetseng ha ho na le mefuta e mengata e matla ea lipatlisiso tse nang le litsela tse khethehileng tsa lipatlisiso bakeng sa qeto ea sekhetho ea nako ea ho qetela.

- letšoao la feshene = polelo

Bopa letšoao la lefats'e ka faele e hlahisoang, e nang le aterese e feletseng e fanoeng ka polelo . U ka sebelisa kgetho ena ka makhetlo a mangata ha ho hlokahala hore u hlalose matšoao a mangata molaong oa taelo. Sebopeho se fokolang sa arithmetiki se tšehetsoa bakeng sa polelo ena moelelong ona: o ka fana ka nako e telele ea hexadecimal kapa lebitso la letšoao le teng, kapa sebelisa "+" le "-" ho eketsa kapa ho ntša likhapha tsa hexadecimal kapa matšoao. Haeba o hloka lipolelo tse ling tse ngata, nahana ka ho sebelisa puo ea taelo ea linker ho tsoa script. Tlhokomeliso: ha hoa lokela ho ba le sebaka se tšoeu pakeng tsa letšoao , letšoao le lekanang (`` = ''), le polelo .

- senya [= setšoantšo ]

- u se ke ua nyahama

Likhotho tsena li laola hore na ho khetholla mabitso a matšoao melaetsa ea phoso le tse ling tse hlahisoang. Ha linker e bolelloa hore e fokotsehe, e leka ho hlahisa mabitso a tšoantšetso ka mokhoa o hlakileng: e hlophisa e lebisang tlhokomelo haeba e sebelisoa ke ntho e fuoeng faele, mme e fetola mabitso a letšoao la C ++ e le mabitso a sebelisoang. Batlatsi ba fapaneng ba na le mefuta e sa tšoaneng ea mangling. Tlhaloso ea khetho ea mokhoa oa ho khetholla e ka sebelisetsoa ho khetha mokhoa o loketseng oa ho khetholla mochine oa k'hamphani ea hau. Khokahanyo e tla nyenyefatsa ka ho sa hlokahale ntle le hore mochine o fapaneng oa tikoloho COLLECT_NO_DEMANGLE o behoe. Dikgetho tsena li ka sebediswa ho feta ho feta.

- faele ea li -linker

Beha lebitso la linker e matla. Sena se na le moelelo feela ha se hlahisa li-executable tse sebetsang ka matla ho ELF. Hangata khokahanyo e matla e tloaelehileng e nepahetse; u se ke ua sebelisa sena ntle leha u tseba seo u se etsang.

- ho falla-ho falla

Khetho ena e na le moelelo feela ha o kopanya khoutu ea PIC e kenyelletsoeng PIC, e hlahisoang ke khetho ea-e-mecedded-pic ho GNU compiler le assembler. E etsa hore linker e bōpe tafole e ka sebelisoang ka nako ea ho qeta nako e le hore e tlose boitsebiso leha e le bofe bo qaletsoeng ka mokhoa o tsitsitseng bakeng sa litekanyetso tsa pointer. Bona khoutu ka testuite / ld-empic bakeng sa lintlha.

- litemoso tsa 'mele

Tšoara litemoso tsohle e le liphoso .

- sebetsa-exe-suffix

Etsa bonnete ba hore file e hlahisoang e na le sekoti sa .exe.

Haeba e hahiloe ka katleho e tsoetseng pele e tsoang fomong ea faele ha e na " exe " kapa " .dll " sekoti, khetho ena e qobella linker ho kopitsa faele e hlahisoang ho lebitso le leng le le leng ka "suffix". Kgetho ena e na le thuso ha u sebelisa li-unix tse sa hlahisoang Unix ho Microsoft Windows, hobane liphetolelo tse ling tsa Windows li ke ke tsa matha setšoantšo ntle le hore li fihlele "suffix".

--o-gc-likarolo

--gc-sections

Etsa hore pokello ea litšila e se ke ea sebelisoa. E hlokomolohuoa lipakaneng tse sa tšehetsang khetho ena. Khetho ena ha e lumellane le -r , hape ha ea lokela ho sebelisoa ka ho hokahanya ho matla. Boitšoaro ba boits'oaro (bo sa sebetsaneng le pokello ena ea lithōla ) bo ka tsosolosoa ka ho hlahisa -no-gc-likarolo molaong oa taelo.

--Thusa

Hatisa kakaretso ea khetho ea line-litaelo ka mokhoa o tloaelehileng oa ho tsoa le ho tsoa.

- shebile-thuso

Hatisa kakaretso ea lits'ebetsong tsohle tse tobileng tse hlahisitsoeng ho tsoa palo e nepahetseng le ho tsoa.

-Map mapfile

Hatisa 'mapa oa marang-rang ho lipapa tsa mapaele . Sheba tlhaloso ea -Moto , ka holimo.

- ha u boloke mohopolo

Ka kakaretso ld e otlolla ho potlakisa ho sebelisoa ha mohopolo ka ho thibela litafole tsa matšoao tsa lifaele tsa ho kenya mohopolong. Khetho ena e bolella Ld ho e-na le hore e ntlafatse bakeng sa tšebeliso ea mehopolo, ka ho boela o bala litafole tsa matšoao ha ho hlokahala. Sena se ka hlokeha haeba ld e tsoa sebakeng sa mohopolo ha e ntse e amahanya le leholo le etsoang ka molao.

- ha e tsejoe

-z e hlaseloa

Hangata ha ho bōptjoa laebraring e arolelanoeng e sa tšoantšetso, litšoantšo tse sa tsejoeng li lumelloa 'me li tlohetsoe ho rarolloa ka loadertimetime loader. Dikgetho tsena ha li lumelle matshwao a joalo a sa hlalosoang.

- lumella-tlhaloso e mengata

-z muldefs

Ka tloaelo ha letšoao le hlalosoa ka makhetlo a mangata, mohokahanyi o tlaleha phoso e bolaeang. Likgetho tsena li lumella hore ho be le lipolelo tse ngata le tlhaloso ea pele e tla sebelisoa.

- lumella-shlib-e sa hlalosoang

Lumella matšoao a sa tsejoeng likarolong tse arolelanoang le ha -e sa tsejoe hantle e behiloeng. Sephetho sa letlooa se tla ba hore matšoao a sa hlalosoang ka lintho tse tloaelehileng a ntse a ka etsa hore ho be le phoso, empa litšoantšetso tse sa tsejoang lifateng tse arolelanoang li tla hlokomolohuoa. Ts'ebetsong ea ha ho-e sa boleloang e etsa hore ho nahane hore motlakase oa nako ea ho qeta o tla khahla litšoantšong tse sa tsejoeng. Leha ho le joalo ho na le bonyane tsamaiso e le 'ngoe (BeOS) moo litšoantšiso tse sa tsejoeng libukeng tse arolelanoang ke batho ba tloaelehileng ho tloha ha kernel e li patisa ka nako e behiloeng ho khetha hore na ke mosebetsi ofe o loketseng kaho ea mehaho ea joale. IE matlafatsa khetho e nepahetseng ea memset. Kamoo ho bonahalang kateng ke ntho e tloaelehileng bakeng sa lilaebrari tse arolelaneng tsa HPPA hore li be le matšoao a sa hlalosoang.

- e seng-e sa hlalosoang

Hangata ha letšoao le na le phetolelo e sa tsejoeng, mohokahanyi o tla e hlokomoloha. Khetho ena e tlosa matšoao ka phetolelo e sa hlakileng 'me phoso e bolaeang e tla fanoa ho e-na le hoo.

--sa-lemosa-ho se tsamaee hantle

Ka tloaelo ld e tla fana ka phoso haeba u leka ho kopanya lifaele tsa ho kenya tse sa tšoanelang hantle ka lebaka le itseng, mohlomong kahobane li se li hlophiselitsoe bakeng sa batlakase ba fapaneng kapa tse ling tse fapaneng. Khetho ena e bolella Ld hore e lokela ho khutsisa liphoso tse joalo ka khutso. Khetho ena e lokela ho sebelisoa feela ka tlhokomelo, maemong ha u se u nkile khato e khethehileng e tiisang hore liphoso tsa linker li sa nepahale.

- hohle-archive

Tlosa phello ea -o -hole-archive kgetho bakeng sa lifaele tse latelang tsa archive.

- sainhibit-exec

Boloka boemo bo sebetsang bo hlakileng neng kapa neng ha bo ntse bo ka sebelisoa. Ka tloaelo, linker e ke ke ea hlahisa faele e hlahisoang haeba e kopana le liphoso nakong ea ts'ebetso ea li-link; e tsoa ntle le ho ngola faele e hlahisoang ha e hlahisa phoso efe kapa efe.

-nostdlib

Lihlooho tsa libuka tsa libuka tsa ho batla li hlalositsoe ka ho hlaka molaong oa taelo. Li-directory tse hlalositsoeng likhetleng tsa linker (ho akarelletsa le li-scripter linker tse hlalositsoeng ka lehlakoreng la litaelo) lia hlokomolohuoa.

- mokhoa oa tlhahiso-e hlahisoang

ld e ka lokisetsoa ho tšehetsa mefuta e fetang e le 'ngoe ea faele. Haeba ld ea hau e lokiselitsoe ka tsela ena, o ka sebedisa --oformat kgetho ho bonts'a mokhoa o kopanetsoeng bakeng sa sehlahisoa sa ntho e itseng. Esita le ha ld e lokiselitsoe ho tšehetsa mefuta e meng ea lintho, ha ho hlokahale hore u hlalosetse sena, kaha ld e lokela ho lokisetsoa ho hlahisa e le sekhetho se hlahisoang ka mokhoa o tloaelehileng ka mokhoa o tloaelehileng ka mochine o mong le o mong. Phatlalatso-fomati ke mohala oa mantsoe, lebitso la mofuta o itseng o tšehetsoang ke lilaebrari tsa BFD. (O ka thathamisa lihlahisoa tsa binary tse fumanehang ka objdump -i .) Taelo ea script "OUTPUT_FORMAT" e ka boela ea bolela hore na phallo e tsoa hokae, empa kgetho ena e feta ho eona.

-qmagic

Khetho ena e hlokomolohuoe tumellanong le Linux.

-Qo

Khetho ena e hlokomolohuoa ka ho lumellana ha SVR4.

--Khatholoha

Khetho e nang le liphello tse itšetlehileng ka mochine. Khetho ena e tšehetsoa feela ka lipheo tse 'maloa.

Libakeng tse ling, khetho-ea phomolo e etsa lisebelisoa tsa lefats'e tse khoneha ha linker e ikemiselitse ho sebetsana le lenaneong, joalo ka mekhoa ea aterese ea boikhathollo le ho theha litaelo tse ncha lefapheng la ntho e hlahisoang.

Libakeng tse ling tsena li-optimizations tsa li-link tsa nako li ka 'na tsa etsa hore ho se ke ha e-ba bonolo hore motho a etse seo. Sena se tsejoa e le nyeoe bakeng sa Matsushita MN10200 le MN10300 lelapa la basebelisi.

Libakeng tseo ho seng tšehetsoang ho tsona, - ho phomola ho amoheloa, empa ho hlokomolohuoa.

- fumana letšoao-file filename

Boloka feela matšoao a thathamisitsoeng ho file filename , u lahle ba bang kaofela. filename ke feela faele e bataletseng, e nang le lebitso la letšoao le le leng ka mohala. Khetho ena e sebetsa ka ho khetheha libakeng tse kang (VxWorks) moo tafole e kholo ea letšoao la lefats'e e bokelloang butle-butle, ho boloka mohopolo oa nako ea nako.

- ho fumana letšoao-file ha e lahle matšoao a sa hlalosoang, kapa matšoao a hlokahalang bakeng sa ho fallisoa.

U ka hlalosa feela - ho na le matšoao-faele hang ka taelo ea taelo. E feta -s le -S .

-rpath ts

Kenya lenaneo ho tsela ea patlisiso ea laebrari ea ho qetela. Sena se sebelisoa ha ho amana le ELF e hlakileng le lintho tse arolelanoeng. Lintlha tsohle -rpath li ngotsoe 'me li fetiselitsoe ho linker runtime, e li sebelisang ho fumana lintho tse abetsoeng nakong ea nako ea ho matha. The -rpath kgetho e boetse e sebelisoa ha o fumana lintho tse arolelanoang tse hlokahalang ka lintho tse arolelanoeng ka ho hlaka tse kenyelletsong; bona tlhaloso ea khetho ea -rpath-link . Haeba -rpath e sa sebelisoe ha ho amahanya le ELF e sebetsang, likarolo tse feto-fetohang tikolohong "LD_RUN_PATH" li tla sebelisoa haeba li hlalosoa.

Khetho ea -rpath e ka boela ea sebelisoa ho SunOS. Ka nako e sa lekanyetsoang, ho SunOS, linker e tla theha patch ea ho qetela ea nako eohle -Lo le khethoa. Haeba khetho ea -rpath e sebelisoa, tsela ea ho batla ea nako ea ho qetela e tla thehoa feela ka ho khetha -rpath , ho hlokomoloha khetho ea -L . Sena se ka ba molemo ha u sebelisa gcc, e leng e eketsang tse ngata -L khetho tse ka 'nang tsa e-ba ho tsamaiso ea lifaele tsa NFS.

Bakeng sa ho lumellana le li-link tse ling tsa ELF, haeba -R khetho e lateloa ke lebitso la lebitso, ho e-na le lebitso la lifilimi, le tšoaroa e le -rpath kgetho.

-rpath-link DIR

Ha u sebelisa ELF kapa SunOS, motho e mong a arolelana laebrari e ka 'na ea hloka e' ngoe. Sena se etsahala ha khokahanyo ea "ld-shared" e kenyeletsa laebraring e arolelaneng e le e 'ngoe ea lifaele tsa ho kenya.

Ha linker e itšetlehile ka ho itšetleha ka tsela eo e sa arolelanoeng, e sa sebelisoang, e tla leka ka ho toba ho fumana laebrari e kopanetsoeng e kopanetsoeng 'me e kenye letsoho, ha e sa kenyelelitsoe ka ho toba. Boemong bo joalo, khetho ea -rpath-link e totobatsa sethala sa pele sa lihlooho tsa ho batla. Kgetho ea -rpath-link e ka hlahisa ho latellana ha mabitso a mabitso ka ho bonts'a lenane la mabitso a arohanngoa ke li-colon, kapa ka ho hlaha ka makhetlo a 'maloa.

Khetho ena e lokela ho sebelisoa ka hloko ha e feta tsela ea ho batla eo e ka 'nang ea e-ba thata ho e bokella ho laebraring e arolelanoeng. Boemong bo joalo hoa khoneha ho sebelisa mokhoa o fapaneng oa ho batla ka mokhoa o sa fapaneng ho feta nako ea runer linker e neng e tla e etsa.

The linker e sebelisa litsela tse latelang tsa ho batla ho fumana lilaebrari tse arolelanoang tse arolelanoang.

1.

Lihlooho tsohle tse hlalositsoeng ka -rpath-link dikgetho.

2.

Mangolo afe kapa afe a hlalositsoeng ka khetho ea -rpath . Phapang pakeng tsa -rpath le -rpath-link ke hore litsamaiso tse hlalositsoeng ka -rpath dikgetho li kenyelelitsoe ho tse sebetsang le tse sebelisoang nakong ea nako ea ho qetela, athe khetho ea -rpath-link e sebetsa feela nakong ea li-link. Ke bakeng sa li-nativeer feela.

3.

Ka lenaneo la ELF, haeba -rpath le "rpath-link" likhetho li sa sebelisoa, batlisisa litaba tsa mocha oa mofuta "LD_RUN_PATH". Ke bakeng sa li-nativeer feela.

4.

Letsatsing la SunOS, haeba khetho ea -rpath e sa sebelisoa, batla litsamaiso leha e le life tse hlalositsoeng ho sebelisa -L likhetho.

5.

Bakeng sa motlatsi oa letsoalloa, lintho tse amanang le tikoloho e fapaneng "LD_LIBRARY_PATH".

6.

Bakeng sa letsoalo la ELF linker, litaelo tsa "DT_RUNPATH" kapa "DT_RPATH" tsa laebraring e arolelanoeng li batlisitsoe lilaebraring tse arolelanoang tse hlokahalang. Litlhaloso tsa "DT_RPATH" li hlokomolohuoa haeba ho kenyelletsoa "DT_RUNPATH".

7.

Litsamaiso tsa kamehla, ka tloaelo / lib le / usr / lib .

8.

Bakeng sa motlatsi oa letsoalo lenaneong la ELF, haeba faele /etc/ld.so.conf e le teng, lethathamo la litsamaiso tse fumanoang ka faele eo.

Haeba libuka tse arolelanoang tse hlokahalang li sa fumanoe, linker e tla fana ka temoso 'me e tsoele pele ka khokahanyo.

-hobane

-Ia khoneha

Bopa laebraring e arolelanoeng. Hona joale sena se tšehetsoa feela ho ELF, XCOFF le platforms ea SunOS. Letsatsing la SunOS, linker e tla iketsetsa lebenkele le arolelanoang haeba le -e khetho e sa sebelisoe 'me ho na le matšoao a sa tsejoang ka hokahanngoa.

- e tloaelehileng haholo

Kgetho ena e bolella ld ho hlahisa matšoao a tloaelehileng ka boholo ha e ba kenya likarolong tse loketseng tsa lipalo. Ntho ea pele e tletse litšoantšetso tse le 'ngoe feela, joale li-byte tse peli, ka nako e' ngoe le e 'ngoe, ka nako e' ngoe e 'ngoe le e' ngoe. Sena ke ho thibela likarohano pakeng tsa matšoao ka lebaka la mathata a lumellanang.

- hlakola-ka-file [ boholo ]

Ho tšoana le - ho hlakola-ka-reloc empa ho hlahisa sehlahisoa se secha sa karolo bakeng sa faele e 'ngoe le e' ngoe ea ho kenya ha boholo bo fihla. boholo bo fapana le boholo ba 1 haeba bo sa fanoe.

- ho arohana-ka-ho khutlela [ palo ]

O leka ho hlahisa likarolo tse eketsehileng fosheneng e hlahisoang e le hore ho se ke ha e-ba le karolo e le 'ngoe e hlahang ho file e nang le ho feta ho fallela ho bala . Sena se na le thuso ha o hlahisa lifaele tse kholo tse ka fetoloang bakeng sa ho kopitsa linthong tse itseng tsa sebele tsa nako le moqolo oa faele oa COFF; kaha COFF ha e emele ho falla ho feta 65535 karolong e le 'ngoe. Hlokomela hore sena se tla sitoa ho sebetsana le liforomo tsa lifaele tse sa tšehetsoeng likarolo tse fapaneng. The linker e ke ke ea arola likarolo tsa ho kenya letsoho ka bomong, kahoo haeba karolo e le 'ngoe e kenyeletsang e na le ho feta ho falla ha karolo e le' ngoe ea karolo e tla ba le libaka tse ngata tsa ho falla. palo e fapane ho ea bohlokoa ba 32768.

- lits'ebeletso

Etsa lipalo-palo le ho bonts'a lipalo-palo mabapi le ts'ebetso ea linker, e kang nako ea kotlo le tšebeliso ea mohopolo.

- mokhoa o mocha-o hlophisitsoeng

Bakeng sa lipheo tse ling, tlhahiso ea ld e fapane ka litsela tse itseng ho tsoa ho tsoa ho selekane se seng se teng. Lenaneo lena le kopa ld ho sebelisa mokhoa oa setso ho e-na le hoo.

Ka mohlala, ho SunOS, ld e kopanya likarolo tse nyenyane tafoleng ea letšoao la letšoao. Sena se ka fokotsa boholo ba sefahleho se hlahisoang ka boitsebiso bo feletseng ba ho nolofatsa ka karolo ea 30 lekholong. Ka bomalimabe, lenaneo la SunOS "dbx" ha le khone ho bala lenaneo le hlahisoang ("gdb" ha ho na bothata). Sesebelisoa se secha-sa moralo se bolella ld hore se se ke sa kopanya likarolo tse nyenyane.

- ts'ebetso-qalo ea lebitso = org

Fumana karolo karolong e hlahisitsoeng ho aterese e feletseng e fanoeng ke org . U ka sebelisa kgetho ena ka makhetlo a mangata kamoo ho hlokahalang ho fumana likarolo tse ngata molaong oa taelo. org e lokela ho ba sekhahla se le seng sa hexadecimal integer; bakeng sa ho lumellana le li-linker tse ling, u ka tlohela 0x e etellang pele hangata e amanang le litekanyetso tsa hexadecimal. Tlhokomeliso: ha hoa lokela hore ho be le sebaka se bosoeu pakeng tsa lebitso la lebitso , letšoao le lekanang (`` = ''), le org .

-Tbss kapag

-Tdata kapag

-Ke latelang setšoantšo

Sebedisa org e le aterese ea pele bakeng sa --- ka ho latellana --- "bss", "data", kapa karolo ea "text" ea file e hlahisoang. org e lokela ho ba sekhahla se le seng sa hexadecimal integer; bakeng sa ho lumellana le li-linker tse ling, u ka tlohela 0x e etellang pele hangata e amanang le litekanyetso tsa hexadecimal.

--lla-verbose

- ho pota

Hlahisa nomoro ea phetolelo bakeng sa ld mme u thathamise mekhoa ea linker e tšehetsoeng. Hlahisa lifaele tsa ho kenya tse ka khonang ho li buloa. Hlahisa script ea linker e sebelisoang ke linker.

--version-script = version-scriptfile

Hlalosa lebitso la lengolo la phetolelo ho linker. Sena se atisa ho sebelisoa ha ho bōptjoa li-library tse arolelanoang ho hlalosa ka ho hlakileng tlhahisoleseding e eketsehileng mabapi le phetolelo ea heirarchy ea laebrari e bōpiloeng. Khetho ena e na le moelelo feela litoleng tsa ELF tse tšehetsang lilaebraring tse arolelanoang.

- lemoha-e tloaelehileng

Hlakola ha setšoantšo se tloaelehileng se kopantsoe le letšoao le leng le tloaelehileng kapa le tlhaloso ea tšoantšetso. Unix e lumellana e lumella mokhoa ona o sa tloaelehang, empa li-linkers lits'ebetsong tse ling tsa ho sebetsa ha li joalo. Khetho ena eu lumella hore u fumane mathata a ka 'nang a hlaha ho kopanya matšoao a lefatše. Ka bomalimabe, lilaebrari tse ling tsa C li sebelisa mokhoa ona, kahoo u ka fumana litemoso tse mabapi le matšoao a lilaebraring hammoho le mananeong a hau.

Ho na le mefuta e meraro ea matšoao a lefatše, a bontšitsoeng mona ke mehlala ea C:

int i = 1;

Tlhaloso, e kenang karolong e qalileng ea data ea file e hlahisoang.

ntle ka ntle ho i;

Tlhaloso e sa hlalosoang, e sa fane ka sebaka. Ho tlameha ho ba le tlhaloso kapa setšoantšo se tloaelehileng bakeng sa ho feto-fetoha kae-kae.

int i;

Letšoao le tloaelehileng. Haeba ho e-na le matšoao a tloaelehileng (a le mong kapa a mang) a tloaelehileng, a kena sebakeng se sa amaneng sa data sa fono e hlahisoang. The linker e kopanya matšoao a tloaelehileng a tloaelehileng bakeng sa phetoho e tšoanang ho letšoao le le leng. Haeba li le boholo bo fapaneng, e nka boholo bo boholo. The linker e fetola letšoao le tloaelehileng hore e be phatlalatso, haeba ho na le tlhaloso ea mofuta o tšoanang.

Khetho e tloaelehileng-e tloaelehileng e ka hlahisa mefuta e mehlano ea litemoso. Tlhokomeliso e 'ngoe le e' ngoe e na le mela e mabeli: ea pele e hlalosa letšoao le le haufi le lona, ​​'me la bobeli le hlalosa letšoao la pele le fihletsoeng ka lebitso le le leng. E 'ngoe ea tsona kapa tse peli tsa matšoao e tla ba letšoao le tloaelehileng.

1.

Ho fetola letšoao le tloaelehileng hore e be moelelo, hobane ho se ho ntse ho e-na le tlhaloso ea letšoao.

(): temoso: e tloaelehileng ea < 'e fetotsoeng ke tlhaloso (): temoso: e hlalositsoeng mona

2.

Ho fetola letšoao le tloaelehileng hore e be tlaleho, hobane tlhaloso ea morao-rao ea letšoao e kopana le eona. Sena se tšoana le nyeoe ea pele, ntle le hore li-symbols li kopane ka mokhoa o fapaneng.

(): temoso: tlhaloso ea ` 'e fetang e tloaelehileng (): temoso: e tloaelehileng e teng mona

3.

Ho kopanya letšoao le tloaelehileng le tšoantšetso e tloaelehileng ea boholo-holo.

(): temoso: hangata e tloaelehileng ea ` ' (): temoso: ho tloaelehileng e tloaelehileng ho teng mona

4.

Ho kopanya letšoao le tloaelehileng le letšoao le leholo le tloaelehileng le fetileng.

(): temoso: e tloaelehileng ea ` 'e phahametsoeng ke e kholo (): temoso: e kholo e tloaelehileng e teng mona

5.

Ho kopanya letšoao le tloaelehileng le letšoao le tloaelehileng le tloaelehileng. Sena se tšoana le nyeoe ea pele, ntle le hore li-symbols li kopane ka mokhoa o fapaneng.

(): temoso: e tloaelehileng ea ` 'e fetang e nyenyane e tloaelehileng (): temoso: e nyenyane e tloaelehileng e teng mona

- fumana-bahahi

Hlakola haeba ho na le baetsi ba lefatše ba sebelisang. Sena se na le thuso feela bakeng sa lihlahisoa tse fokolang tsa faele. Bakeng sa mekhoa e kang COFF kapa ELF, linker e ke ke ea lemoha tšebeliso ea lihahi tsa lefatše.

- fumana-multiple-gp

Etsa bonnete ba hore na litekanyetso tse ngata tsa pointer tsa lefats'e li hlokahalang ho faele e hlahisoang . Sena se na le moelelo feela bakeng sa batlakase ba itseng, ba kang Alpha. Haholo-holo, li-processor tse ling li kenya likhahla tse bohlokoa haholo karolong e khethehileng. Rejista e ikhethang (pointer ea lefats'e) e supa bohareng ba karolo ena, e le hore liphahlo li ka kenngoa ka mokhoa o nepahetseng ka mokhoa oa ho ngolisa o lekanang le o mong. Ho tloha ha sebopeho se lekanang se lekaneng se lekaneng le se senyenyane (mohlala, bitsana tse 16), sena se lekanyetsa boholo ba letamo la kamehla. Ka hona, mananeong a maholo, hangata ho hlokahala hore u sebelise litekanyetso tse ngata tsa pointer lefatšeng ka bophara e le hore u khonne ho sebetsana le maemo a mangata a ka khonehang. Khetho ena e etsa hore temoso e fanoe neng kapa neng ha nyeoe ena e etsahala.

- lemoha hang-hang

E mpe u lemose hang ka ngoe bakeng sa letšoao le sa hlalosoang, ho e-na le hanngoe feela ka module e bolelang.

- sheba-karolo-align

Hlakola haeba aterese ea sephetho se fetotsoeng e fetohile ka lebaka la ho lumellana. Ka tloaelo, ho lumellana ho tla behoa ka karolo ea ho kenya. Aterese e tla fetoloa feela haeba e sa boleloe ka ho toba; ke hore, haeba taelo ea "SECTIONS" e sa hlahise aterese ea qalo ea karolo.

- fumana li-archive

Bakeng sa boitsebiso bo bong le bo bong bo boletsoeng molaong oa taelo ka mor'a se -se-archive se kgetho, kenyelletsa ntho e 'ngoe le e' ngoe e fanoeng mocheng oa boitsebiso , ho e-na le ho batla boitsebiso ba lifaele tsa ntho e hlokahalang. Hangata sena se sebelisetsoa ho fetolela faele ea boitsebiso ho laebrari e arolelanoeng, ho qobella ntho e 'ngoe le e' ngoe hore e kenyelelitsoe ho laebraring e arolelanoeng e tsamaisoang. Khetho ena e ka sebelisoa hangata.

Lintlha tse peli ha u sebelisa kgetho ena ho gcc: Ntlha ea pele, gcc ha e tsebe ka kgetho ena, ka hona u tlameha ho sebelisa -Wl, -hole-archive archive . Ea bobeli, u se ke ua lebala ho sebelisa -Wl, -e-eohle-archive ka mor'a lethathamo la hau la li-archives, hobane gcc e tla eketsa lenane la li-archives ho khokahano ea hau 'me u ka' na ua se ke ua batla hore folakha ena e ame le eona.

- letšoao la ho kopanya

Sebelisa mosebetsi oa sekoahelo bakeng sa letšoao . Tlhaloso leha e le efe e sa tsejoeng ea letšoao e tla rarolloa ho "__ wrap_symbol". Tlhaloso leha e le efe e sa tsejoeng ea "__real_symbol" e tla rarolloa ho letšoao .

Sena se ka sebelisoa ho fana ka sekoahelo bakeng sa mosebetsi oa tsamaiso. Mosebetsi oa ho hlakola o lokela ho bitsoa "__wrap_symbol". Haeba e lakatsa ho letsetsa tsamaiso ea tshebetso, e lokela ho letsetsa "__ real_symbol".

Mona ke mohlala o monyenyane:

ha ho joalo * __wrap_malloc (int c) {printf ("malloc e bitsoang% ld \ n", c); khutla __real_malloc (c); }}

Haeba o hokahanya khoutu e 'ngoe le faele ena u sebelisa - ho senya malloc , joale lits'obotsi tsohle ho "malloc" li tla bitsa mosebetsi "__wrap_malloc" ho e-na le hoo. Pitso ea "__real_malloc" ka "__wrap_malloc" e tla bitsoa "sebele" malloc.

U ka 'na ua lakatsa ho fana ka mosebetsi oa "__real_malloc" hape, e le hore o kopanngoe ntle le ho - ho fumana mokhoa o tla atleha. Haeba u etsa sena, ha ua lokela ho beha tlhaloso ea "__ real_malloc" lefapheng le tšoanang le "__wrap_malloc"; haeba u etsa joalo, assembler e ka rarolla pitso pele linker e e-na le monyetla oa ho e phuthela ho "malloc".

- li-new-dtags tse khonehang

li-new-dtags

Mohokahanyi enoa a ka hlahisa lebokose le lecha la ELF. Empa ELF mekhoa ea khale e ka 'na ea se ke ea e utloisisa. Haeba u ka hlakisa -li-new-dtags tse khonehang , litekete tse matla li tla bōptjoa ha ho hlokahala. Haeba o hlakisa - li-new-dtags , ha ho na litebelisoa tse ncha tse tla bōptjoa. Ka ho feletseng, thepa e ncha e matla ha ea bōptjoa. Hlokomela hore mekhoa eo e fumaneha feela bakeng sa lisebelisoa tsaELF.

I386 PE linker e tšehetsa khetho e khethiloeng, e etsang hore phallo e be library ea dynamically e kopantsoeng (DLL) ho e-na le e tloaelehileng e ka etsoang. O lokela ho reha sehlahisoa sa "* .dll" ha o sebelisa kgetho ena. Ho phaella moo, linker e tšehetsa ka ho feletseng litekanyetso tse "* .def" tse tloaelehileng, tse ka hlalositsoeng molaong oa taelo oa linker joaloka faele ea ntho (ha e le hantle, e lokela ho etella pele litlaleho tseo e fetisetsoang lipontšo ho tsoa, ​​ho tiisa hore li kopantsoe, feela joaloka faele ea ntho e tloaelehileng).

Ho phaella ho dikgetho tse tloaelehileng ho lipheo tsohle, i386 PE linker tšehetso e eketsehileng ea litaelo tsa line line tse tobileng ho sepheo sa i386 PE. Mekhoa e nkoang e le ea bohlokoa e ka arohanngoa le litekanyetso tsa tsona ka sebaka kapa pontšo e lekanang.

- li-stad-alias

Haeba e fanoe, matšoao a stdcall suffix (@ nn ) a tla romeloa e le-e boetse e na le sekoti se koahetsoeng.

- fase-file file

Sebelisa faele e le lebitso la faele eo ho eona u ka bolokang liaterese tsa motheo tsa ho fallela hoa hlokahala bakeng sa ho hlahisa DLL ka dlltool .

- joalo

Etsa DLL ho e-na le hore o sebetse kamehla. U ka boela ua sebelisa -a arolelana kapa u hlalose "LIBRARY" lefapheng le fanoeng la ".def".

- e khonehang-stdcall-fixup

- e hlakileng-stdcall-fixup

Haeba khokahanyo e fumana letšoao leo e sa khoneng ho rarolla, e tla leka ho etsa `` ho hokahanya '' ka ho batla letšoao le hlalositsoeng le fapaneng feela ka mokhoa oa lebitso la letšoao (cdecl vs stdcall) le ho rarolla letšoao leo ka ho hokahanya ho ea papaling. Ka mohlala, letšoao le sa hlalosoang "_foo" le ka amahanngoa le mosebetsi "_foo @ 12", kapa letšoao le sa hlalosoang "_bar @ 16" le ka amahanngoa le mosebetsi "_bar". Ha linker e etsa sena, e fana ka temoso, kaha hangata e ka be e hlōlehile ho hokahanya, empa ka linako tse ling e kenya li-laebrari tse hlahisitsoeng ho batho ba bang ba ka 'na ba hloka hore setšoantšo sena se sebelisoe. Haeba o hlalosa - ho khoneha-stdcall-fixup , karolo ena e khoneha ka botlalo mme litemoso ha li hatisoe. Haeba u bolela ka ho hlakileng-ho hloekisa-stdcall-fixup , ketsahalo ena e na le bokooa 'me litloaelo tse joalo li nkoa e le liphoso.

- Export-tsohle-matšoao

Haeba e fanoe, matšoao 'ohle a lefatse linthong tse sebelisetsoang ho haha ​​DLL e tla romeloa ke DLL. Hlokomela hore sena ke sona se fapaneng haeba ho seng joalo ho ke ke ha e-ba le matšoao leha e le afe a romeloang. Ha litšoantšetso li romeloa ka ho hlaka ka lifaele tsa DEF kapa li romeloa ka ho feletseng ka litšobotsi tsa ts'ebetso, ho sa nepahale ke hore u se ke ua romela ntho leha e le efe ntle le khetho ena e fanoeng. Hlokomela hore "DllMain @ 12", "DllEntryPoint @ 0", "DllMainCRTStartup @ 12", le "impure_ptr" e ke ke ea romeloa hang-hang. Hape, matšoao a tsoang linaheng tse ling tsa DLL a ke ke a romeloa hape, ebile a ke ke a tšoantšetsa sebopeho sa hare sa DLL tse kang tse qalang ka "_head_" kapa ho qetella ka "_iname". Ho phaella moo, ha ho litšoantšetso tse tsoang "libgcc", "libstd ++", "libmingw32", kapa "crtX.o" tse tla romeloa. Lipontšo tseo mabitso a tsona a qalang ka "__rtti_" kapa "__builtin_" a ke ke a romeloa, ho thusa ka C ++ DLLs. Qetellong, ho na le lenane le pharaletseng la li-cygwin-tsa matsoho tse sa romeloang (ho totobetse hore sena se sebetsa nakong ea ha ho hahoa DLL bakeng sa merero ea cygwin).

Li-cygwin_premain1 tsena, "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2", "cygwin_premain2" ", le" hoo e ka bang ".

- letšoao - letšoao la tšoantšetso , letšoao , ...

E hlalosa lethathamo la matšoao a sa lokelang ho romeloa hang-hang. Mabitso a tšoantšetso a ka hlahisoa ke li-commas kapa li-colon.

- hlahisa-libs lib , lib , ...

E khetholla lethathamo la lilaebrari tsa li-archive tseo ho tsona li-simboli li sa lokelang ho romeloa hang-hang. Mabitso a laebrari a ka 'na a khaoloa ke li-commas kapa li-colon. Ho hlakisa "- exclude-libs ALL" e kenyelletsa matšoao ho lilaebraring tsohle tsa polokelo ho tloha ho itšireletsa ka mokhoa o itekanetseng. Lipontšo tse hlakileng tse thathamisitsoeng ho .def file li ntse li romeloa, ho sa tsotellehe khetho ena.

- bonngoe ba sefahleho

Hlalosa phapanyetsano ea lifilimi. Likarolo tse hlahang lefapheng la hau li tla qala ka ho kenya li-offsets tse ngata tsa palo ena. Sena se fosahetse ho 512.

- beha sebaka sa polokelo

- pholosa polokelo , iketse

Hlalosa palo ea mohopolo o lokelang ho e boloka (le ho ikhethela) ho sebelisoa e le qubu bakeng sa lenaneo lena. Ho sa feleng ke 1Mb e bolokiloeng, 4K e ikemetseng.

- boleng ba base-base

Sebelisa bohlokoa e le aterese ea motheo ea lenaneo la hau kapa dll. Ena ke sebaka se tlaase ka ho fetisisa sa mohopolo se tla sebelisoa ha lenaneo la hau kapa dll e laoloa. Ho fokotsa tlhokahalo ea ho fallela le ho ntlafatsa ts'ebetso ea dlls tsa hau, e mong le e mong o lokela ho ba le aterese e ikhethang ea setsi 'me a se ke a kopana le tse ling tsa dlls. Ntho e sa lekanyetsoang ke 0x400000 bakeng sa li-executables, le 0x10000000 bakeng sa dlls.

- kill-at

Haeba e fanoa, li-suffxes tsa stdcall (@ nn ) li tla tlosoa ho tloha litšoantšong pele li romeloa.

- boleng ba setšoantšo sa boemo bo phahameng

E beha nomoro e kholo ea `` version ea setšoantšo ''. E fapane ho 1.

- boleng ba mahlaseli-a-version

E beha nomoro e kholo ea `` os version ''. E fapane ho 4.

- bohlokoa-tlaase-tlase- boleng ba boleng

E beha nomoro e kholo ea `` subsystem version ''. E fapane ho 4.

- boleng ba sebopeho sa setšoantšo

E beha palo e nyenyane ea `` version ea setšoantšo ''. E fapane ho 0.

- boleng bo ka sehloohong-bo-version

E beha nomoro e nyenyane ea `` os version ''. E fapane ho 0.

- boleng bo ka tlaase-tlaase-tlase-tlhahiso

E beha lenane le lenyenyane la `` subsystem version ''. E fapane ho 0.

- faele -defut file

The linker e tla bopa file faele e tla ba le file DEF e lumellanang le DLL linker e hlahisa. Faele ena ea DEF (e lokelang ho bitsoa "* .def") e ka sebediswa ho etsa laebrari ea ho kenya ka "dlltool" kapa e ka sebelisoa e le ho bua ka matšoao a ikemetseng kapa a tsoang ka ntle ho naha.

- file -implib file

The linker e tla bopa file file eo e tla ba le import lib lib e lumellanang le DLL linker e hlahisa. Tlhaloso ena lib (e lokelang ho bitsoa "* .dll.a" kapa "* .a" e ka sebelisoa ho hokahanya bareki khahlanong le DLL e entsoeng; mokhoa ona o etsa hore ho khonehe ho qeta mohato o fapaneng oa "dlltool" oa ho bitsa li-library.

- e ka sebelisoang-setšoantšo sa molomo

Khetha ka botlalo setsi sa setšoantšo sa DLL, ntle le hore ho boleloe hore na ho sebelisoa "argument-base". Ka ho sebelisa hash e hlahisitsoeng ho tloha ho lebitso la ho bopa litšoantšo tse ikhethileng tsa setšoantšo bakeng sa DLL e 'ngoe le e' ngoe, likhohlano tsa mohopolo le ho fallela moo ho ka liehang ho phethahatsa lenaneo.

- e hlakileng-auto-image-base

U se ke ua iketsetsa setšoantšo se ikhethileng sa setšoantšo. Haeba ho se na setšoantšo sa setšoantšo sa moetsi ("-image-base") joale sebelisa sethala se sa nepahale.

- mohala oa pele oa ho batlisisa

Ha u kopanya dynamically ho ea dll ntle le laebrari ea ho kenya, batla " .dll" ho khetha "lib .dll". Tsela ena e lumella hore ho be le phapang e bonolo pakeng tsa DLL e hahiloeng bakeng sa '`subplatforms' 'tse fapa-fapaneng: native, cygwin, uwin, pw, joalo-joalo. Ka mohlala, cygwin DLLs e sebelisa" -dll-search-prefix = cyg ".

- kenya-ho kenya-ho kenya

Etsa hore ho khoneha ho kopanya "_symbol" ho "__p__symbol" bakeng sa ho kenngoa ha DATA ho tsoa ho DLL, le ho etsa lipontšo tse hlokahalang tsa ho thunngoa ha u haha ​​lilaebrari tsa ho kenya tse nang le tse ling tsa DATA. Hangata sena se tla 'sebetsa' --- empa ka linako tse ling u ka bona molaetsa ona:

"mefuta e fapaneng '' e ke ke ea kenngoa ka koloi. Ka kōpo bala litokomane tsa ld" --enable-auto-import "bakeng sa lintlha."

Molaetsa ona o etsahala ha polelo e meng (sub) e fihlella aterese e fanoeng ka kakaretso ea mekhahlelo e 'meli (Win32 ho kenya litafole feela e lumella e le ngoe). Memo eo ho ka 'nang ha etsahala sena ho kenyelletsa ho fihlella ho lihlopha tsa litho tsa mefuta e fapaneng ea moralo e tsoang naheng ea DLL, hammoho le ho sebelisa lenane la kamehla ho feto-fetoha ha mofuta o tsoang ho DLL. Mofuta ofe kapa ofe oa li-multiword (li-arrays, structs, nako e telele, joalo-joalo) li ka baka phoso ena. Leha ho le joalo, ho sa tsotellehe mofuta o nepahetseng oa data oa phapanyetsano e senyehileng e romeloang, ld e tla e hlokomela hangata, e fana ka temoso, 'me e tsoe.

Ho na le litsela tse 'maloa tsa ho sebetsana le bothata bona, ho sa tsotellehe mofuta oa data oa phetoho e romeloang:

Tsela e le 'ngoe ke ho sebelisa - ho sebelisa-nako-runtime-pseudo-reloc switch. Sena se tlohela mosebetsi oa ho fetola litšupiso ka khoutu ea hau ea mohoeletsi bakeng sa tikoloho ea nako ea ho sebetsa, ka hona mokhoa ona o sebetsa feela ha ho potoloha nako ea nako ea ho sebetsa ho tšehetsa tšobotsi ena.

Tharollo ea bobeli ke ho qobella e 'ngoe ea' li-constants 'hore e fapane - e leng, e sa tsejoeng le e ke keng ea khoneha ha nako ea ho bokella. Bakeng sa li-arrays, ho na le menyetla e 'meli: a) etsa hore e-mail (aterese ea sebaka) e feto-fetohe, kapa b) etsa hore' index 'ea kamehla e fetohe. Ka tsela ena:

mofuta o ka ntle oa extern_array []; extern_array [1] -> {mofuta o sa tloaelehang * t = extern_array; t [1]}

kapa

mofuta o ka ntle oa extern_array []; extern_array [1] -> {e sa tloaelehang int t = 1; ntle-ntle [t]}

Bakeng sa mekhoa (le mefuta e mengata e mengata ea data-motlakase) kgetho e le 'ngoe feela ke ho iketsetsa moralo (kapa nako e telele, kapa ...):

Extern struct s extern_struct; extern_struct.field -> {mohaho o motle oa struct s * t = & extern_struct; t-> tšimo}

kapa

kantle ka ntle ka ntle-ntle; extern_ll -> {nako e telele ea nako e ngata * local_ll = & extern_ll; * local_ll}

Tsela ea boraro ea ho sebetsana ka katleho le bothata bona ke ho tlohela 'auto-import' bakeng sa letšoao le khopisang le ho e tšoaea ka "__declspec (dllimport)". Leha ho le joalo, ka tloaelo ho hloka hore u sebelise nako ea ho hlophisa-nako ho bontša hore na u ntse u haha ​​DLL, mohala oa mohaho oa mohaho o tla hokahanya le DLL, kapa feela ho haha ​​/ ho hokahanya le laebraring e tsitsitseng. Ha u etsa khetho pakeng tsa mekhoa e sa tšoaneng ea ho rarolla bothata ba 'aterese e tobileng le bothata bo tsoelang pele', u lokela ho nahana ka ts'ebetso ea sebele ea lefatše:

Ntho ea pele:

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

Tharollo ea 1:

--foo.h extern int arr []; --foo.c # include "foo.h" ha e le hantle (int argc, char ** argv) {/ * Sena se sebetsana le win32 le cygwin; u se ke ua "matlafatsa" * / ho hanyetsa int * parr = arr; printf ("% d \ n", parr [1]); }}

Tharollo ea 2:

- hlokomeliso (FOO_BUILD_DLL) | e hlalositsoeng (FOO_STATIC) (e hlalositsoeng (FOO_BUILD_DLL) | (e hlalositsoeng (FOO_BUILD_DLL) || e hlalositsoe (FOO_STATIC) (e hlalositsoeng (_WIN32) | / #if (e hlalosoa (_WIN32) | / e hlalositsoeng (__ CYGWIN__) )) #define FOO_IMPORT __declspec (dllimport) #else #define FOO_IMPORT #endif ka ntle FOO_IMPORT int arr []; --foo.c # include "foo.h" ha e le hantle (int argc, char ** argv) {printf ("% d \ n", arr [1]); }}

Tsela ea bone ea ho qoba bothata bona ke ho boela o ngolla laebraring ea hau ho sebelisa sebopeho se sebetsang ho e-na le sebopeho sa data bakeng sa mefuta e fokolang (mohlala, set_foo () le get_foo () accessor mesebetsi).

- e hlakileng-ho kenya-ho kenya

U se ke ua leka ho kopanya lithuto tse rarahaneng tsa "_symbol" ho "__imp__symbol" bakeng sa DATAimports tse tsoang ho DLL.

- ho khoneha-nako ea ho qeta-nako-pseudo-reloc

Haeba khoutu ea hau e na le lipolelo tse hlalositsoeng karolong e sa khonehang-auto-import, ke hore, DATAimports tse tsoang DLL ka ntle le zero offset, konteraka ena e tla etsa vector ea 'mohaho oa ho khutlela ha nako' o ka sebelisoang ke tikoloho ea ho qeta nako ho fetola litlhaloso ho tsebiso e joalo ka khoutu ea hau ea mohiri.

- ho khoneha-nako-e-ea-runtime-pseudo-reloc

U se ke ua bopa ho fallela maqhetsoeng bakeng sa ho se buse ka DATA ho tsoa ho DLL. Ena ke ea kamehla.

- e khonehang-e eketsehileng-debug

Bontša lintlha tse eketsehileng tsa marulelo tse amanang le ho kenya ka har'a li-symbol thunking.

- ho lumellana ha mosebetsi

E beha boemo ba karolo. Likarolo tse hopolang li tla lula li atereseng tse ngata tsa palo ena. E fapane ho 0x1000.

- boloka sebaka sa polokelo

- kenya chelete , boloka

Hlalosa palo ea mohopolo o lokelang ho e boloka (le ho ikhethela) ho sebelisoa e le stack bakeng sa lenaneo lena. Ho sa feleng ke 2Mb e bolokiloeng, 4K e ikemiseditse.

- mokhoa oo

- tsamaiso e leng : e kholo

- tsamaiso e leng : e kholo . e nyenyane

E totobatsa mokhoa oo lenane la hau le tla o etsa. Melao ea molao eo ho eona e leng "letsoalloa", "lifensetere", "console" le "posix". U ka 'na ua ikhethela ho beha mokhoa oa tsamaiso hape.

Bohlokoa: Sebelisa taelo ea motho ( % motho ) ho bona hore na taelo e sebelisoa joang khomphuteng ea hau.