Linux / Unix Amar: Id

MAGACA

ld - Isticmaalka LD , xidhiidhiyaha GNU

SYNOPSIS

ld [ ikhtiyaar ] ikhtiyaar ...

DESCRIPTION

Ld waxay isku dardarisaa dhowr shay oo ah walxo iyo faylasha xogta , waxay u guuriyaan xogtooda iyo waxay tixgeliyaan tixraaca calaamad. Sida caadiga ah tallaabada ugu dambeysa ee barnaamijka soo uruurisa waa in ld .

Ld ayaa aqbalo Linker Command Luqadaha Luuqada ee ku qoran farta ah ee AT & T ee Edit Editor Taliyaha Luqadda, si loo bixiyo si cad oo dhan total control oo ku saabsan geeddi-socodka isku xirka.

Boggan boggani ma qeexayo luqadda taliska; fiiri galitaanka ld ee "info", ama buuga ld: GNU linker, faahfaahin dheeraad ah oo ku saabsan luuqada taliska iyo dhinacyada kale ee xiriiriyaha GNU.

Noockan Ld wuxuu isticmaalaa maktabadaha guud ee BFD si uu u shaqeeyo faylalka sheyga. Tani waxay u ogolaataa ld inuu akhriyo, isku daro, iyo qoro faylka sheyga ee qaabab badan oo kala duwan --- tusaale, COFF ama "a.out". Noocyo kala duwan ayaa lala xiriiri karaa si ay u soo saaraan nooc kasta oo faylka shayga la heli karo.

Marka laga reebo dabacsanaantiisa, xiriiriyaha GNU wuxuu ka caawinayaa xiriiriyeyaasha kale ee bixiya macluumaadka ogaanshaha. Xiriiriyayaal badan ayaa ka tagay isla markiiba markay la kulmaan qalad; mar kasta oo ay suurtogal tahay, Ld sii wadaan fulinta, kuu oggolaanaya inaad qeexdo khaladaadka kale (ama, mararka qaarkood, si aad u hesho faylka wax soo saarka inkastoo ay khalad tahay).

Xidhiidhka GNU ld waxaa loola jeedaa inuu daboolo xaalado badan oo kala duwan, iyo sida ugu macquulsan ula xiriirayaasha kale. Sidaa darteed, waxaad leedahay doorashooyin badan oo lagu xakameynayo dhaqankooda.

OPTIONS

Xiriiriyaha wuxuu taageersanayaa xakameynta fursadaha taliska-xariiqa , laakiin dhab ahaantii waxoogaa iyaga ah ayaa loo isticmaalaa xaalad gaar ah. Tusaale ahaan, isticmaalka joogtada ah ee ld waa inuu isku xiraa faylasha Unix-ga ee nidaamka, nadaamka Unix oo taageera. Nidaamka noocan oo kale ah, si uu u xiro feyl "hello.o":

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

Tani waxay sheegaysaa ld in la soo saaro fayl la yiraahdo soo saaro natiijada ka dhalatay isku-xirka faylka "/lib/crt0.o" oo leh "hello.o" iyo maktabadda "libc.a", oo ka iman doona hanaanka tooska ah ee raadinta. (Eeg wadahadalka xulashada -l ee hoos ku qoran.)

Qaar ka mid ah xulashooyinka taliska ee ld waa laga yaabaa inay tilmaamaan mar kasta oo khadadka taliska ah. Si kastaba ha noqotee, fursadaha tixraaca faylasha, sida -l ama -T , waxay keenaan faylka in lagu aqriyo barta xalka ay ku qoran tahay xariiqda taliska, marka loo eego faylalka sheyga iyo ikhtiyaarada faylasha kale. Ku soo celinta xulashooyinka aan faylka ahayn oo leh dood ka duwan midkoodna wax saameyn ah kuma yeelan doonto, ama ka horimaanaya dhacdooyinka hore (kuwa kale ee bidixda ku yaal khadka taliska) ee doorashadan. Fursadaha laga yaabo inay si macquul ah u cayimaan in ka badan hal mar ayaa lagu qeexay sharaxaadaha hoose.

Doodaha aan ikhtiyaarka lahayn waa faylal ama shay-baar shey oo la isku darayo. Waxaa laga yaabaa inay raacaan, horay ama ay isugu qotonaan doorashooyinka xakamaynta, marka laga reebo in doodda faylka sheyga laga dhigo mid aan dhex dhigin ikhtiyaar iyo doodda.

Caadi ahaan xidhiidhiyaha waxaa la yiraahdaa ugu yaraan hal shay oo ah walxo, laakiin waad soo sheegi kartaa noocyada kale ee faylalka ikhtiyaarka ah ee la adeegsanayo -l , -R , iyo luuqadda taliska command. Haddii aan la helin faylasha ikhtiyaarka ah ee ikhtiyaari ah, xiriiriyaha uusan soo saarin wixii wax soo saar ah, oo wuxuu soo saaraa farriinta feylka feylka .

Haddii xiriiriyaha uusan ogaan karin qaabka feylka sheyga, waxay u qaadan doontaa in uu yahay warqad isku xiran. Qoraallada ku qeexan qaabkan waxay kudhifayaan qoraallada ugu muhiimsan ee loo isticmaalo isku-xirka (ha ahaato warqadda isku-xirnaanta default ama midka lagu tilmaamay isticmaalka -T ). Qalabkani wuxuu u fasaxayaa xiriiriyaha inuu isku xiro feyl kaas oo u muuqda in uu yahay shay ama archive, laakiin dhab ahaantii wuxuu qeexayaa qiyamka astaamaha, ama wuxuu isticmaalaa "INPUT" ama "GROUP" si loo soo saaro walxo kale. Ogsoonow in qeexitaanka qorniinka sidan oo kale oo kaliya kudheeraha waraaqaha isku xirka ugu weyn; Isticmaal ikhtiyaarka -T si aad u bedesho script-ka isku xirnaanta ee gebi ahaanba.

Xulashooyinka magacyadoodu ay yihiin hal xaraf, doodda ikhtiyaariga ah waa in ay raacaan warqadda ikhtiyaarka ah iyada oo aan la dhexgalin xayndaabka, ama waxaa loo bixiyaa doodo gooni ah isla markaaba ka dib marka la doorto ikhtiyaarka iyaga u baahan.

Xulashooyinka magacyadoodu ay yihiin waraaqo kala duwan, mid qudh ah ama labadaba waxay hor dhigaan magaca ikhtiyaarka; Tusaale ahaan, -cunta-calaamadda iyo calaamad-calaamadda ayaa u dhigma. Fiiro gaar ah - waxaa jira mid ka reeban xeerkan. Fursadaha warqadaha badan leh oo ku bilaabanaya kiis yar oo 'o' waxaa kaliya oo horay loo sii marin karaa laba daroogo. Tani waa si loo yareeyo jahwareerka doorasho-doorasho. Sidaas awgeed tusaale ahaan - samagaligu wuxuu magac udubka saaraa sixirkiisa halka uu - ku sumo calanka NMAGIC ee saaran.

Isbedelada doorashooyin badan oo warqad ah waa in laga tagaa magaca ikhtiyaariga ah calaamad isku mid ah, ama waxaa loo bixiyaa doodo gooni ah marka la raaco ikhtiyaarka iyaga u baahan. Tusaale ahaan, - calaamada -face- iyo -face-symbol = foo waa u dhigma. Qaababka soo noqnoqda ee magacyada kala-doorashooyin badan ayaa la aqbalaa.

Xusuusnow - haddii xiriiriyaha si toos ah loo soo waco, iyada oo loo marayo darawal wadajir ah (eg gcc ) markaas dhamaan xulashada xariijinta xariirka isku xirka waa in horay loo soo dhigaa -Wl, (ama wax kasta oo ku habboon darawalka compiler gaar ah) sidaan sidan:

gcc -Wl, - bilowgroup foo.o bar.o -Wl, - koox hawleed

Tani waa muhiim, sababtoo ah haddii barnaamijka darawaladda compiler laga yaabo in uu aamusi karo doorashooyinka isku xirka, taas oo keenaysa xiriir xun.

Halkan waxaa ku qoran jadwalka bedelka taliska caadiga ah ee taleefanka ee GNU aqbalay:

-waa erey muhiim ah

Doorashadan waxaa lagu taageeray udhiganta HP / UX. Doodda muhiimka ah waa inay ahaato mid ka mid ah xayeysiiska xarriiqda , la wadaago , ama default . -Waxbarashadu waxay u dhigantaa mid u dhiganta -Bstatic , iyo labada kale ee ereyada muhiimka ah waxay u dhigmaa mid u dhigma -Bidynamic . Doorashadan waxaa loo isticmaali karaa marxalad kasta.

- Naqshad

Dhismaha dhiska

Marka la sii daayo ld , fursadani waxay faa'iido u leedahay kaliya Intel Intel 960 ee dhismayaasha. Qaabdhismeedka leydka , doodda dhismaha waxay qeexaysaa naqshadda gaarka ah ee 960 qoys, waxay awood u siineysaa qaar ka mid ah ilaalinta iyo hagaajinta jidka-raadinta maktabadda.

Bixinta mustaqbalka ee ld ayaa laga yaabaa inay taageerto hawlaha kale ee qoysaska kale ee dhismaha.

-b qaab-is- dhexgalka

--format = qaab-ku- beddel

Ld ayaa loo qaabeyn karaa si ay u taageeraan wax ka badan hal nooc oo fayl ah. Haddii ld- gaaga loo qaabeeyey sidan, waxaad isticmaali kartaa xulashada -b ee lagu tilmaamayo qaabka ikhtiyaariga ah ee faylasha qalabka wax lagu soo galo oo raacaya khadadkan xagasha taliska. Xitaa marka ld loo qaabeeyo si loogu taageero qaabab kale duwan, badanaa uma baahnid inaad tan sheegto, sida ld waa in lagu qiyaasaa inuu ku filan yahay qaabka qaabka ugu habboon ee mashiinka kasta. qaab-ku-soo-galka waa qaab xarafeed, magaca nooc gaar ah oo ay taageerto maktabadaha BFD. (Waxaad ku qori kartaa qaababka ikhtiyaari ee ikhtiyaari ah leh objdump -i .)

Waxaa laga yaabaa inaad rabto inaad isticmaasho ikhtiyaarkan haddii aad isku xirayso feylasha qaab aan caadi aheyn. Waxa kale oo aad isticmaali kartaa -b si aad u bedesho qaababka si cad (marka isku xirnaanta faylka sheyga ee noocyo kala duwan), iyada oo ay ku jiraan qaab- isbarbar -qaabeyn horudhac ah koox kasta oo walxo shay oo qaab gaar ah.

Habka ugu haboon waxaa laga soo qaataa variable "GNUTARGET".

Waxa kale oo aad ku qeexi kartaa qaabka qaabka qoraalka, iyadoo la adeegsanayo amarka "TARGET";

-c MRI-commandfile

--mri-script = MRI-commandfile

Isku-duwaha xiriiriyeyaasha MRI, ee ladagaliyo faylasha qoraalka ah ee ku qoran luqad kale oo xaddidan oo xaddidan, oo lagu qeexay qaybta Faylka Qeybta Dhexe ee La-Dhaqanka MRI ee Dukumentiyada GNU ld. Ku billow faylasha qoraalka MRI leh ikhtiyaarka -c ; Isticmaal-doorasho -T in ay la socoto qoraallada isku xiraha ee ku qoran luuqadda guud ee ld . Haddii MRI-cmdfile uusan jirin, Ld waxay u muuqataa in ay ku jirto liiska ay ku qeexeen xulashooyinka -L-da .

-d

-dc

-dp

Saddexda doorashooyinkan waa u dhigma; Noocyo kala duwan ayaa lagu taageeraa la-qabsiga xiriiriyayaasha kale. Waxay meel u qoondeeyaan calaamadaha caamka ah xitaa haddii faylka la soo saari karo ee la soo celin karo (oo leh -r ). Qodobka qoraalka "FORCE_COMMON_ALLOCATION" wuxuu leeyahay saameyn isku mid ah.

-gal gal

- geyn = gal

Isticmaal gelitaanka calaamad muujinaysa inaad bilowdo fulinta barnaamijkaaga, halkii aad ka geli laheyd meesha lagugu soo galo. Haddii aysan jirin calaamad magaca lagu soo galo , xiriiriyaha ayaa isku dayi doona inuu galo lambarka, oo u adeegsado cinwaanka galitaanka (lambarka waxaa lagu tarjumi doonaa saldhig 10; waxaad isticmaali kartaa hogaaminta 0x ee saldhig 16, ama 0 ee saldhiga 8).

-E

- Isku-dhafid-firfircooni

Marka la abuuro fulin ku-meel-gaar ah, ku dar dhamaan calaamadaha miiska calaamadaha. Miiska calaamadaha firfircooni waa calaamadaha loo yaqaan "calaamadaha" kuwaas oo ka muuqda walxaha firfircoon wakhtiga ay socdaan.

Haddii aadan isticmaalin doorashadan, miiska calaamadda firfircoon wuxuu caadi ahaan ku jiraa oo kaliya calaamadaha lagu tilmaamayo shay amar ah oo ku xusan xiriirka.

Haddii aad isticmaasho "dlopen" si aad uhesho walxo firfircoon oo u baahan in dib loogu celiyo calaamadaha lagu qeexay barnaamijka, halkii laga heli lahaa waxyaabo kale oo firfircooni ah, ka dibna waxaad u baahan doontaa inaad isticmaasho doorashadan marka isku xirnaanta barnaamijka lafteeda.

Waxaad sidoo kale isticmaali kartaa nuqulka version si loo xakameeyo calaamadaha loo baahan yahay in lagu daro miiska calaamadaha firfircooni ah haddii qaabka wax soo saaruhu uu taageerayo. Fiiri sharraxaadda - qormo-script-script @ ref {VERSION}.

-EB

Iskuday walxaha waaweyn ee dabiiciga ah. Tani waxay saameysaa qaabka ka-soo-saarka caadiga ah.

-Ardayda

Iskuday walxaha yar yar. Tani waxay saameysaa qaabka ka-soo-saarka caadiga ah.

-f

- magaca yaryar

Marka la abuurayo shay la wadaagayo ELF, u diyaari gudaha DT_AUXILIARY gudaha magaca loo cayimay. Tani waxay sheegaysaa xidhiidhiyaha firfircoon ee miiska astaamaha ee shayga la wadaago waa in loo isticmaalo sida sifududo qalab ah oo ku yaal miiska calaamadda magac shay la wadaago.

Haddii aad mar dambe xiriiriso barnaamijka ka soo horjeeda shaashadan, markaa, markaad barnaamijka maamusho, xiriiriyaha firfircoon wuxuu arki doonaa goobta DT_AUXILIARY. Haddii xidhiidhiyaha firfircooni uu xalliyo calaamado kasta oo ka yimaada walxaha filterka, waxay marka hore hubin doontaa in ay jirto qeexitaan magac magac la wadaago. Haddii ay jirto mid, waxaa loo isticmaali doonaa halkii lagu qeexi lahaa walxaha filterka. Magaca walxaha la wadaago uma baahna inuu jiro. Sidaa awgeed magaca shayga la wadaago waxaa loo isticmaali karaa in la bixiyo hannaan kale oo gaar ah, laga yaabo inay ka hortagto ama waxqabadka mashiinka gaar ah.

Doorashadan waxaa laga yaabaa in lagu qeexo in ka badan hal mar. Diiwaanka DT_AUXILIARY waxaa loo abuuri doonaa sida ay uga muuqdaan khadka taleefanka.

Magaca F

- Magaca fiilada

Marka la abuurayo shay la wadaagayo ELF, u diyaari gudaha DT_FILTER gudaha magaca la cayimay. Tani waxay sheegaysaa xidhiidhiyaha firfircoon ee miiska astaamaha shayga la wadaago ee la abuuray waa in loo isticmaalo sida shaashadda miiska calaamadda magac shay la wadaago.

Haddii aad mar dambe xiriiriso barnaamijka ka soo horjeeda shaashadan, ka dib, markaad barnaamijka maamusho, xiriiriyaha firfircoon wuxuu arki doonaa DT_FILTER field. Xiriiriyaha firfircoon wuxuu xallin doonaa calaamadaha marka la eegayo miiska calaamadda shayga faylka sida caadiga ah, laakiin waxay dhab ahaantii ku xirnaan doontaa qeexitaannada laga helay magaca shayga la wadaago. Marka walxaha feylka loo isticmaali karo si loo doorto qayb ka mid ah calaamadaha ay bixiyaan magaca sheyga.

Qaar ka mid ah xidhiidhiyeyaasha waayeelka ah waxay isticmaalaan -F ikhtiyaarka oo dhan qalab isu-ururinta si ay u qeexaan habka shayga-faylka loogu talagalay feylalaha walxaha iyo soo-saarka labadaba. Xiriiriyaha GNU wuxuu isticmaalaa habab kale oo loogu talagalay ujeedada: -b , --format , --oformat , amarka "TARGET" ee qoraallada isku xirka, iyo variable "GNUTARGET". Xiriirka GNU ayaa iska indha-tiri doona -F doorasho markaan abuurin shay la wadaago ELF.

-fin magaca

Marka aad abuurayso qalabka ELF oo la wadaago ama la wadaago, wac NAME marka sheyga la fulin karo ama la wadaago aan la rakibin, adoo dejinaya DT_FINI cinwaanka shaqada. Marka la eego, xiriiriyaha wuxuu isticmaalaa "_fini" oo ah ficilka la waco.

-g

Diidmo. Waxaa loo bixiyaa qalabyada kale.

Qiimaha- G

- gawaarida = qiimaha

Samee xajmiga ugu sarreeya ee walxaha si loo xoojiyo isticmaalka Diiwaanka GP-ga illaa cabbirka . Tani waxay waxtar u leedahay qaababka faylka sheyga ah sida MIPS ECOFF oo gacan ka geysata gelinta walxaha waaweyn iyo kuwa yaryar qaybo kala duwan. Tani waa la iska indhatiray qaabab kale oo faylka sheyga ah.

Magaca

-soname = magac

Marka la abuurayo shay la wadaagayo ELF, u diyaari gudaha DT_SONAME gudaha magaca loo cayimay. Marka la fulin karo xiriir la leh shay la wadaago oo leh DT_SONAME field, ka dib marka marka la fulin karo waxaa la isku dayayaa in lagu dhajiyo shay la wadaago oo ku xusan DT_SONAME bedelka halkii loo adeegsan lahaa magaca faylka la siiyay xidhiidhiyaha.

-i

Samee xiriir isku xiga (isku mid ah ikhtiyaari- r ).

Magaca

Marka la abuurayo sheyga la fulin karo ama la wadaago ee ELF, wac NAME marka sheyga la fulin karo ama la wadaagayo, adoo dejinaya DT_INIT cinwaanka shaqada. Marka la eego, xiriiriyaha wuxuu isticmaalaa "_init" oo ah ficilka la wacayo.

-l archive

- buugag = aruur

Ku dar aruuri faylka archive -ka liiska faylasha si aad isugu xirto. Doorashadan waxaa loo isticmaali karaa marxalad kasta. Ld waxay raadin doonaan liistada jadwalka ee ku saabsan dhacdooyinka "libarchive.a" ee loogu talagalay sawir kasta oo la cayimay.

Nidaamyada taageera maktabadaha la wadaago, ld waxay kaloo raadin karaan maktabadaha leh ballaarin aan ahayn ".a". Gaar ahaan, nidaamka ELF iyo SunOS, ld waxay raadin doonaan buugaagta maktabada oo ku dheereynaya ".so" ka hor intaadan raadin mid ka mid ah "extension". Marka la gaaro shirarka, ".so" kordhinta waxay muujinaysaa maktabadda wadaag ah.

Xiriiriyaha ayaa raadin doona archive kaliya hal mar, halka uu ku yaal halka uu ku yaal khadka taliska. Haddii aruurtu qeexdo calaamad aan loo qoondeeyn shay ka mid ah oo u muuqday ka hor arinta khadka taliska, xiriiriyaha waxaa ku jiri doona feylka ku habboon ee laga soo qaado archive. Si kastaba ha ahaatee, calaamad aan la garanayn ee sheyga soo muuqda ka dib khadka taleefanka ma keenayo xiriiriyaha inuu mar kale raadiyo archive.

Fiiri - - xulashada habka aad ku adkeyn karto xidhiidhiyaha si aad u raadiso kaydka dhowr jeer.

Waxaad ku qori kartaa isla taariikhda dhowr jeer khadka taliska.

Noockan baadhista ah ee buuggani waa heer loogu talagalay xiriiriyayaasha Unix. Si kastaba ha ahaatee, haddii aad isticmaaleysid lA onix, ogow in ay ka duwan tahay habdhaqanka AIX linker.

-L raaddir

- jismi-waddo = raadin

Ku dar raadinta wadiiqada liiska wadooyinka ay raadin doonaan maktabadaha arjiyada iyo qoraallada ld . Waxaad isticmaali kartaa doorashadan xili kasta. Tusaha waxaa lagu baarayaa habka ay ku qoran yihiin khadka taliska. Tilmaamyada lagu cayimay khadka taliska ayaa la raadiyaa kahor intaan la helin wicitaanada caadiga ah. Dhammaan xulashooyinka -L waxay khuseeyaan dhammaan fursadaha -l , iyada oo aan loo eegin amarka lagu kala doorto.

Haddii searchdirgu bilaabmayo "=", ka dibna "=" waxaa lagu badalayaa horgarka sysroot , waddo lagu qeexay markii isku xidhaha la isku habeeyey.

Jidadka dariiqyada la raadinayo (oo aan lagu sheegin -L ) waxay ku xiran tahay nooca emulation ld isticmaalayo, iyo xaaladaha qaarkood sidoo kale ku saabsan sida loo qaabeeyey.

Waddooyinka waxaa sidoo kale lagu cadeyn karaa qoraalka xidhiidhka leh "SEARCH_DIR". Raadinta ayaa lagu qeexay habkan ayaa la raadiyaa marka la eego barta shabakadda isku xidhiidhiyaha ee ka muuqata xariiqda taliska.

-maalinta

Adkee xargaha isku xiraha. Waxaad ku qori kartaa waxyaabaha la heli karo ee la kala dooran karo - ama doorashooyinka -V .

Haddii aan la isticmaalin xulashada -mmartiga , shucuurta waxaa laga qaadaa variable "LIDEMULATION" variable, haddii taas lagu qeexay.

Haddii kale, qiimaha caadiga ah waxay ku xiran tahay sida xiriiriyaha loo qaabeeyey.

-M

- khariidadda-map

Daabacida khariidada si aad u hesho sheyga caadiga ah. Khariidadda xiriirka waxay bixisaa macluumaad ku saabsan xiriirka, oo ay ku jiraan kuwa soo socda:

*

Meelaha feylalka shaybaarka ah iyo calaamadaha lagu duubo xasuusta.

*

Sidee calaamadaha caamka ah loo qoondeeyey.

*

Dhamaan xubnaha qaybta kuxiran ee ku jira xiriirka, iyada oo la xusay calaamadda taasoo keentay in xubinta golaha la keeno.

-n

- aanmagust

Demi jadwalka bogga qaybaha, oo calaamadee wax soo saarka "NMAGIC" haddii ay macquul tahay.

-N

--Magaajis

Samee qoraalka iyo qaybaha xogta si loo akhriyo oo loo qoro. Sidoo kale, bogga ha isku dhejin qaybta macluumaadka, iyo joojin xiriirinta laybareeriyada la wadaago. Haddii qaabka wax soo saaruhu uu taageersan yahay tirooyinka sixirka ee Unix, calaamadee soo saar "OMAGIC".

- waa-omagic

Doorashadani waxay ka dhigaysaa badi saameynta doorarka-N . Waxay qeexaysaa qaybta qoraalka ah ee la aqriyo-oo kaliya, waxayna udub dhexaadisaa xogta si ay u noqoto bog-isku xiran. Ogsoonow - ikhtiyaarkan ma awoodo inuu xiriir la yeesho laybareeriyada la wadaago. Isticmaal -Bininamic tan arrintan.

soo saarka

--output = soo saarid

Isticmaal soo saaraha adigoo isticmaalaya magaca barnaamijka uu soo saaro ld ; haddii doorashadan aan la cayimin, magaca a.out waxaa loo isticmaalaa default. Qodobka qoraalka "OUTPUT" wuxuu sidoo kale sheegi karaa magaca feylka saaran.

- Heerka sare

Haddii heerkuna yahay qiimaha lambarrada ka weyn eberka ld waxay wax ka tareysaa soo saaridda. Tani waxay qaadan kartaa si aad u dheer oo sidaas awgeed waxaa laga yaabaa in kaliya loo ogolaan karo ikhtiyaarka ugu dambeeya.

-q

- Dib-u-celin

Ka tag qaybaha dib-u-dejinta iyo waxyaabaha ku jira cilladaha si buuxda loo xiri karo. Falanqaynta xiriirka dambe iyo qalabka wax-ka-qabashada ayaa u baahan kara macluumaadkan si loo fuliyo isbedelka saxda ah ee fulinta. Tani waxay keenaysaa fuleyaal ballaaran.

Doorashadan waxaa hadda lagu taageeraa oo keliya taageerada ELF.

-r

- lagala hadli karo

Abuurso soo-saarka dib-u-kicinta --- ie, soo saaro faylka wax soo saarka kaas oo laftiisa u adeegsan karo ld . Tan waxaa badanaa la yiraahdaa isku xirka qayb ahaan . Iyada oo ay saameyn ku yeelato, deegaannada taageera nambarada tirada nambarka Unix, ikhtiyaarkan waxay sidoo kale soo saartaa lambarka khadka xogta ee "OMAGIC". Haddii doorashadan aan la cayimin, waxaa la soo saaraa faylal buuxa. Marka lagu xiro barnaamijyada C ++, ikhtiyaarkan ma xallin doono tixraacyada loo-dhisi karo; si aad taas u samayso, isticmaal -Mr .

Marka faylka faylka uusan haysan qaab la mid ah faylka la soo saaro, isku-xidhka qayb ahaan ayaa la taageerayaa oo keliya haddii faylka faylkaasi aanu ku jirin wax guuritaan ah. Noocyada kala duwan ee wax soo saarka waxay yeelan karaan xaddidaadyo dheeraad ah; Tusaale ahaan qaababyada "a.out" -ka ka mid ah ma taageeri karaan xiriirka qaybta feylasha qaabab kale.

Doorashadani waxay la mid tahay sida -i .

-R filename

- - calaamadaha = filename

Akhri magacyada astaamaha iyo cinwaanada laga soo qaado filename , laakiin ha u guurin ama ku dar wax soo saar. Tani waxay u ogolaaneysaa feylkaaga soo saarista in uu u calaamadsan yahay meelaha xasuusta ee lagu xusay barnaamijyada kale. Waxaad isticmaali kartaa doorashadan wax ka badan hal mar.

Wixii ku habboon xiriirka kale ee xiriiriyayaasha ELF, haddii R-R doorashadu ay raacdo magac magac, halkii magac magaciisu yahay, waxaa loola dhaqmaa sidii doorasho ah.

-s

- Dhammaanba

U sheeg dhamaan macluumaadka calaamadda faylka soo saarista.

-S

- qalab-debug

Omit warbixinta calaamadda debugger (laakiin aan ahayn dhammaan calaamadaha) laga soo bilaabo feylalka soo saarista.

-t

- Feejignaan

Waxaad daabacdaa magacyada faylasha faylasha sida ld hababkaas .

-Waxbarasho

--script = scriptfile

Isticmaal fariin qoraal ah sida script of linker. Qoraalkani wuxuu bedelayaa qoraalka ld ee xiriiriyaha (halkii aad ku dari laheyd), sidaas commandfile waa in ay sheegaan wax kasta oo lagama maarmaanka ah si loo sharaxo faylka la soo saaro. Haddii fariin qoraal ah uusan ka jirin diiwaanka hadda, "ld" waxay u eegtaa buugyada ku qeexan wixii ka horeeyay -L ee ka hor. Faa'iidooyin badan -Tiyada ayaa isku uruursan.

-u calaamade

- dayactirid = calaamad

Calaamad xoogan oo lagu galo feylka wax soo saarka sida calaamad aan la garanayn. Tani waxay sameyn kartaa, tusaale ahaan, waxay kicineysaa isku-xirnaanta qalab dheeraad ah oo ka imanaya maktabadaha caadiga ah. -waxaa lagu soo celin karaa doodo doorasho oo kala duwan si ay u galaan calaamado dheeraad ah oo aan la garanayn. Doorashadan waxay u dhigantaa amarka "EXTERN" ee amar qoraal ah.

-Ur

Wax kasta oo aan ka ahayn barnaamijyada C ++, doorashadan waxay u dhigantaa -r : waxay soo saartaa soo-saarka dib-u-kicinta --- ie, faylka la soo saaro oo u noqon karta ld . Marka lagu xiro barnaamijyada C ++, -Ur ayaa xalinaya tixraacyada dhismayaasha, marka loo eego -r . Uma shaqeyneyso isticmaalka -War ku yaal faylasha kuwaas oo iyagu laftoodu lala xidhiidhin -Ur ; marka miis-dhisaha la dhisay, laguma dari karo. Isticmaal -Jar oo keliya oo ah qaybta ugu danbaysa, iyo -r ee kuwa kale.

--unique [= QAYBTA ]

Waxay abuurtaa qayb ka mid ah soo saarida qaybta qayb kasta oo wax ku-ool ah ee ku habboon QAYBTA , ama haddii dood-xaanshiyaha ikhtiyaariga ah ee SECC-ka ee maqan yahay, qaybta qaybta is-galka. Qaybta agoonta waa mid aan si gaar ah loogu sheegin warqad isku xidhaya. Waxaad isticmaali kartaa ikhtiyaarkan dhowr jeer khadka taliska; Waxay ka hortagtaa isku midka ah ee qaybaha wax ku biirinta oo leh magac isku mid ah, qaybaha wax soo saarka qaybta soo saarista ee ku yaala warqad isku xira.

-v

- Codsi

-V

Muuji lambarka nambarka ld . Doorashada -V-da waxay sidoo kale liis- gareyso waxyaalihii la taageeray.

-x

- Dood-dhamaan

Tirtir dhammaan calaamadaha maxaliga ah.

-X

-discard-dadka deegaanka

Tirtir dhammaan calaamadaha maxaliga ah ee ku-meel-gaarka ah. Inta badan bartilmaameedyada, tani waa dhammaan calaamadaha maxaliga ah ee magacyadooda ay ka bilaabmaan L.

calaamad u ah

- xariiqa-calaamad = astaanta

Waxaad daabacdaa magaca feyl kasta oo xidhiidhsan oo calaamad muujinaya . Doorashadan waxaa la siin karaa waqti kasta. Nidaamyo badan ayaa lagama maarmaan u ah in la isku daro hoosta.

Doorashadani waa mid faa'iido leh markaad leedahay calaamad aan la garanayn oo ku xiran xiriirkaaga laakiin ma garanaysid meesha tixraaca ay ka timid.

-Waa jidka

Ku dar waddo raadinta jidka tooska ah ee maktabadda. Doorashadani waxay u taagan tahay masiibada Solaris.

-qarin muhiim ah

Qodobbada muhiimka ah ee la aqoonsan yahay ayaa ah "initfirst", "interflirst", "loadfltr", "nodefaultlib", "nodelete", "nodelopen", "nodump", "nodump", "hada", "origin", "combreloc", "nocombreloc" iyo "nocopyreloc ". Qodobbada kale ee muhiimka ah ayaa la iska indhatiray u dhigma Solaris. "initfirst" wuxuu tilmaamayaa shayga in la bilaabi doono marka ugu horeysa runtime ka hor walxaha kale. "ujeedo" waxa lagu tilmaamaa sheyga in miiska calaamaduhu ay isku dhexgalaan ka hor intaan dhamaan calaamadaha, laakiin fulinta hoose ee "loadfltr" waxay tilmaamaysaa sheyga in filitaanku si dhakhso ah looga shaqeeyo runtime "nodefaultlib" wuxuu tilmaamayaa shayga raadinta walxaha ku tiirsan shayga wax kasto raadinta maktabada caadiga ah. "Nodelete" ayaa tilmaamaya sheyga inaan lagu dhejin karin runtime. "nodlopen" wuxuu tilmaamayaa walxaha aan heli karin "dlopen". "Nodump" waxay tilmaamaysaa sheyga aan lagu daadin karin "dldump". "iminka" ayaa shayga ku calaamadeynaya qalabka aan caajiska ahayn ee "cagaha" wuxuu calaamadeeyaa walxaha uu ku jiro $ ORIGIN. "defs" waxay diidaan calaamado aan la garanaynin. "Muldefs" waxay oggolaanaysaa qeexitaano kala duwan. "combreloc" wuxuu isku daraa qaybo badan oo dib u dajin ah waxayna u dhigtaa iyaga si ay u sameeyaan raadinta calaamadaha firfircoon ee suurtogalka ah.

"nocombreloc" wuxuu khalkhal galiyaa qaybaha kala duwan ee isku dhafan. "nocopyreloc" wuxuu joojiyaa soosaarka koobiga nuqulada.

- ( Dukumintiyada -)

- Diiwaanka kooxda-koox-koox-koox

Diiwaanada waa inay ahaadaan liis faylasha kaydka ah . Waxaa laga yaabaa inay yihiin midkood magac ama feyl faylal ah, ama doorashooyin -l .

Diiwaanada la cayimay waxaa loo raadiyaa si isdabajoog ah illaa iyo inta aan la soo saarin tixraacyo aan qeexaneyn. Caadi ahaan, archive waxaa la baadhi karaa hal mar oo keliya amarka ay ku qoran tahay khadka taliska. Haddii calaamad ku jirta arjigaan loo baahan yahay si loo xalliyo calaamad aan la garanayn oo ku xusan sheyga ku yaal ari goor dambe oo ku yaal khadka taliska, xiriiriyaha ma awoodi doono inuu xalliyo tixraaca. Marka la isku dubbo-dhigi karo kaydka, dhammaantood waa la baaraa marar badan illaa dhammaan tixraacyada suurtogalka ah ee la xalinayo.

Isticmaalka ikhtiyaarkan waxay leedahay kharashka waxqabad ee muhiimka ah Waxaa ugu wanaagsan in la isticmaalo oo keliya marka ay jiraan tixraacyo wareeg ah oo aan loo baahnayn oo u dhexeeya laba ama dhowr aruurood.

- La-qabsasho-aan-la-gaaban-is-gawaarida

- aqbali-aqbala-is-faham-isdhaafsi

Wuxuu u sheegaa xiriiriyaha inuu aqbalo faylalka la geliyay oo aan dhismin dhismaha. Fikradda waa in isticmaalaha uu yaqaano waxa ay qabanayaan iyo si ula kac ah u doonayaan in uu ku xiro faylasha aan la garaneynin. Tani waxay ahayd habdhaqanka asaasiga ah ee isku xidhaha, ka hor inta aan la sii deyn 2.14. Habdhaqanka aasaasiga ah ee sii deynta 2.14 ka hor waa in la diido faylasha noocaas oo kale ah, sidaas awgeed doorashooyinka aan la garaneyn ee la fahmi karo ayaa loo soo celiyay si dib loogu soo celiyo dabeecaddii hore.

-qodbaan muhiim ah

Doorashadan waxaa la iska indha-tirayaa bixinta SunOS .

-Binynamic

-di

-call_shared

Xiriirinta laybareeriyada firfircoon. Tani waa mid macne leh oo keliya marka la eego mashaariicda laybereeriyada la wadaago . Doorashadani caadi ahaan waa mid ka mid ah mabaadi'da asaasiga ah. Noocyada kala duwan ee ikhtiyaarkan ayaa loogu talagalay waafaqsanaanta nidaamyada kala duwan. Waxaad isticmaali kartaa ikhtiyaarkan dhowr jeer khadka taleefanka: wuxuu saameeyaa raadinta laybereeriga -l doorashooyinka soo socda.

Koox-koox

Sameeyska "DF_1_GROUP" calanka "DT_FLAGS_1" ee qaybta firfircoon. Tani waxay keenaysaa xiriiriye runtime ah in uu xakameynayo raadinta shaykan iyo ku-tiirsanaanta ay tahay in lagu qabto gudaha kooxda dhexdeeda. - Aan la garanaynin waa la qeexay. Doorashadani waxay waxtar u leedahay baraha ELF oo taageera maktabadaha la wadaago .

-Bstatic

-dn

-non_shared

-static

Ha isku xirin maktabadaha la wadaago. Tani waa mid macne leh oo keliya marka la eego mashaariicda laybereeriyada la wadaago. Noocyada kala duwan ee ikhtiyaarkan ayaa loogu talagalay waafaqsanaanta nidaamyada kala duwan. Waxaad isticmaali kartaa ikhtiyaarkan dhowr jeer khadka taleefanka: wuxuu saameeyaa raadinta laybereeriga -l doorashooyinka soo socda.

-Bimymbolic

Marka la abuuro maktabad la wadaago, tixraaca calaamadaha caalamiga ah ee qeexidda gudaha maktabadda la wadaago, haddii ay jiraan. Caadi ahaan, waxaa suurtogal ah in barnaamijka lala xiriiriyo maktabad la wadaago si uu u dhaafo qeexitaanka maktabadda la wadaago. Doorashadani waxay waxtar u leedahay ELFplatforms oo taageera maktabadaha la wadaago.

- Qayb-qaybood

- qaybta-eeg-qaybaha

Weydiiso xiriiriyaha inuusan hubin cinwaanada qaybaha ka dib markii loo xilsaaray in ay arkaan haddii ay jiraan iskudhacyo. Caadi ahaan xidhiidhiyaha ayaa sameyn doona jeeggan, haddii ay ka soo baxdo wixii khasaare ah waxay keeni doontaa fariimo qaldan oo ku habboon. Xiriiriyaha ayaa ogaanaya, waxana uu ka dhigayaa lacagta kaalmada qaybaha gadaashiisa. Habdhaqanka asalka ah ayaa dib loo soo celin karaa iyadoo la adeegsanayo bedelka taliska hingka - qaybta .

-cref

Soo saar miiska looxaanta. Haddii faylka khariidadaha isku xiraha la abuuro, miiska tixraaca iskutallaabta ah ayaa lagu daabacaa faylka khariidada. Haddii kale, waxaa lagu daabacaa sheyga caadiga ah.

Habka miiska wuxuu si ula kac ah u fudud yahay, si ay si sahlan u shaqeyn karto by script haddii loo baahdo. Calaamadaha ayaa la daabacaa, oo loo kala soocaa magaca. Calaamad kasta, liiska magacyada faylasha ayaa la bixiyaa. Haddii calaamada la cayimay, faylka ugu horeeya ee liiska ku qoran waa meesha lagu qeexay. Faylasha haray waxay ku qoran yihiin calaamadaha.

- aan-qeexin-caadi

Doorashadan waxay joojineysaa cinwaanada cinwaanada calaamadaha caadiga ah. Amarka qoraalka "INHIBIT_COMMON_ALLOCATION" wuxuu leeyahay saameyn isku mid ah.

Xulashada -waxaanu u ogolaaneynaa inuu go'aamiyo go'aanka lagu magacaabo cinwaanada Calaamadaha caadiga ah ee xulashada nooca faylka soo saarida; haddii kale waraaqo noocyo kale ah oo aan dib loo fasaxin, kuwaas oo cinwaanno u ah calaamadaha caadiga ah. Isticmaalka - aan-qeex-caadi ah waxay u oggolaanaysaa calaamadaha guud ee laga soo qaatay maktabadda la wadaago in lagu qoro cinwaannada kaliya ee barnaamijka weyn. Tani waxay meesha ka saari doontaa meelaha aan la isticmaalin ee maktabadda la wadaago, waxayna sidoo kale ka hortageysaa wixii jahawareer ah ee suurtogalka ah ee xalinta khaladka khaldan marka ay jiraan foormooyin badan oo firfircoon oo leh jidad raadin khaas ah oo loogu talagalay xalinta calaamadaha runtime.

- calaamadda daaqada = muujinta

Abuur calaamad caalami ah oo ku jirta faylka la soo saaro, oo ay ku jirto cinwaanka asalka ah ee lagu soo bandhigo muujinta . Waxaad isticmaali kartaa doorashadan marar badan sida lagama maarmaanka u ah si aad u qeexdo calaamado badan oo ku jira khadadka taliska. Nooca xaddidan ee xisaabinta waxaa lagu taageeraa ereyga macnaha ereygan: waxaad ku siin kartaa joogto ah shaashad ama magac calaamad ah, ama isticmaal "+" iyo "-" si loogu daro ama loo kala gooyo durugsanaanta ama calaamadaha. Haddii aad u baahatid sharaxaad dheeraad ah, waxaad ka fakartaa inaad isticmaasho luuqada taliska ee isku-xiraha qoraalka. Ogsoonow: waa inaysan jirin meel cad oo u dhexaysa calaamad , calaamadda isla'egta (' = = '), iyo muujinta .

- Doontey [= style ]

- ma demo

Xulashooyinkani waxay xakameynayaan in ay gaabinayaan magacyada calaamadaha fariimaha qaldan iyo wax soo saarka kale. Marka isku xiraha loo sheego in la gooyo, waxay isku deyeysaa in ay soo bandhigto magacyada astaamaha qaab wax la aqrali karo: waxay ka dhigtaa hogaaminta horukaca haddii ay u isticmaalaan habka faylka sheyga, waxayna u beddelaan magaca C ++ ee calaamadaha calaamadaha lagu magacaabo macaamiisha la akhrisan karo. Noocyo kala duwan ayaa leh qaabab kala duwan. Argaggixisada qaababka kala duwan ee loo kala dooran karo ayaa loo isticmaali karaa si loo doorto qaab habboon oo habboon oo loogu talagalay xisaabtaada. Xiriiriyaha ayaa googoynaya by default haddii bedelka deegaanka COLLECT_NO_DEMANGLE ayaa la dhigay. Doorashooyinkan waxaa loo isticmaali karaa in lagu tirtiro bedelka.

- faylka la isku xiro

Waxaad qortaa magaca xidhiidhiyaha firfircoon. Tani waa mid macne leh marka la soo saaro fulinta fulinta ELF-ga ah. Xiriiriyaha firfircoon ee caadiga ah ayaa sida caadiga ah sax ah; Ha isticmaalin tan haddii aadan ogeyn waxaad sameyneyso.

- meelo kala duwan

Doorashadani waxay waxtar u leedahay marka la isku xiro dariiqa PIC ee loo yaqaan 'PIC', kaas oo ka dhashay ikhtiyaarka-loo yaqaan 'pixels-pic option' oo loo yaqaan 'GNU compiler and assembler'. Waxay keenaysaa isku xiraha si loo abuuro miis kaas oo loo isticmaali karo runtime si uu u dejiyo macluumaad kasta oo si rasmi ah loo asteeyey inuu muujiyo qiimaha. Fiiri lambarka baaritaanka imtixaanka / baaritaanka faahfaahinta.

- digniin ah

U diyaari dhammaan digniinaha sida qalad .

- Xoog-saarista-dhammaadka

Hubi in faylka la soo saarey uu leeyahay sir .exe.

Haddii si guul leh loo dhiso faylka la soo saaro oo si guul leh loo dhisay ma laha " exe " ama " .dll " sirta, ikhtiyaarkan wuxuu xoojinayaa xidhiidhiyaha si loo daabaco feylka la soo saaro mid ka mid ah magaca isku midka ah ".exe". Doorashadan ayaa faa'iido leh marka la isticmaalayo maktabyada Unix aan la ogoleyn ee ku yaala Microsoft Windows host, maaddaama qaar ka mid ah noocyada Windows aysan ku shaqeyn doonin sawir haddii aysan ku dhicin ".exe".

- waa-gc-qaybaha

--gc-qaybaha

Diyaarso Qashinka Qashinka ee qaybaha aan la isticmaalin. Waxaa la iska indhatiray bartilmaameedyada aan taageerayn doorashadan. Doorashadani ma'aha mid la mid ah -r , mana loo adeegsanayo isku-xirnaanta firfircoon. Habdhaqanka asaasiga ah (oo aan la fulineynin ururinta qashinka ) waxaa lagu soo celin karaa iyadoo la tilmaamayo --no-gc-qaybaha khadka taliska.

--I caawi

Daabac soo koobida xulashooyinka taliska ee ku saabsan sheyga caadiga ah iyo bixitaanka.

- caawinaad

Daabac soo koobida dhammaan xulashooyinka gaarka ah ee la beegsanayo ee ku saabsan soo saarida caadiga ah iyo bixitaanka.

-Ku soo dhowow mapfile

Sawir khariidad kuxiran khariidadda mapfile . Eeg sharaxaadda xulashada -M , kor.

- aan-xasuusto

Sida caadiga ah waxay u fiicnaanaysaa xawaaraha isticmaalka xasuusta iyadoo la xaddidayo jadwalka lambarrada faylalka xogta ee xasuusta. Doorashadani waxay sheegaysaa ld inay bedelayso isticmaalka xasuusta, iyadoo dib loo akhriyo jadwalka sirta ah sida hadaba loo baahan yahay. Tani waxaa laga yaabaa in loo baahdo haddii ld uu ka baxo meel xusuusta ah iyadoo la xiriirinayo fulin ballaaran.

- lama garanayo

-saxaafka

Caadi ahaan marka la samaynayo maktabad aan la wadaagin, calaamado aan la garanayn ayaa loo oggol yahay oo u baxaya si loo xalliyo khariidadda runtime. Doorashooyinkani waxay diidaan astaamaha aan caqli-gal ahayn.

- u-dhigno-badan oo qeexaya

-z muldefs

Caadi ahaan marka calaamada loo cayimay marar badan, xiriiriyaha ayaa soo wargelin doona qalad halis ah. Xulashooyinkani waxay ogolaanayaan qeexitaano badan iyo qeexitaanka koowaad ee la isticmaali doono.

- -shabaab-shlib-aan caddayn

U ogolow calaamadaha aan la garanayn ee walxaha la wadaago xitaa marka - aan-aan-caddeeyneynin. Natiijada saafiga ah waxay noqon doontaa in calaamadaha aan la garanayn ee walxaha caadiga ah ay weli kicinayaan qalad, laakiin calaamado aan qarsoodi ahayn ee walxaha la wadaago waa la iska indhatirayaa. Hirgelinta nuucyada aan_undefined waxay u malaynaysaa in xiriiriyaha runtime uu ku dhufan doono calaamado aan la garanayn. Si kastaba ha ahaatee waxaa jira ugu yaraan hal nidaam (BeOS) halka calaamadaha aan qarsoodi ahayn ee maktabadaha la wadaago ay caadi yihiin maaddaama farsamadu ay ku dhejinayaan wakhtigooda si ay u doortaan shaqadooda ugu haboon dhismaha hadda jira. IE wuxuu si habsami u doortaa merset wax ku ool ah. Sida cad waxay sidoo kale caadi u tahay maktabadaha HPPA wadaagaan inay leeyihiin calaamado aan la garanayn.

- aan-undefined-version

Caadi ahaan marka calaamad uu leeyahay nooc aan la garanayn, xidhiidhiyaha ayaa iska indhatiraya. Doorashadani waxay diidi kartaa calaamadaha astaamo aan qarsoodi ahayn oo khalad ah ayaa loo soo saarayaa.

- ma-digniin-is-qabqabasho

Sida caadiga ah ld waxay ku siin doontaa qalad haddii aad isku daydid inaad isku xirto faylasha faylalka ee aan la raacin sabab qaar, sababtoo ah waxaa loo soo diyaariyay habab kala duwan ama ujeedooyin kala duwan. Doorashadani waxay sheegaysaa ld in ay tahay inay si aamusan u ogolaato qaladaadahan suurtagalka ah Doorashadan waa in loo adeegsadaa oo keliya marka la eego xaalada, marka aad qaadato ficil gaar ah oo hubiya in qaladka isku xirka ahi aan habooneyn.

- ma-dhan-dhan-archive

Daaci saamaynta xulashada - xulafo-archive ah oo loogu talagalay faylasha dambe ee archive.

- isugoojin-fulin

Hayso faylka la soo saaro ee la fulin karo markasta oo weli la adeegsan karo. Caadi ahaan, xiriiriye ma soo saari doono faylka la soo saaro haddii uu la kulmo khaladaad inta lagu jiro geeddi-socodka xidhiidhka; waxay ka baxdaa iyada oo aan la qorin faylka wax soo saar marka uu soo saaro wax qalad ah wax kasta.

-nostdlib

Kaliya raadinta tusmooyinka laybareeriyada si cad oo ku qeexan khadka taliska. Laybareeriyada maktabadda ee lagu qoray qoraallada isku xiraha (oo ay ku jiraan qoraallada isku xidhiidhsan ee ku xusan khadka taliska) waa la iska indho tiray.

- qaabaynta qaabka wax soo saarka

Ld ayaa loo qaabeyn karaa si ay u taageeraan wax ka badan hal nooc oo fayl ah. Haddii ld aad u qaabaysan sidan, waxaad isticmaali kartaa ikhtiyaarka -oformat si aad u sheegtid qaabka ikhtiyaar u ah feylka wax soo saaraha. Xitaa marka ld loo qaabeeyo si loogu taageero qaabab kale oo khuseeya, badanaa uma baahnid inaad tan sheegto, sida ld waa in lagu qeexaa si loo soo saaro qaabka caadiga ah ee mashiinka kasta. qaabka wax soo saarka waa qaab qoraal ah, magaca qaab gaar ah oo ay taageerto maktabadaha BFD. (Waxaad ku qori kartaa qaababka ikhtiyaari ee ikhtiyaari ah leh objdump -i .) Amarka qoraalka "OUTPUT_FORMAT" ayaa sidoo kale sheegi kara qaabka la soo saaro, laakiin doorashadan ayaa ka hor istaagi doonta.

-qmagic

Doorashadan waxaa la iska indhatiray u dhiganta Linux.

-Qy

Doorashadan waxaa la iska indhatiray SVR4.

- saarida

Doorasho leh saamayn ku xiran mashiinka. Doorashadan waxaa kaliya oo lagu taageeray dhowr bartilmaameedyo.

Xeeladaha qaarkood, ikhtiyaarka - saarida ayaa sameeya isdhexgalka guud ee caalamka kaas oo noqon kara suurta gal marka khadka xalinaya xalinta barnaamijka, sida habka cinwaanka nasashada iyo soo-dejinta tilmaamaha cusub ee feylka wax soo saaraha.

Meelaha qaar ka mid ah isku-xirnaanta wakhtiyada isku xirnaanta ee caalamiga ah ayaa laga yaabaa in ay ka dhigaan calaamad muujinaysa natiijada ka dhalan karta suurtagalnimada. Tan waxaa loo yaqaan in ay noqoto kiiska Matsushita MN10200 iyo MN10300 qoyska ee ka shaqeeya.

On platforms meesha this aan la taageerin, - fogax waa la aqbalaa, laakiin la iska indho tiray.

- sawir-calaamado-faylka faylka

Ka ilaali kaliya calaamadaha ku qoran faylka faylka , oo la tuuro dhammaan dadka kale. filename waa faylka caadiga ah, oo leh hal calaamad oo magac loogu talagalay. Doorashadan ayaa si gaar ah ugu faa'iideysan karta jawiga (sida VxWorks) halkaas oo muraayad caan ah oo caalami ah si tartiib ah loo ururiyey, si loo xafido xusuusta waqtiga-socodka ah.

- Calaamadaha-calaamadaha-feylku ma tirtiraan calaamado aan qarsoodi lahayn, ama calaamado loo baahan yahay in dib loo dejiyo.

Waxaad kaliya oo sheegi kartaa - calaamad-calaamadaha-faylka hal mar mar qura taliska. Waxay ka badan tahay -s iyo -S .

-rpath dir

Ku dar liisto raadinta maktabadda runtime raadinta runtime. Tan waxaa loo adeegsadaa marka lala xiriirinayo ELFex la xiriirta walxaha la wadaago. Dhammaan doodaha isku-dhafka ah waa la isku- duubay waxaana loo gudbiyey isku-xiraha runtime, kuwaas oo u adeegsanaya inay raadiyaan walxo la wadaago waqtiga runtime. Doorashada -rpath ayaa sidoo kale loo isticmaalaa marka la helo waxyaabaha la wadaago kuwaas oo loo baahan yahay waxyaabaha loo wadaago si cad oo ku jira xiriirka; eeg sharaxaadda xulashada- xulashada. Haddii aan loo adeegsanin marka lala xiriirinayo fulinta "ELF", waxyaabaha ku jira bedelka bay'adda "LD_RUN_PATH" ayaa loo isticmaali doonaa haddii la qeexayo.

Xulashada- doorka waxaa sidoo kale loo isticmaali karaa SunOS. Marka la eego, SunOS, xiriiriyaha ayaa sameyn doona boog gareenta runtime oo ka baxsan dhammaan xulashooyinka -L ee la bixiyo. Haddii doorasho-door ah loo isticmaalo, jidka raadinta runtime waxaa lagu sameyn doonaa si khaas ah iyadoo la adeegsanayo fursadaha -qeybinta , adigoo iska indha-tiraya xulashooyinka -L . Tani waxay noqon kartaa waxtar leh marka la adeegsanayo gcc, kaas oo ku daraya xulashooyin badan -L oo laga yaabo inay ku jiraan faylalka faylalka NFS.

Wixii ku habboon xiriirka kale ee xiriiriyayaasha ELF, haddii R-R doorashadu ay raacdo magac magac, halkii magac magaciisu yahay, waxaa loola dhaqmaa sidii doorasho ah.

-Rp-link link DIR

Marka la isticmaalayo ELF ama SunOS, hal maktabad oo la wadaago ayaa laga yaabaa inay ubaahan tahay mid kale. Tani waxay dhacdaa marka laysku daro "ld -shared" oo ay ku jiraan maktabadda la wadaago sida mid ka mid ah feylasha faylalka.

Marka xiriiriyaha uu la kulmo caynkaas oo kale marka uu sameynayo isku-xir aan la wadaagin, aan isku-xirneyn, wuxuu si toos ah isku dayi doonaa inuu soo saaro maktabadda la wadaago ee loo baahan yahay oo ay ku daraan isku-xidhka, haddii aan si cad loogu soo darin. Xaaladdan oo kale, ikhtiyaarka-isku-xidhka ayaa tilmaamaya qaybta koowaad ee wicitaanada si loo raadiyo. Xulashada xidhiidhka-ku-xirnaantu wuxuu sheegi karaa taxanaha magacyada taxanaha iyagoo tilmaamaya liis magacyada ay kala-tagaan xayndaabyada, ama ay muuqdaan dhowr jeer.

Doorashadan waa in loo isticmaalaa taxadar leh maaddaama ay ka hor istaagtay waddada raadinta ee laga yaabo inay adag tahay in la isku daro maktabadda la wadaago. Xaaladdan oo kale waxaa suurtagal ah in la isticmaalo si aan loo adeegsanin waddo kale duwan marka loo eego xiriiriyaha runtime ee samayn lahaa.

Xiriiriyaha wuxuu isticmaalaa wadooyinka raadinta ee soo socda si aad u ogaato maktabadaha la wadaago ee la wadaago.

1.

Wixii faahfaahin ah ee ku xusan xulashooyinka-isku-xirnaanta .

2.

Wixii faahfaahin ah oo ku qeexan xulashooyinka -Rpath . Farqiga u dhexeeya -rpath iyo link-link-ka ah waa in tusmooyinka lagu qeexay doorashooyinka -rpath lagu daro fulinta oo loo isticmaalo runtime, halka ikhtiyaarka-isku-xirnaantu ay waxtar u leedahay wakhtiga xiriirka. Waxaa loogu talagalay isku-xiraha hooyo oo kaliya.

3.

Marka laga hadlayo nidaamka ELF, haddii aan la isticmaalin xulashooyinka iyo "rpath-link" option, raadi waxyaabaha ku jira bedelka deegaanka "LD_RUN_PATH". Waxaa loogu talagalay isku-xiraha hooyo oo kaliya.

4.

On SunOS, hadii aan la isticmaalin xulashada, raadi wax kasta oo toos ah oo la cayimay iyadoo la isticmaalayo fursadaha -L .

5.

Wixii xidhiidhiye qaraabo ah, waxyaabaha ku jira bay'adda badiyaa "LD_LIBRARY_PATH".

6.

Wixii xiriiriye ah oo isku xira ELF, buugga "DT_RUNPATH" ama "DT_RPATH" ee maktabadda la wadaago waxaa laga raadiyaa maktabadaha la wadaago ee looga baahan yahay. Ku qorida "DT_RPATH" waa la iska indhatiray haddii "DT_RUNPATH" ku dhex jiraan.

7.

Noocyada caadiga ah, sida caadiga ah / lib iyo / usr / lib .

8.

Wixii xidhiidhiye qaran ee nidaamka ELF, haddii faylka /etc/ld.so.conf uu jiro, liistada wicitaanada laga helay faylkaas.

Haddii aan la helin maktabadda la wadaagay, xiriiriyaha ayaa soo saari doona digniin isla markaana sii wadi doona xiriirka.

-shiirad

-Siibaan

Abuur maktabad la wadaago. Tani waxay haatan ku taallaa oo keliya taageerayaasha ELF, XCOFF iyo SunOS. On SunOS, linker wuxuu si toos ah u abuuri doonaa maktabad la wadaago haddii aan la isticmaalin oo aan la isticmaalin calaamado aan la garanayn oo ku yaala linkka.

- Caadi-caadi

Doorashadani waxay sheegaysaa ld in ay calaamadaha calaamadaha caadiga ah u kala soocaan marka ay ku meeleynayaan qaybaha wax soo saar ee ku habboon. Marka hore marka aad timaado calaamadaha halbowlaha ah, ka dibna labadii dhudhun, ka dibna afarta afdhab, kadibna wax kasta oo kale. Tani waa si looga hortago khilaafyada u dhexeeya calaamadaha sababtoo ah caqabado isku dhafan.

- -shax-ku-qoran- size [ size ]

Si la mid ah - istiraatiijiyad-ku-dhawaansho laakiin wuxuu abuuraa qayb ka mid ah wax soo saarka cusub ee faylasha gundhigga marka cabbirka la gaaro. qiyaasta qadarka ah ee cabbirka 1 haddii aan la bixin.

- Xayiraad-ku-meel-gaar ah [ count ]

Waxay isku daydaa in ay abuurto qaybo dheeraad ah oo ku jira faylka la soo saaro si aan ugu jirin qayb ka mid ah soo saarista feylka ee ku jira feylka wax ka badan tirooyinka tirada . Tani waxay faa'iido leedahay marka la abuuro faylal badan oo la isku rogi karo si ay u soo geliyaan qaar ka mid ah wakhtiyada dhabta ah ee dhabta ah ee leh qaabka feylka COFF; maaddaama COFFcannot ay ka dhigan tahay in ka badan 65535 guuritaanka hal qayb. Ogsoonow in tani ay ku guuldareysato in ay la shaqeyso qaabka faylka sheyga ee aan taageernin qaybo aan qaan-gaar ahayn. Xiriiriyaha lama kala qaybin doono qaybo gaar ah oo loogu talagalay dib-u-qaybin, sidaas darteed haddii qayb hal-gelineed oo ka kooban tiro ka badan tirinta tirinta hal qayb oo wax soo saar ayaa ku jiri doona in meelo badan oo dib loo dejiyo. tiri qadarka qiimaha 32768.

- Isticmaal

Xisaabi oo muuji tirakoobka ku saabsan hawlgalka xidhiidhiyaha, sida wakhtiga fulinta iyo isticmaalka xusuusta.

- qaab-qaabeyn ah

Dhibaatooyinka qaarkood, wax soo saarka ld waa ka duwan yahay siyaabo ka duwan laga soo saaro qaar ka mid ah isku xidhaha jira. Bedelkani wuxuu codsanayaa ld inuu isticmaalo qaabka caadiga ah.

Tusaale ahaan, on SunOS, ld waxay isku daraa gelitaanada isku dhafan ee miiska calaamadaha. Tani waxay yarayn kartaa xajmiga feylka wax soo saarka oo leh xog fayla oo dhan oo dhan boqolkiiba 30. Nasiib darro, barnaamijka SunOS "dbx" ma akhrin karo barnaamijka soo hagaagaya ("gdb" wax dhib ah ma qabo). Beddelka qaab-isbedbedelka-qaab-ku-sheegga ayaa lddoo sheegaya inuusan isku darin gelitaanka isku-laabashada.

- cutubka-bilaabida qaybta = org

Soo hel qayb ka mid ah feylka wax soo saarka cinwaanka dhabta ah ee uu bixiyay org . Waxaad isticmaali kartaa doorashadan marar badan sida lagama maarmaanka u ah si aad u heshid qaybo badan oo ka mid ah xariiqda taliska. waa inuu noqdaa mid isku mid ah oo isku mid ah; si ay ula socdaan xiriiriyaal kale, waxaa laga yaabaa inaad ka tagto hogaanka 0x sida caadiga ah oo la xidhiidha qiimaha hexadecimal. Fiiro gaar ah: waa inaysan jirin meel cad oo u dhaxeysa qaybta , calaamadda isla'egta (`` = ''), iyo org .

-Maxkamada

-Tdata org

-Ururka aan la sheegin

Isticmaalida org sida cinwaanka bilawga ah --- sida ay u kala horreeyaan --- "bss", "data", ama qaybta "text" ee faylka la soo saaro. waa inuu noqdaa mid isku mid ah oo isku mid ah; si ay ula socdaan xiriiriyaal kale, waxaa laga yaabaa inaad ka tagto hogaanka 0x sida caadiga ah oo la xidhiidha qiimaha hexadecimal.

-dll-faahfaahin

- isbaaro

Muuji lambarka lambarka ee ld oo ku taxluuqa soo-saareyaasha isku-xiraha ee lagu taageerayo. Muuji feylka faylalka ee la heli karo oo aan la furi karin. Muuji qoraalka linker ee ay isticmaalaan linker.

--version-script = version-scriptfile

Waxaad sheegtaa magaca qoraallada naqshadda ee isku xiraha. Tani waxaa sida caadiga ah la isticmaalaa marka la abuurayo maktabado la wadaago si loo ogaado macluumaad dheeraad ah oo ku saabsan bogga dhaxalka ee maktabadda la abuuray. Doorashadani waxay waxtar u leedahay baraha ELF oo taageera maktabadaha la wadaago.

- caadi ahaan

U digo marka calaamad caadi ah lagu daro calaamad kale oo guud ama calaamad sharaxeed. Xiriirada Unix waxay u fasaxaan tababarkan si fudud, laakiin xiriiriyayaasha qaar ka mid ah nidaamyada kale ee hawlgalka ma aha. Doorashadan waxay kuu ogolaaneysaa inaad ka hesho dhibaatooyin ka iman kara isku xirnaanta calaamadaha caalamiga ah. Nasiib darro, maktabadaha qaarkood waxay isticmaalaan farsamadan, sidaa darteed waxaad heli kartaa digniino ku saabsan calaamadaha maktabadaha iyo sidoo kale barnaamijyadaada.

Waxa jira saddex nooc oo calaamado caalami ah, oo halkan ku muujinaya tusaalooyin C:

int i = 1;

Qeexitaan, oo ku jira qaybta macluumaadka ee bilowga ah ee feylka wax soo saarka.

extern int I;

Tixraac aan la garanayn, oo aan u qoondeynin meel. Waa inuu jiraa qeexitaan ama calaamad caadi ah oo ku saabsan badalida meesha.

iska daa;

Calaamad caam ah. Haddii ay jiraan hal (ama ka badan) calaamado guud oo loogu talagalay variable, waxay ku dhacdaa aagga xogta aan qarsooneyn ee feylka la soo saaro. Xiriiriyaha wuxuu isku daraa calaamado isku mid ah oo isku mid ah halbeeg isku mid ah. Haddii ay yihiin qiyaaso kala duwan, waxay ujireysaa cabbirka ugu weyn. Xiriiriyaha wuxuu calaamad u dhigaa calaamada guud, haddii uu jiro qeexitaan isbedel isku mid ah.

Doorashada caadiga ah ee caadiga ah waxay soo saari kartaa shan nooc oo ah digniino. Digniin kasta wuxuu ka kooban yahay labo khadadood: ugu horrayn waxay calaamad u tahay calaamada kaliya ee la helay, iyo kan labaadna wuxuu sharxayaa calaamada hore ee la mid ah magac isku mid ah. Hal ama labadaba labada calaamadood waxay noqon doonaan calaamad caadi ah.

1.

Tilmaan calaamad caadi ah tixraaca, sababtoo ah waxaa jira horey u qeexitaan calaamad.

(
): digniin: calaamado badan '' calaamadda 'oo ka baxsan qeexidda (): digniin: halkan ku qeexan

2.

Tilmaame calaamad ah oo loo adeegsado tixraac, sababtoo ah qeexidda dambe ee calaamad ayaa la helay. Tani waxay la mid tahay kiiskii hore, marka laga reebo in calaamadaha lagu helo kala duwanaansho kala duwan.

(
): digniin: qeexida 'icon' 'oo ka dhigeysa midka guud ee faylka (): digniin: caadi waa halkan

3.

Ku biiritaanka calaamad caadi ah oo leh calaamad hore oo la mid ah.

(): digniin: badanaa caadi ah 'icon' ' (): digniin: horey uwadaag halkan

4.

Ku biiritaanka calaamad caadi ah oo leh calaamad aad u weyn.

(
): digniin: calaamado badan oo 'calaamad' ah oo laga reebay 'faylka' fure 'common
(): digniin:

5.

Ku biiritaanka calaamad caadi ah oo leh calaamad caadi ah oo hore. Tani waxay la mid tahay kiiskii hore, marka laga reebo in calaamadaha lagu helo kala duwanaansho kala duwan.

(
): digniin: guud ahaan 'icon' oo ka dhigaya mid ka yar 'faylka' caadiga ah (
): digniin: yar yar ayaa halkan ku yaal

- Dhismayaasha

Digniin haddii dhismayaasha caalamiga ah la isticmaalo. Tani waxay faa'iido u leedahay kaliya qaabab fayl ah oo dhowr ah. Wixii qaabab sida COFF ama ELF, xiriiriye ma ogaan karo isticmaalka qalabka caalamiga ah.

- badan-badan-gp

U digo haddii qiime badan oo caalami ah looga baahan yahay faylka la soo saaro . Tani waxay waxtar u leedahay geedi socodka qaar, sida Alpha. Gaar ahaan, qaar ka mid ah kambiyuutarada ayaa dhigaya duruufo waaweyn oo qiime leh oo ku jira qayb gaar ah. Diiwaangelin gaar ah (calaamadaha caalamiga ah) ayaa tilmaamaya qaybta qaybteeda, sidaas darted si joogta ah ayaa loo hirgelin karaa si wax ku ool ah iyada oo la adeegsanayo nidaamka xajmiga ee habka wax looga qabanayo. Maadaama bakhaar-xayndaabkoodu uu yahay mid isbedel ah oo yar yar (tusaale ahaan, 16 bits), tan ayaa xaddidaysa cabbirka ugu sareeya barkad joogto ah. Sidaa darteed, barnaamijyada waaweyn, had iyo jeer waa lagama maarmaan in la isticmaalo qiimeeyaha caalamiga ah ee kala duwan si ay awood ugu yeeshaan inay wax ka qabtaan dhammaan duruufaha suuro galka ah. Doorashadan waxay keenaysaa digniin ah in la soo saaro markasta oo kiiskani dhaco.

- hal mar

Kaliya u digee calaamad kasta oo aan qeexaneyn, halkii marxalad kasta oo la xidhiidha.

- Qayb-gaaban

U digo haddii cinwaanka qaybta soo saarida la bedelay sababtoo ah isku xirka. Caadi ahaan, isku xirnaanshaha waxaa lagu qoondeeynayaa qayb ka mid ah talooyinka. Cinwaanka ayaa la beddeli doonaa oo keliya haddii aan si cad loo cayimin; taas oo ah, haddii "SECTIONS" amarka uusan sheegin cinwaanka bilawga ah ee qaybta.

- Wareegto-archive

Xog kasta oo ku xusan xariijinta taliska ka dib doorashadii " archive-to archive" , ku dar faylka shay kasta oo ku yaal xariirka, halkii aad ka raadin lahayd archive wixii fayl ah ee loo baahan yahay. Tan waxaa sida caadiga ah loo adeegsadaa si loo soo celiyo faylka kaydka ee maktabadda la wadaago, oo lagu qasbo shey kasta oo lagu daro maktabadda la wadaago. Doorashadan waxaa loo isticmaali karaa in ka badan hal mar.

Laba qoraalo markaad isticmaaleyso doorashadan gcc: Marka hore, gcc ma ogaan karo doorashadan, markaa waa inaad isticmaashaa -Wl, -fiirin-archive . Marka labaad, ha iloobin inaad isticmaasho -Wax, -eyn-dhan-archive- ka dib liistada liistadaada, sababtoo ah gcc wuxuu ku dari doonaa liistada liistada arjiyadaada si aad u xirtid, mana laga yaabo inaadan rabin calankaan inuu saameyn ku yeesho kuwa kale.

- calaamadda calaamadda

Isticmaal xaraf furan calaamadda . Calaamad kasta oo aan qeexin calaamad ayaa lagu xalin doonaa "__ wrap_symbol". Wax kasta oo aan qarsoodi ahayn ee "__real_symbol" waxaa lagu xalin doonaa calaamad .

Tani waxaa loo isticmaali karaa si loo siiyo baqshad waxqabadka nidaamka. Qalabka xargaha waa in loo yaqaan "__wrap_symbol". Haddii ay rabto inay wacdo nidaamka nidaamka, waa inay wacaan "__ real_symbol".

Halkan waxaa ku qoran tusaalayn aan la taaban karin:

void * __wrap_malloc (int c) {printf ("malloc la yiraahdo% ld \ n", c); soo celinta __real_malloc (c); }

Haddii aad la xiriirto faylka kale ee faylkan la adeegsanayo - galka malloc , ka dibna dhammaan wicitaanada "malloc" ayaa wacaya "__wrap_malloc". Wacitaanka "__real_malloc" ee "__wrap_malloc" wuxuu soo wici doonaa shaqada dhabta ah ee "malloc".

Waxaa laga yaabaa inaad rabto inaad siiso "__real_malloc" "function", sidaas darteed xidhiidhada aan laheyn doorshada - doorka ayaa ku guuleysan doona. Haddii aad tan sameyso, waa inaadan qeexin "__ real_malloc" isla faylka "__wrap_malloc"; haddii aad samayso, kuleylaha ayaa xallin kara wicitaanka ka hor inta uusan xidhiidhiyaha helin fursad uu ku duubo "malloc".

- waa-cusub-cusub

- La-kicin karo-cusub

Xiriiriyahani wuxuu abuuri karaa qoraalada cusub ee 'dynamic' ELF. Hase yeeshee nidaamyadii hore ee ELF ma fahmi karo. Haddii aad sheegto - midka cusub-waa-cusub , qoraalada firfircoon ayaa loo abuuri doonaa hadba sida loogu baahan yahay. Haddii aad cayimid - marin-cusub-cusub , majiraan wax cusub oo la abuuri doono. Marka la eego, qoraalada cusub ee la abuuro lama abuurayo. Xasuuso in doorashooyinkan ay heli karaan oo keliya nidaamyada loo yaqaan'ELELF '.

Xiriiriyaha i386 PE wuxuu taageersan yahay ikhtiyaarka la xoojiyay , taas oo keeneysa soo saarida inay noqoto maktabad casri ah (DLL) halkii caadiga ahayd ee la fulin lahaa. Waa inaad magacaa soo saartaa "* .dll" markaad isticmaasho doorashadan. Intaa waxaa dheer, xiriiriyaha wuxuu si buuxda u taageersan yahay faylasha "* .def", kaas oo laga yaabo in lagu tilmaamo khadka taleefan ee isku xirka sida waraaq qalab ah (dhab ahaan, waa in uu ka horreeyaa dukumintiyada calaamadaha laga soo dhoofiyo, si loo hubiyo in ay ku xiran yihiin, sida faylka caadiga ah).

Marka laga soo tago xulashooyinka guud ee dhammaan bartilmaameedyada, xiriiriye i386 PE wuxuu taageersan yahay xulashooyinka xakameyn talabixin dheeraad ah oo gaar u ah bartilmaameedka I386 PE. Fursadaha qaata qiimayaasha waxaa laga yaabaa inay kala soocaan qiimayaashooda meel bannaan ama calaamad siman.

- Daariiqda-shahaadada

Haddii la siiyay, calaamado leh stdcall sir ah (@ nn ) ayaa la dhoofin doonaa sida oo kale iyo sidoo kale iyadoo la joojiyay.

- fayl-galka faylka

Isticmaal faylka sida magaca faylka lagu keydiyo cinwaanada aasaasiga ah ee dhammaan degaannada loo baahan yahay si loo abuuro DLLs leh dlltool .

--dll

Abuur DLL halkii aad ka heli laheyd fulin rasmi ah. Waxa kale oo aad isticmaali kartaa -shared ama sheeg "QIIMEYSIGA" ee faylka ".def" ee la bixiyey.

--enable-stdcall-fixup

- La-kormeerka-kumbuyuutarka

Haddii xiriirku helo calaamad muujinaysa inuusan xallin Karin, wuxuu isku dayi doonaa inuu sameeyo 'isku xirnaanta isku xirka' 'isagoo raadinaya calaamad kale oo la qeexay oo ka duwan midka magaca calaamadda (cdecl - stdcall) oo xallin doona calaamaddan adoo isku xiraya ciyaarta. Tusaale ahaan, calaamadda "undifined" ee "_foo" waxaa laga yaabaa inay ku xiran tahay "_foo @ 12", ama calaamadda aan fahmin "_bar 16" waxaa laga yaabaa in lala xiriiriyo "_bar". Marka xiriiriyaha arrintan sameeyo, waxay daabacdaa digniin, maaddaama ay sida caadiga ah ku fashilmeen inay isku xirmaan, laakiin mararka qaarkood soo-rogista maktabadaha laga abuuro dlc-yada sadexaad ayaa laga yaabaa inay u baahdaan muuqaalkan. Haddii aad sheegto -enable-stdcall-fixup , tani waa mid si buuxda u shaqayn karta digniinaha lama daabicin. Haddii aad cayimid - kumbuyuutarka-kumbuyuutarka-kumbuyuutarka, kumbuyuutarku waa naafo oo aan caqli-gal aheyn waxaa loo tixgeliyaa inuu yahay qalad.

- Calaamadaha-dhan-calaamadaha

Haddii la bixiyay, dhammaan calaamadaha caalamiga ah ee alaabooyinka loo isticmaalo in lagu dhiso DLL ayaa soo dhoofin doona DLL. Ogsoonow in tani ay tahay mid aan caadi ahayn haddii aysan jirin wax calaamado ah oo aan dhoofin. Marka calaamadaha si cad loo dhoofiyo adoo isticmaalaya DEF faylka ama aan si toos ah loo dhoofin iyada oo loo marayo sifooyinka shaqada, waa in laysku duba ridaa wax kale haddii aan doorashadan la bixin. Xasuuso in calaamadaha "DllMain @ 12", "DllEntryPoint @ 0", "DllMainCRTStartup @ 12", "impure_ptr" si toos ah looma dhoofin doono. Sidoo kale, calaamadaha laga keeno DLL ee kale ma noqon doono dib loo dhoofiyo, mana calaamadeyn doono qeexitaanka gudaha DLL ee gudaha sida kuwa ka bilaabma "_head_" ama ku dhameeysta "_iname". Waxaa intaa dheer, wax calaamado ah oo ka imaanaya "libgcc", "libstd ++", "libmingw32", ama "crtX.o" ayaa la dhoofin doonaa. Calaamado magacyadoodu ay ku bilaabmaan "__rtti_" ama "__builtin_" laguma soo dhoofin doono, si ay uga caawiyaan C ++ DLLs. Ugu dambeyntii, waxaa jira liis gareyn ah calaamadaha cygwin-ga gaarka ah ee aan la dhoofin (cad, taasi waxay khuseysaa marka dhismaha DLL ee loogu talagalay bartilmaameedyada cygwin).

Cygwin-ka-reebitaankani waa: "_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 ", iyo" deegaan ".

- Ku calaamade calaamadaha calaamadaha , calaamadda , ...

Muujinaya liiska calaamadaha aan si toos ah loo dhoofin. Magacyada calaamaduhu waxaa laga yaabaa in lagu tirtiro astaamaha ama xargaha.

- Ku dhaji-libs lib , lib , ...

Waxay qeexeysaa liistada maktabadaha maktabadda oo aan calaamadaha aan si toos ah loo dhoofin. Magacyada maktabadda waxaa laga yaabaa in lagu tirtiro astaamaha ama xarigaha. Caddeynta "- Isku-dafidyada DHAMMAAN" waxa laga reebayaa calaamadaha dhammaan maktabadaha archive-yada laga soo dhoofiyo si toos ah. Calaamadaha si cad loogu taxay faylka .def ayaa wali la dhoofiyaa, iyadoon loo eegin doorashadan.

- isku xirnaanta

Cadee faylka faylka. Qaybaha feylka ah ayaa had iyo jeer bilaabi doona bakhaarada feylasha kuwaas oo tiro yar oo lambarkan ah. Tani waxay u dhigantaa 512.

- kaydka qashinka

- Isku duwo , geyn

Caddee xaddiga xasuusta ah ee kaydka (iyo ikhtiyaari ahaan u go'an) in loo isticmaalo tuulada barnaamijkan. Qalabka ayaa ah 1Mb reserved, 4K wuxuu goostay.

- qiimaha saldhigga-aasaasiga ah

Isticmaal qiimaha adreeska asaasiga ah ee barnaamijkaaga ama dll. Tani waa meesha ugu hooseeya ee xusuusta ee la isticmaali doono marka barnaamijkaaga ama dll la soo dhejiyo. Si loo yareeyo baahida loo qabo meelaynta iyo kor u qaadista waxqabadkaaga dllskaaga, mid waliba waa inuu leeyahay cinwaan gaar ah oo aan isku dhejin wixii kale ee dlls. Qalabka ayaa ah 0x400000 for executables, iyo 0x10000000 ee dlls.

-kill-at

Haddii la siiyo, stdcall (@ nn ) ayaa laga tirtiri doonaa calaamadaha ka hor inta aan la dhoofin.

- qiimaha image-image-image

Waxay tuseysaa tirada ugu weyn ee 'sawirada sawir' '. Qodobada 1aad.

- qiimaha mmor-os-os-version

Waxay tuseysaa tirada ugu badan ee 'version version'. Qodobka 4aad.

- qiimaha mamka-subsystem-ga

Waxay tuseysaa tirada ugu weyn ee 'version version subsystem' '. Qodobka 4aad.

- qiimaha-image-image- qiimaha

Wuxuu tusayaa tirada yar ee '' image version ''. Qodobo u dhigma 0.

- qiimaha -min-os-version

Wuxuu tusayaa lambarka yar ee 'version version'. Qodobo u dhigma 0.

- qiimaha version ee minimalist-subsystem

Waxay tuseysaa lambarka yar ee 'version version subsystem' '. Qodobo u dhigma 0.

- fayl - galka feylka

Xiriiriyaha wuxuu abuuri doonaa faylka faylka kaas oo ku jiri doona faylka DEF ee u dhiganta DLL ee xiriiriye wuxuu soo saarayaa. DEF faylkan (oo loo yaqaan "* .def") ayaa loo isticmaali karaa si loo abuuro maktabad soo-dejin leh "dlltool" ama waxaa loo isticmaali karaa tixraac si toos ah ama si aan toos ahayn loo dhoofiyo calaamado.

- faylka implib faylka

Xiriiriyaha wuxuu abuuri doonaa faylka feylka kaas oo ku jiri doona luuqadda soo dejinta ee u dhiganta DLL xiriiriyaha ayaa soo saaraya. Waxaa loo yaqaan "* .dll.a" ama "* .a" waxaa loo isticmaali karaa in lagu xiro macaamiisha ka soo horjeeda DLL-da la abuuray; habdhaqankani wuxuu suurtagal ka dhigayaa in laga boodo talaabo abuur ah "dlltool".

- la-karaa-auto-image-saldhigga

Si toos ah u dooro saldhigga muuqaalka ee DLLs, haddii aan mid la tilmaamin iyadoo la adeegsanayo doodda "saldhigga dhexe". Iyada oo la adeegsanayo hadh ka soo baxa dllname si loo abuuro saldhig muuqaal ah oo loogu talagalay DLL kasta, shilalka xasuusta iyo rarista dib u dhigi kara barnaamijka fulinta.

- Doonid-auto-image-saldhig

Ha si toos ah u abuurin saldhig muuqaal gaar ah. Haddii aysan jirin saldhig muuqaal ah oo loo adeegsan karo ("-image-base") ka dibna isticmaal kombuyuutarka.

- Daabac-raadin-horgeyn xaraf

Markaad isku duubi karto dmll la'aanteed maktabadda soo dejinta, raadi " .dll" oo aad doorbideyso "lib .dll". Habdhaqankani wuxuu u oggolaanayaa in si fudud loo kala saaro DLLs oo loogu talagalay 'subplatforms' kala duwan: hooyo, cygwin, uwin, bedel, iwm. Tusaale ahaan, cygwin DLLs waxay caadi ahaan isticmaalaan "- dll-search-prefix = cyg".

- waa la soo dhoofiyay

Sameynta xiriirka "_symbol" ee "__imp__symbol" ee DATA laga soo dhoofiyo DLLs, oo abuuro calaamado ciriiri lagama maarmaanka ah marka la dhisayo maktabadaha dibedda ah ee leh DATAexports. Tani waxay guud ahaan 'shaqeyneysaa' --- laakiin mararka qaarkood waxaad arki kartaa farriintan:

"variable" 'var var' ma noqon karto mid si toos ah loo soo dhoofiyo. Fadlan akhri dukumiintiyada ld ee "- la doorto-baabuur-dhoofin" wixii faahfaahin ah. "

Farriintani waxay dhacdaa marka qaar ka mid ah (hoosaad) muujinaysa cinwaanka ugu dambeyntii lagu bixiyay wadarta labo kali (Win32 import import oo keliya ayaa oggolaanaya). Xaaladaha ay tani dhici karto waxaa ka mid ah helitaanka goobaha xubno ka mid ah isbeddelka qaab-dhismeed ee laga keeno DLL, iyo sidoo kale isticmaalka isbeddel joogto ah oo lagu beddeli karo arrin kala duwan oo laga keeno DLL. Xayeysiin kasta oo badan (arrays, qaab dhismeed, dheer, iwm) waxay kicin karaan xaaladdan qaladka ah. Si kastaba ha noqotee, iyadoon loo eegin nooca xogta saxda ah ee isbedelka la soo dhoofiyay, ld markasta ayaa ogaan doonta, soo saar digniinta, iyo ka bixitaanka.

Waxaa jira siyaabo dhowr ah oo wax looga qaban karo dhibaatadan, iyada oo aan loo eegin nooca xogta ee isbeddelka la dhoofiyay:

Hal dariiq ayaa ah in la isticmaalo isbedel-runtime-pseudo-reloc switch. Tani waxay ka dhigaysaa shaqada lagu hagaajinayo tixraacyada ku jira lambarkaaga macaamiisha ee jawiga runtime, sidaa daraadeed habkani wuxuu u shaqeeyaa oo keliya marka runtii jawi hareeraysan ay taageerto tani.

Xalka labaad waa in lagu qasbo mid ka mid ah 'joogteynta' mid ka mid ah 'variable' - taas oo ah, aan la garanayn oo aan la iskufilan karin waqtiga isku dhafan. Dalladaha, waxaa jira laba suurtagal: a) samee calaamadda (cinwaanka arrimaheeda) bedel, ama b) muujinta 'joogto' ah isbeddel. Sidaa daraadeed:

nooca dibadda ah ee extern_array []; extern_array [1] -> Nooca aan joogtada ahayn * t = extern_array; t [1]}

ama

nooca dibadda ah ee extern_array []; extern_array [1] -> {lamid ah t = 1; extern_array [t]}

Istaraatijyada (iyo noocyada kala duwan ee xogta badan ee loo yaqaan 'word options') ayaa ah ikhtiyaarka kali ah in la sameeyo qaab dhismeedka laftiisa (ama dheer, ama ...) variable:

dib-u-qaabaynta dib-u-dhiska; extern_struct.field -> {qaab dhismeedka cakiran s * t = & extern_struct; t-> garoonka}

ama

dibad bax dheer oo dheeraadka ah; extern_ll -> {muddo dheer oo aan dheereyn * * local_ll = & extern_ll; * local_ll}

Habka seddexaad ee wax ka qabashada dhibaatadani waa inay ka tagaan 'auto-import' calaamad dembi ah oo ku calaamadee "__declspec (dllimport)". Si kastaba ha noqotee, ficil ahaan waxa loo baahan yahay in la isticmaalo waqti-isku-dhafan #defiin si aad u muujiso inaad dhisayso DLL, dhisida code macaamiisha oo isku xiraya DLL, ama kaliya dhisidda / isku xirka maktabada xisaabta. Marka la dooranayo hababka kala duwan ee xalinta 'cinwaanka tooska ah ee dhibaatada joogtada ah', waa inaad tixgelisaa isticmaalka caadiga ah ee aduunka:

Asalka:

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

Xalka 1:

--foo.h extern int []; - foo.c # aslan ah "foo.h" void main (int argc, char ** argv) {/ * Kulankan waxaa loogu talagalay win32 iyo cygwin; ha "badelin" * / isbeddel la'aanta * parr = arr; printf ("% d \ n", gaas [1]); }

Xalka 2:

- Foo_h / * Fiiro gaar ah: Awood-dhoofin ayaa loo maleynayaa (ma jirto __declspec (dllexport)) * / #if (qeexay (_WIN32) || oo la qeexay (__ CYGWIN__)) && \! (qeexay (FOO_BUILD_DLL) || la qeexay (FOO_STATIC )) #define FOO_IMPORT __declspec (dllimport) #else #define FOO_IMPORT #maadi FOUR_IMPORT int []; - foo.c # kalee "foo.h" void main (int argc, char ** argv) {printf ("% d \ n", arr [1]); }

Dariiqa afaraad ee looga hortago dhibaatadan waa inaad dib u qorto maktabadaada si aad u isticmaasho interface interface halkii kaararka xogta ee doorsoomayaasha dembiilaha ah (eg set_foo () iyo get_foo () hawlgalayaasha hawlaha).

- La-kicin-baabuur-dhoofin

Ha isku dayin inaad sameysid isku-xirnaanta "_Symbolbol" ilaa "__moz__symbol" ee DATAimports ee DLLs.

Runtime-runtime-pseudo-reloc

Haddii koodhkaagu ku jiro sharaxaad lagu sharaxay qaybta-soo-galka-baabuur-soo-dhoofinta, taas oo ah, DATAimports oo ka socda DLL oo aan lahayn eber, bedelkani wuxuu abuuri doonaa qaybta 'runtime pseudo resocations' taas oo loo adeegsan karo jawiga runtime si loo hagaajiyo tixraacyada macluumaadka noocaas ah ee lambarkaaga macmiilka.

- Raadinta-runtime-pseudo-reloc

Ha abuurin meel kale oo aan loo baahnayn oo aan ahayn eber-ka-baxa DATA oo laga soo dejiyo DLLs. Tani waa midda aasaasiga ah.

- -sheegasho-dheeraad ah

Muuji faahfaahin dheeraad ah oo la xidhiidha calaamad muujinaysa calaamadda otomaatiga ah.

- is-isu-dhejinta

Qeexaya qaybta isku xirka. Qaybaha xasuusta leh ayaa had iyo jeer bilaabaya cinwaanada kuwaas oo ah tiro badan oo ka mid ah lambarkan. Qodobo u dhigma 0x1000.

- kaydka kaydka

- haynta kaydka , geysatid

Caddee xaddiga xasuusta ee keydinta (iyo ikhtiyaari ahaan u go'an) in loo isticmaalo sidii istuudiyo barnaamijkan. Qalabka ayaa ah 2Mb reserved, 4K wuxuu goostay.

- nidaamyada

- nidaamyada : kaas oo weyn

- nidaamyada : kaas oo weyn . yar yar

Muujinaya nidaamka hoose ee hoos yimaada barnaamijkaagu uu fulin doono. Qiimaha sharciga ah ee "hooy", "daaqadaha", "konsole" iyo "posix". Waxa kale oo aad dooran kartaa nooca hoose ee nidaamka.

Muhiim: Isticmaal nambarka ninka ( % nin ) si aad u aragto sida amarka loo isticmaalo kombiyuutarkaaga gaarka ah.