Linux / Unix Command: Id

NAME

ld - A 'cleachdadh LD , an ceangal GNU

SYNOPSIS

ld [ options ] objfile ...

SGRÙDADH

Bidh ld a ' cur ri chèile grunn fhaidhlichean agus faidhlichean tasglann, a' gluasad an dàta agus a 'ceangal suas iomraidhean samhla. Mar as trice, is e an ceum mu dheireadh ann a bhith a 'cur ri chèile prògram a' ruith ld .

Tha ld a ' gabhail ri faidhlichean Ceangail Ceangal Cànain a chaidh a sgrìobhadh ann an ionad de cho-dhearbhadh Comharradh Coimpiutair Ceangail AT & T, gus smachd soilleir agus iomlan a thoirt seachad air a' phròiseas ceangail.

Chan eil duilleag an duine seo a 'toirt tuairisgeul air a' chànan àithne; faic an t-inntrigeadh ld ann an "info", no an leabhar ld: an ceangal GNU , airson làn fhiosrachadh air a 'chànan àithne agus air nithean eile de cheangal anGNU.

Bidh an dreach seo de ld a ' cleachdadh leabharlannan coitcheann BFD airson obrachadh air faidhlichean nithean. Leigidh seo le ld faidhlichean a leughadh, a chur còmhla, agus a sgrìobhadh ann an diofar chruthan --- mar eisimpleir, COFF no "a.out". Faodaidh eadar-dhealachaidhean eadar-dhealaichte a bhith air an ceangal còmhla gus faidhle sam bith a tha ri fhaotainn.

A bharrachd air an sùbailteachd aice, tha an ceangal GNU nas cuideachail na ceanglaichean eile ann a bhith a 'toirt seachad fiosrachadh breithneachail. Bidh mòran de luchd-ceangail a 'fàgail a' ghnìomhachadh sa bhad nuair a choinnich iad ri mearachd; nuair a ghabhas a dhèanamh, tha ld a ' leantainn air adhart a' toirt seachad, a 'toirt cothrom dhut mearachdan eile a chomharrachadh (no, ann an cuid de chùisean, faidhle toraidh fhaighinn a dh'aindeoin an mearachd).

Tha an GNU linker ld airson còmhdach raon farsaing de shuidheachaidhean, agus a bhith cho co-chòrdail 's as urrainn le ceanglaichean eile. Mar thoradh air an sin, tha mòran roghainnean agad gus smachd a chumail air a ghiùlan.

OBAIR

Bidh an ceangal a 'toirt taic do iomadh roghainn loidhne-àithne , ach ann an cleachdadh fìor tha beagan dhiubh gan cleachdadh ann an suidheachadh sònraichte sam bith. Mar eisimpleir, is e cleachdadh tric de ld a bhith a 'ceangal faidhlichean gnàthach inbhe Unix air siostam aonaichte le taic Unix . Air leithid de shiostam, ceangal faidhle "hello.o":

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

Tha seo ag innse ld gus faidhle air a bheil toradh a thoirt gu buil mar thoradh air ceangal an fhaidhle "/lib/crt0.o" le "hello.o" agus an leabharlann "libc.a", a thig às na seòlaidhean lorg àbhaisteach. (Faic an deasbad air an rogha -l gu h-ìosal.)

Faodar cuid de na roghainnean ceann-uidhe gu ld a bhith air an sònrachadh aig puing sam bith san loidhne àithne. Ach, tha roghainnean a tha a 'toirt iomradh air faidhlichean, mar -l no -T , ag adhbhrachadh gum bi am faidhle air a leughadh aig a' phuing far a bheil an roghainn a 'nochdadh anns an loidhne àithne, an coimeas ri na faidhlichean cuspair agus roghainnean faidhlichean eile. Bidh ath-aithris roghainnean nach eil faidhlichean le argamaid eadar-dhealaichte an dara cuid aig nach eil buaidh sam bith eile, no cuiridh iad thairis air tachartasan ro-làimh (an fheadhainn nas fhaide air an taobh chlì air loidhne nan òrdughan) den roghainn sin. Tha roghainnean a dh 'fhaodadh a bhith air an sònrachadh gu brìoghmhor nas fhaide na aon uair air an comharrachadh anns na tuairisgeulan gu h-ìseal

Is e argamaidean neo-roghainn faidhlichean no tasglannan a tha gu bhith ceangailte ri chèile. Faodaidh iad leantainn, ro-làimh, no a bhith air an measgachadh le roghainnean ceann-uidhe, ach a-mhàin nach fhaod argamaid faidhle rud a chur eadar roghainn agus a argamaid.

Mar as trice bidh an ceangal air a chleachdadh le co-dhiù aon fhaidhle cuspair, ach faodaidh tu foirmichean eile de fhaidhlichean dàimheach a chleachdadh le bhith a 'cleachdadh -l , -R , agus an cànan àithne sgriobt. Mura h- eil faidhlichean co-ionannachd dàna air a shònrachadh, chan eil an ceangaliche a 'dèanamh toradh sam bith, agus a' cur an cèill an teachdaireachd Chan eil faidhlichean co-ionnan .

Mura h-urrainn don neach-ceangail cruth faidhle nì aithneachadh, gabhaidh e ris gu bheil e na sgriobt ceangail. Tha sgriobt a tha air a shònrachadh san dòigh seo a 'cur ris a' phrìomh sgriobt ceangail a chleachdar airson an ceangal (an dà chuid an script ceangal bunaiteach no an tè a tha air a shònrachadh le bhith a 'cleachdadh -T ). Tha am feart seo a 'toirt cead don cheangal a bhith a' ceangal an aghaidh faidhle a tha a 'coltas gur e rud no tasglann a th' ann, ach ann an da-rìribh chan eil e a 'mìneachadh luachan samhla no a' cleachdadh "INPUT" no "GROUP" gus rudan eile a luchdachadh. Thoir fa-near nach eil ach sònrachadh sgriobt san dòigh seo a 'cur ris a' phrìomh sgriobt ceangail; cleachd an roghainn -T gus an sgriobt ceangail bunaiteach a chur an àite gu tur.

Airson roghainnean aig a bheil na h-ainmean aon litir, feumaidh argamaidean roghainn an litir roghainn a leantainn gun a bhith a 'cleachdadh eadar-dhealachaidhean, no a bhith air an toirt seachad mar argamaidean fa leth dìreach às dèidh an roghainn a tha a dhìth orra.

Airson roghainnean aig a bheil iomadh litrichean, faodaidh aon dash no dhà a dhol seachad air ainm an roghainn; mar eisimpleir, tha -trace-symbol agus --trace-symbol co-ionann. Nota - tha aon eisgeachd anns an riaghailt seo. Chan urrainn dhut dà roghainn litrichean a thòisicheas le cùis ìosal 'o' a thoirt seachad le dà chòmhdach. Tha seo gus lùghdachadh a dhèanamh air a chèile leis an roghainn -o . Mar eisimpleir, tha eagagic a ' suidheachadh ainm an fhaidhle toraidh gu draoidheachd, ach tha eagagic a' suidheachadh bratach NMAGIC air an toradh.

Feumaidh argamaidean airson roghainnean ioma-litrichean a bhith air an sgaradh bhon ainm roghainn le soidhnichean co-ionann, no a bhith air an toirt seachad mar argamaidean fa leth dìreach às dèidh an roghainn a tha a dhìth orra. Mar eisimpleir, tha fo -trace-symbol foo agus --trace-symbol = foo co-ionnan. Gabhaidh giorrachaidhean sònraichte air ainmean roghainnean ioma-litrichean.

Thoir fa-near - ma tha an ceangal air a chur an gnìomh gu neo-dhìreach, tro dhràibhear co-chuairteachaidh (me gcc ), bu chòir na roghainnean uile-loidhne ceangail a bhith air an ro-chlàradh le -Wl, (no dè a tha iomchaidh airson an dràibhear co-chuairteachaidh sònraichte) mar seo:

gcc -Wl, - startgroup foo.o bar.o -Wl, - end-group

Tha seo cudromach, seach gu mì-fhortanach, faodaidh am prògram dràibhear coileadair a bhith a 'leigeil sìos na roghainnean ceangail, a' ciallachadh gu bheil droch cheangal ann.

Seo clàr de na lasganan gnàthach loidhnichean a tha an ceangal GNU a 'gabhail ris:

-a prìomh-fhacal

Tha an roghainn seo a 'faighinn taic airson co-chòrdadh HP / UX. Feumaidh an argamaid prìomh fhacal a bhith mar aon de na tasglannan , co-roinnte no bunaiteach . -searcach -obrachail co-ionann ri -Statach , agus tha na prìomh fhaclan eile co-ionann ri -BDinamamach . Faodar an roghainn seo a chleachdadh uair sam bith.

- A ailtireachd

--architecture = ailtireachd

Anns an fhosgladh làithreach de ld , chan eil an roghainn seo feumail ach airson teaghlach Intel 960 ailtireachd. Anns an t-suidheachadh sin, tha argamaid ailtireachd a 'comharrachadh an ailtireachd sònraichte anns an teaghlach 960, a' comasachadh cuid de dhìonan agus atharrachadh air slighe rannsachaidh leabharlann-tasglann.

Faodaidh fuasglaidhean ld san àm ri teachd taic a thoirt do dhleastanasan co-ionann airson teaghlaichean ailtireachd eile.

-b input-format

--format = input-format

Faodar ld a dhealbhadh gus taic a thoirt do bharrachd air aon seòrsa seòrsa faidhle. Ma tha an ld agad air a cho-òrdanachadh mar seo, faodaidh tu an roghainn -b a chleachdadh gus an cruth dà-chànanach a chomharrachadh airson faidhlichean toraidh a leanas a lean an roghainn seo air an loidhne àithne. Fiù nuair a thèid ld a dhealbhadh gus taic a thoirt do chruthan obrachaidh eile, chan àbhaist dhut seo a shònrachadh, oir bu chòir ld a bhith air a dhealbhadh gus a bhith a 'sùileachadh gur e cruth in-ghabhail bunaiteach an cruth as àbhaistiche air gach inneal. ' S e sreang teacsa a th' ann an input-format , ainm cruth sònraichte le taic bho leabharlannan BFD. (Faodaidh tu liosta de na cruthan dàta a tha ri fhaighinn le objdump -i .)

Is dòcha gum bi thu airson an roghainn seo a chleachdadh ma tha thu a 'ceangal fhaidhlichean le cruth dà-chànanach neo-àbhaisteach. Faodaidh tu cuideachd cleachdadh -b gus cruthan atharrachadh gu soilleir (nuair a tha iad a 'ceangal faidhlichean de dhiofar chruthan), le bhith a' toirt a-steach -b input-format ro gach faidhle faidhlichean ann an cruth sònraichte.

Tha an cruth bunaiteach air a thoirt bhon caochladair àrainneachd "GNUTARGET".

Faodaidh tu cuideachd an cruth a tha a 'toirt a-steach sgriobt a mhìneachadh, a' cleachdadh an àithne "TARGET";

-c MRI-commandfile

--mri-script = MRI-commandfile

Airson co-chòrdadh ri luchd-ceangail a chaidh a dhèanamh le MRI, tha ld a ' gabhail ri faidhlichean sgriobt ann an cànan eile, teachdaireachd cuingealaichte, air a mhìneachadh ann an earrann nam faidhlichean sgriobta co-obrachail MRI de GNU ld documentation. Thoir a-steach faidhlichean sgriobte MRI leis an roghainn -c ; cleachd an roghainn -T airson sgriobtaichean ceangail a sgrìobhadh anns a 'chànan fharsaing- d . Mura bheil MRI-cmdfile ann, tha ld ga lorg anns na seòlaidhean a tha air an comharrachadh le roghainnean sam bith -L .

-d

-dc

-dp

Tha na trì roghainnean sin co-ionnan; thathar a 'toirt taic do iomadh foirm airson co-chòrdadh le ceanglaichean eile. Bidh iad a 'sònrachadh àite gu samhlaidhean cumanta fiù ma thèid faidhle toraidh ath-shuidheachadh a shònrachadh (le -r ). Tha an aon bhuaidh aig an òrdugh sgriobta "FORCE_COMMON_ALLOCATION".

-e inntrigidh

--entry = inntrigeadh

Cleachd an inntrigeadh mar an samhla soilleir airson tòiseachadh a 'dèanamh a' phrògraim agad, an àite an inntrigidh bunaiteach. Mura h-eil inntrigeadh sam bith ann le samhla, feuchaidh an ceangal ri inntrigeadh a dhèanamh mar àireamh, agus cleachd sin mar an seòladh inntrigidh (thèid an àireamh a mhìneachadh ann am bun 10; faodaidh tu 0x a chleachdadh airson bun-ìre 16, no prìomh dhuilleag 0 airson bun 8).

-E

--export-dinamic

Nuair a tha thu a 'cruthachadh gnìomh co-cheangailte gu dà-chànanach, cuir a h-uile samhla ris a' chlàr samhla inntinneach. Is e an clàr samhla fiùghantach an t-seata de chomharran a tha rim faicinn bho nithean fiùghantach aig àm ruith.

Mura h-eil thu a 'cleachdadh an roghainn seo, mar as trice cha bhith ann ach an samhla sin a tha air a' chlàr samhla fiùghantach a tha air ainmeachadh le rud a tha air a mhìneachadh sa cheangal.

Ma chleachdas tu "dlopen" gus rud beothail a luchdachadh a dh 'fheumas a bhith a' toirt iomradh air ais air na samhlaidhean a tha air am mìneachadh leis a 'phrògram, an àite rudeigin adhartach eile, feumaidh tu an roghainn seo a chleachdadh nuair a tha thu a' ceangal a 'phrògraim fhèin.

Faodaidh tu cuideachd an sgriobt dreach a chleachdadh gus smachd a chumail air dè na samhlaidhean a bu chòir a chur ris a 'chlàr samhla fiùghantach ma tha an cruth toraidh a' toirt taic dha. Faic an tuairisgeul air --version-script in @ ref {VERSION}.

-BB

Ceangail nithean mòra-inntinneach. Bidh seo a 'toirt buaidh air cruth toraidh bunaiteach.

-EL

Ceangail nithean beaga-inntinneach. Bidh seo a 'toirt buaidh air cruth toraidh bunaiteach.

-f

- ainm taiceil

Nuair a chruthaicheas tu cuspair ELF roinnte, cuir an raon DT_AUXILIARY a-staigh chun an ainm ainmichte. Tha seo ag innse don neach-ceangail fiùghantach gum bu chòir clàr samhla an nì co-roinnte a bhith air a chleachdadh mar sgàthar cuideachail air a 'chlàr samhla den ainm a chaidh a cho-roinn.

Ma shoirbhicheas tu prògram nas fhaide air adhart an aghaidh a 'bhrìgh seo, an uairsin, nuair a bhios tu a' ruith a 'phrògraim, seallaidh an neach-ceangail adhartach an raon DT_AUXILIARY. Ma cho-dhùineas an neach-ceangail fiùghantach samhlaidhean sam bith bhon chuspair criathra, nì e cinnteach an-toiseach a bheil mìneachadh ann an ainm a ' chuspair co-roinnte. Ma tha aon ann, thèid a chleachdadh an àite a 'mhìneachaidh anns a' phutan. Chan fheumar ainm a ' cho-roinnte a bhith ann. Mar sin dh'fhaodadh an t-ainm a chaidh a cho-roinn a chleachdadh gus gnìomhachadh sònraichte a sholarachadh airson cuid de dh 'obair, is dòcha airson dearbhadh no airson coileanadh inneal sònraichte.

Faodar an roghainn seo a shònrachadh barrachd air aon uair. Thèid na tagraidhean DT_AUXILIARY a chruthachadh san òrdugh far a bheil iad a 'nochdadh air an loidhne àithne.

-ainm

- ainm fòn

Nuair a chruthaicheas tu cuspair ELF roinnte, cuir an raon DT_FILTER taobh a-staigh ris an ainm ainmichte. Tha seo ag innse don cheangal làidir a bu chòir an clàr samhla den nì co-roinnte a thathar a 'cruthachadh a chleachdadh mar sgàthar air clàr samhla ainm ainm a ' cho-roinnte.

Ma shoirbhicheas tu prògram nas fhaide air adhart an aghaidh a 'bhriathair seo, an uairsin, nuair a bhios tu a' ruith a 'phrògraim, seallaidh an neach-ceangail adhartach an raon DT_FILTER. Bidh an ceangal làidir a 'fuasgladh samhlaidhean a rèir clàr samhla na h-ìomhaigh criathra mar as àbhaist, ach bidh e a' ceangal ris na mìneachaidhean a chaidh a lorg ann an ainm a ' phuing roinnte. Mar sin, faodar an rud criùir a chleachdadh gus fo-thac de na samhlaidhean a tha air a thoirt seachad le ainm an togalaich a thaghadh.

Chleachd cuid de na ceanglaichean as sine an -F air feadh inneal co-chruinneachaidh airson fòrmatadh faidhle faidhle a shònrachadh airson faidhlichean inneal toraidh agus toraidh. Bidh an GNU linker a 'cleachdadh innleachdan eile airson an adhbhair seo: an -b , --format , - roghainnean cruth , an t-òrdugh "TARGET" ann an sgriobtaichean ceangail, agus an caochladair àrainneachd "GNUTARGET". Leigidh an GNU linker an -F roghainn nuair nach eil e a 'cruthachadh nì roinneil ELF.

-min ainm

Nuair a chruthaicheas tu nì in-ghabhaltach no roinnte, cuir fios gu NAME nuair a thèid an nì ion-roghnach no co-roinnte a thoirt às, le bhith a 'suidheachadh DT_FINI gu seòladh na dreuchd. Mar as trice, bidh an ceangal a 'cleachdadh "_fini" mar a' ghnìomh ri ghairm.

-g

Air a tharraing. Cho fad 'sa tha e co-chòrdail ri innealan eile.

-G luach

--gpsize = luach

Suidhich am meud as àirde de nithean gu bhith air an dèanamh nas fheàrr le bhith a 'cleachdadh clàr an dotair teaghlaich gu meud . Chan eil seo ach brìoghmhor airson cruthan faidhle obrachaidh mar MIPS ECOFF a tha a 'toirt taic do bhith a' cur rudan mòra is beaga gu diofar earrannan. Thèid seo a thoirt seachad airson cruthan faidhle eile.

-h ainm

-soname = ainm

Nuair a chruthaicheas tu cuspair ELF roinnte, cuir an raon DT_SONAME taobh a-staigh ris an ainm ainmichte. Nuair a tha ceangal co-cheangailte ri rud co-roinnte aig a bheil raon DT_SONAME, an uairsin nuair a thèid an cleachdas a choileanadh, feuchaidh an ceangail fiùghantach ris an nì co-roinnte a tha air a chomharrachadh leis an raon DT_SONAME a luchdachadh an àite a bhith a 'cleachdadh an fhaidhle a thugadh don cheangal.

-i

Dèan ceangal mean air mhean (coltach ri roghainn -r ).

ainm-ainmean

Nuair a chruthaicheas tu nì in-ghabhaltach no roinnte, cuir fios gu NAME nuair a thèid an nì ion-roghnach no co-roinnte a luchdachadh, le bhith a 'suidheachadh DT_INIT gu seòladh na dreuchd. Mar as trice, bidh an ceangal a 'cleachdadh "_init" mar a dh' fheumas tu a ghairm.

-l tasglann

--library = tasglann

Cuir tasglann faidhle tasglann ris an liosta de fhaidhlichean gus ceangal a dhèanamh. Faodar an roghainn seo a chleachdadh uair sam bith. Rannsaich ld a liosta-slighe airson tachartasan "libarchive.a" airson gach tasglann a chaidh a shònrachadh.

Air siostaman a bheir taic do leabharlannan co-roinnte, faodaidh ld leabharlannan a lorg cuideachd le leudachadh seach ".a". Gu sònraichte, air siostaman ELF agus SunOS, nì ld rannsachadh air leabharlann airson leabharlann le leudachadh air ".so" mus lorg thu aon le leudachadh air ".a". Le co-chruinneachadh, tha leudachadh ".so" a 'comharrachadh leabharlann co-roinnte.

Bidh an ceangaliche a 'rannsachadh tasglann a-mhàin aon uair, aig an àite far a bheil e air a shònrachadh air an loidhne àithne. Ma tha an tasglann a 'mìneachadh samhla nach deach a mhìneachadh ann an cuid de rudan a nochd ron tasglann air an loidhne àithne, bidh an ceangal a' gabhail a-steach na faidhlichean iomchaidh bhon tasglann. Ach, chan eil samhla neo-mheasgaichte ann an nì a nochdas nas fhaide air an loidhne-àithne a 'toirt air an neach-ceangail an tasglann a rannsachadh a-rithist.

Seall air - ( roghainn airson dòigh gus an ceangaliche a chuir air bhog tasglainn a rannsachadh iomadh uair.

Faodaidh tu an aon tasglann a liostadh iomadh uair air an loidhne àithne.

Tha an seòrsa seo de rannsachadh tasglainn coitcheann do luchd-ceangail Unix. Ach, ma tha thu a 'cleachdadh ld onAIX, innis gu bheil e eadar-dhealaichte bho ghiùlan an ceangal AIX.

-L searchdir

--library-path = searchdir

Cuir slighe searchdir ris an liosta de shlighean a nì ls leabharlannan tasglann agus sgriobtan smachd ld . Faodaidh tu an roghainn seo a chleachdadh uair sam bith. Tha na seòlaidhean air an rannsachadh san òrdugh anns a bheil iad air an comharrachadh air an loidhne àithne. Bidh na seòladairean a chaidh a shònrachadh air an loidhne-àithne gan rannsachadh ro na seòlaidhean bunaiteach. Tha roghainnean uile -L a 'buntainn ri roghainnean uile -l , ge bith dè an òrdugh anns a bheil na roghainnean a' nochdadh.

Ma thòisicheas searchdir le "=", cuiridh an ro-leasachan sysroot an àite "=", slighe air a shònrachadh nuair a bhios an ceangaliche air a cho-dhealbhadh.

Tha an seata shligheach de shlighean a chaidh a lorg (gun a bhith air a shònrachadh le -L ) an urra ris a 'mhodh emulation a tha ld a' cleachdadh, agus ann an cuid de chùisean cuideachd air mar a chaidh a dhealbhadh.

Faodar na slighean a shònrachadh cuideachd ann an sgriobt ceangail leis an àithne "SEARCH_DIR". Thèid seòladairean a tha air an comharrachadh mar seo a rannsachadh aig a 'phuing anns a bheil an sgriobt ceangail a' nochdadh anns an loidhne àithne.

-m aithrisachadh

Emulate an ceangal emulation . Faodaidh tu liosta de na cleachdaidhean a tha rim faotainn leis na roghainnean --verbose no -V .

Mura h-eil an roghainn -m air a chleachdadh, tha an emulation air a thoirt bhon atharrachadh caochlaideach "LDEMULATION", ma tha sin air a mhìneachadh.

A dh 'aindeoin sin, bidh an emulation bunaiteach a' crochadh air mar a chaidh an ceangal a dhealbhadh.

-M

--print-map

Clò-bhuail mapa ceangail ris an toradh coitcheann. Tha mapa ceangail a 'toirt seachad fiosrachadh mun cheangal, a' gabhail a-steach na leanas:

*

Far a bheil faidhlichean agus samhlaidhean cuspair air an clàradh mar chuimhne.

*

Mar a tha samhlaidhean cumanta air an riarachadh.

*

Bha a h-uile ball de thasglann air a ghabhail a-steach sa cheangal, le iomradh air an t-samhla a thug air ball an tasglainn a thoirt a-steach.

-n

- nmagic

Cuir dheth co-thaobhadh duilleag de earrannan, agus comharraich an toradh mar "NMAGIC" ma ghabhas e dèanamh.

-N

--omaigic

Socraich na h-earrannan teacsa agus dàta ri leughadh agus a sgrìobhadh. Cuideachd, na dèan duilleag-co-thaobhadh roinn an dàta, agus cuir às do cheangal an aghaidh leabharlannan co-roinnte. Ma tha an cruth toraidh a 'toirt taic dha àireamhan draoidheil stoidhle Unix, comharraich an toradh mar "OMAGIC".

-no-omagic

Tha an roghainn seo a 'diùltadh a' mhòr-chuid de bhuaidhean an roghainn -N . Tha e a 'suidheachadh an earrann teacsa a bhith air a leughadh a-mhàin, agus a' feuchainn ri roinn an dàta a bhith air a cheangal ri duilleag. Nota - chan eil an roghainn seo a 'toirt comas do cheangal eadar leabharlannan co-roinnte. Cleachd -Deasaich airson seo.

-o toradh

--output = toradh

Cleachd toradh mar an t-ainm airson a 'phrògram a chruthaich ld ; mur eil an roghainn seo air a shònrachadh, tha an t-ainm a.out air a chleachdadh gu h-àbhaisteach. Faodaidh an comharra sgriobta "OUTPUT" ainm an fhaidhle toraidh a shònrachadh cuideachd.

-O- ìre

Ma tha an ìre na luachan àireamhach nas motha na neoni ld tha a ' toirt a-mach an toradh. Dh'fhaodadh seo a bhith a 'toirt mòran nas fhaide agus mar sin bu chòir gum biodh e comasach a bhith air a dhèanamh comasach airson a' bhia-dhàna dheireannach.

-q

--emit-relocs

Fàg earrannan ath-shuidheachadh agus susbaint ann an cleachdaidhean làn-cheangailte. Dh'fhaoidte gum bi am fiosrachadh seo a dhìth air mion-sgrùdadh ceangail puist agus innealan leasachaidh gus mion-atharrachaidhean ceart a dhèanamh air cleachdaidhean. Tha seo a 'toradh ann an cleachdaidhean nas motha.

Chan eil an roghainn seo an-dràsta a 'faighinn taic ach aig àrd-ùrlaran ELF.

-r

- a-steach

Gineadh toradh ath-shuidheachaidh --- is e sin, cruthaich faidhle toraidh a dh'fhaodas a bhith na chuideachadh do ld . Is e ceangal pàirt a tha seo gu tric. Mar cho-èifeachdas, ann an àrainneachdan a tha a 'toirt taic dha àireamhan draoidheil Unix, tha an roghainn seo cuideachd a' suidheachadh àireamh draoidheachd an fhaidhle toraidh gu "OMAGIC". Mura h-eil an roghainn seo air a shònrachadh, thèid faidhle iomlan a dhèanamh. Nuair a bhios ceangal ri prògraman C ++, cha toir an roghainn seo teisteanasan do luchd-togail; gus sin a dhèanamh, cleachd -Ur .

Nuair nach eil an aon chruth aig faidhle ion-chuimse ris an fhaidhle toraidh, chan eil ceangal pàirtichte ach air a thoirt seachad mura h-eil ath-ghluasad ann. Faodaidh sruthan eile a bhith aig cruthan eadar-dhealaichte; mar eisimpleir chan eil cuid de chruthan stèidhichte air "a.out" a 'toirt taic do bhith a' ceangal pàirt le faidhlichean a-steach ann an cruthan eile idir.

Bidh an roghainn seo a 'dèanamh an aon rud ri -i .

-Rainm- faidhle

--just-symbols = ainm-faidhle

Leugh ainmean samhla agus na seòlaidhean aca bho ainm-faidhle , ach na gluais thu e no cuir a-steach e san toradh. Tha seo a 'leigeil leis an fhaidhle toraidh agad a bhith a' toirt iomradh samhlachail air àitean iomlan cuimhne a tha air a mhìneachadh ann am prògraman eile. Faodaidh tu an roghainn seo a chleachdadh barrachd air aon uair.

Airson co-chòrdadh ri luchd-ceangail ELF eile, ma tha an t-ainm -R air a leantainn le ainm eòlaire, an àite ainm faidhle, thèid a làimhseachadh mar an -rpath option.

-s

--strip-all

Leig seachad a h-uile fiosrachadh samhla bhon fhaidhle toraidh.

-S

--strip-debug

Leig seachad fiosrachadh samhla deuchainn (ach chan eil a h-uile samhla) bhon fhaidhle toraidh.

-t

--trace

Clò-bhuail ainmean nam faidhlichean a-steach mar phròiseasan aca.

-T scriptfile

--script = scriptfile

Cleachd sgriobt-sgriobt mar an sgriobt ceangail. Tha an sgriobt seo a 'dol an àite sgriobt ceangail àbhaisteach ld (an àite a bhith ga chur ris), mar sin feumaidh comharra- stiùiridh a h-uile dad a tha riatanach airson cunntas a thoirt air an fhaidhle toraidh. Mura h- eil scriptfile ann anns an eòlaire làithreach, tha "ld" ga lorg anns na seòlaidhean a tha air an comharrachadh le roghainnean sam bith roimhe -L . Bidh iomadh roghainn-cruinneachaidh a 'cruinneachadh.

-u samhla

--undefined = samhla

Samhla na Feachd ri bhith air a chur a-steach don fhaidhle toraidh mar shamhla neo-dhearbhte. Le bhith a 'dèanamh seo dh'fhaodadh, mar eisimpleir, ceangal modalan a bharrachd a bhrosnachadh bho leabharlannan coitcheann. -us faodar ath-aithris a dhèanamh le argamaidean eadar-dhealaichte eadar-dhealaichte gus samhlaidhean neo-mhìnichte a thoirt a-steach. Tha an roghainn seo co-ionann ris an àithne sgriobta ceangail "EXTERN".

-Ur

Airson rud sam bith eile a bharrachd air prògraman C ++, tha an roghainn seo co-ionann ri -r : cruthaichidh e toradh ath-shuidheachaidh --- ie, faidhle toraidh a dh'fhaodadh a bhith na chuideachadh do ld . Nuair a tha ceangal ri prògraman C + +, -Tha a ' fuasgladh tagraidhean do luchd-togail, an taca ri -r . Chan eil e ag obair a chleachdadh - air faidhlichean a bha iad fhèin ceangailte ri -Ur ; aon uair 's gu bheil clàr an dealbhadair air a thogail, chan fhaodar a chur ris. Cleachd -Tor airson an ceangal pàirt mu dheireadh a-mhàin, agus -r airson càch.

--unique [= ROINN ]

A 'cruthachadh earrann toraidh air leth airson gach earrann a tha a' maidseadh SECTION , no ma tha an argamaid DEARBHAN cairt fiadhaich roghainneil air a dhìth, airson gach earrann ionaid dhìlleachdan. Tha earrann dhìlleachdan air aon iomradh nach eil gu sònraichte ann an sgriobt ceangail. Faodaidh tu an roghainn seo a chleachdadh iomadh uair air an loidhne àithne; Tha e a 'cur bacadh air a bhith a' ceangal earrannan a-steach àbhaisteach leis an aon ainm, sònrachadh earrannan toraidh as cudromaiche ann an sgriobt ceangail.

-v

- briseadh

-V

Seall an àireamh dreach airson ld . Tha an roghainn -V cuideachd a 'liostadh nam mì-bheachdan taiceil.

-x

- a-mach às a h-uile càil

Geàrr às a h-uile samhla ionadail.

-X

- muinntir an àite

Thoir às gach samhlaidhean sealach ionadail. Airson a 'mhòr-chuid de na targaidean, is e seo samhlaidhean ionadail a th' air tòiseachadh le L.

-y samhla

--trace-symbol = samhla

Clò-bhuail ainm gach faidhle ceangailte anns a bheil samhla a ' nochdadh. Faodar an roghainn seo a thoirt dhut grunn thursan. Air mòran shiostaman tha e riatanach clàr a thoirt seachad.

Tha an roghainn seo feumail nuair a tha samhla neo-mheasgaichte agad anns a 'cheangal agad ach chan eil fios agad càite a bheil an t-iomradh a' tighinn.

-Sa slighe

Cuir slighe gu slighe bunaiteach an leabharlann. Tha an roghainn seo ann airson co-chòrdadh Solaris.

-z prìomh-fhacal

Tha na faclan-luirg aithnichte mar "initirstirst", "interpose", "loadfltr", "nodefaultlib", "nodelete", "nodlopen", "nodump", "now", "origin", "combreloc", "nocombreloc" agus "nocopyreloc ". Tha na faclan-luirg eile air an leigeil seachad airson co-chòrdadh Solaris. Tha "initirstirst" a 'comharrachadh gum bu chòir an nì a thòiseachadh an toiseach aig àm rithe mus tèid rudan eile a dhèanamh. Tha "interpose" a 'comharrachadh an rud a tha a' bhòrd samhla aice a 'toirt a-steach a h-uile samhla ach a' phrìomh cho-fhreagarrach. "loadfltr" a 'comharrachadh an nì a tha na filtees air a phròiseasachadh aig àm ruith. slighean rannsachaidh leabharlann bunaiteach sam bith. Tha "nodelete" a 'comharrachadh nach bu chòir an nì a bhith air a luchdachadh a-nuas aig àm-ama. Tha "nodlopen" a 'comharrachadh nach eil an nì ri fhaighinn airson "dlopen". Chan eil "nodump" a 'comharrachadh nach urrainn an "object" a dhiùltadh. Tha "a-nis" a 'comharrachadh an nì leis a' cheangal rèidh neo-leògach. "origin" a 'comharrachadh gum faodadh $ ORIGIN a bhith anns an nì. Chan eil "defs" a 'toirt a-steach samhlaidhean gun mhìneachadh. Tha "muldefs" a' ceadachadh iomadh mìneachadh. Bidh "combreloc" a 'ceangal grunn earrannan ath-ghluasad agus a' seòrsachadh gus dèanamh cinnteach gum bi lorg samhlaidhean samhlachail ann.

Tha "nocombreloc" a 'ciorramadh earrannan iomlaid le chèile. Tha "nocopyreloc" a 'càineadh riochdachadh ath-ghluasad.

- ( tasglann -)

- tasglann buidhnean -start --end-group

Bu chòir gum biodh na tasglannan nan liosta de fhaidhlichean tasglann . Faodaidh iad a bhith an dàrna cuid faidhlichean faidhlichean, no roghainnean -l .

Bidh na tasglainn a chaidh a shònrachadh air an sgrùdadh a-rithist uair sam bith gus nach tèid tùsan ùra neo-chinnteach a chruthachadh. Mar as trice, thèid tasglann a rannsachadh ach aon uair san òrdugh gu bheil e air a shònrachadh air an loidhne àithne. Ma tha feum air samhla anns an tasglann sin gus fuasgladh fhaighinn air samhla neo-mhìnichte air a bheil nì a 'toirt iomradh ann an tasglann a tha a' nochdadh nas fhaide air an loidhne-àithne, cha b 'urrainn don neach-ceangail an t-iomradh sin fhuasgladh. Le bhith a 'buannachadh nan tasglannan, bidh iad uile air an rannsachadh a-rithist uaireannan gus am bi gach tagradh comasach air a rèiteachadh.

Tha cosgais chudromach cudromach aig an roghainn seo. Is fheàrr a chleachdadh ach nuair a tha tagraidhean cruinne nach gabh a sheachnadh eadar dà thasglann no barrachd.

--accept-unknown-input-arch

--no-accept-unknown-input-arch

Tha e ag innse don neach-ceangail gabhail ri faidhlichean a-steach nach urrainn ailtearachd aithneachadh. Is e am beachd gu bheil fios aig an neach-cleachdaidh dè a tha iad a 'dèanamh agus a dh'aona ghnothaich airson ceangal anns na faidhlichean fiosrachaidh neo-aithnichte seo. B 'e seo giùlan bunaiteach a' cheangail, mus fhàg e 2.14. Is e an giùlan bunaiteach bho sgaoileadh 2.14 a-mach a bhith a 'diùltadh nam faidhlichean leithid sin, agus mar sin chaidh an roghainn --accept-unknown-input-arch a chur ris gus an t-seann ghiùlan a thoirt air ais.

- cuir a-steach facal-luirg

Thèid an roghainn seo a thoirt seachad airson co-chòrdadh SunOS .

-BDynamic

-dy

-call_shared

Ceangail an aghaidh leabharlainn inntinneach. Chan eil seo ach brìoghmhor air àrd-ùrlaran airson na leabharlannan co-roinnte a tha a 'faighinn taic. Mar as trice bidh an roghainn seo bunaiteach air na h-àrd-chabhsaran sin. Tha na diofar atharrachaidhean den roghainn seo airson co-chòrdadh le diofar shiostaman. Faodaidh tu an roghainn seo a chleachdadh iomadh uair air an loidhne àithne: tha e a 'toirt buaidh air rannsachadh leabharlann airson roghainnean -l a bhios ga leantainn.

-Bgroup

Suidhich am bratach "DF_1_GROUP" san inntrigeadh "DT_FLAGS_1" anns an earrann bheòthail. Tha seo a 'ciallachadh gu bheil an ceangal runtime airson lorg a làimhseachadh anns a' chuspair seo agus na cleachdaidhean aige a choileanadh a-mhàin taobh a-staigh na buidhne. - chan eil e mì-chinnteach . Chan eil an roghainn seo ach brìoghmhor air àrd-ùrlaran ELF a tha a 'toirt taic do leabharlannan co-roinnte .

-Bstatic

-dn

-no_shared

-stat

Na ceangail an aghaidh leabharlannan co-roinnte. Chan eil seo ach brìoghmhor air àrd-ùrlaran airson na leabharlannan co-roinnte a tha a 'faighinn taic. Tha na diofar atharrachaidhean den roghainn seo airson co-chòrdadh le diofar shiostaman. Faodaidh tu an roghainn seo a chleachdadh iomadh uair air an loidhne àithne: tha e a 'toirt buaidh air rannsachadh leabharlann airson roghainnean -l a bhios ga leantainn.

-Bsymbolic

Nuair a chruthaicheas tu leabharlann co-roinnte, cuir iomraidhean air samhlaidhean cruinneil chun a 'mhìneachaidh taobh a-staigh an leabharlann cho-roinnte, ma tha. Mar as trice, tha e comasach prògram a tha ceangailte ri leabharlann co-roinnte a 'cur an cèill am mìneachadh taobh a-staigh an leabharlann cho-roinnte. Chan eil an roghainn seo ach brìoghmhor air Foirmean Mìl-fhillte a bheir taic do leabharlannan co-roinnte.

- earrannan-sgrùdaidh

- earrannan gun sgrùdadh

A 'faighneachd don neach-ceangail gun a bhith a' sgrùdadh seòlaidhean earrannan às deidh dhaibh a bhith air an sònrachadh gus faighinn a-mach a bheil tar-phàipearan sam bith ann. Mar as trice bidh an neach-taice a 'dèanamh an sgrùdaidh seo, agus ma lorgas e tar-tharraing sam bith, bheir e teachdaireachdan mearachd freagarrach. Tha fios aig an neach-ceangail mu dheidhinn, agus tha ia 'dèanamh cuibhreannan airson earrannan ann an iomadachd. Faodar an giùlan bunaiteach ath-nuadhachadh le bhith a 'cleachdadh an tionndadh loidhne àithne - earrannan sgrùdaidh .

--cref

Toradh bòrd crois-iomraidh. Ma tha faidhle map ceangail ga chruthachadh, tha an clàr crois-iomraidh air a chlò-bhualadh ris an fhaidhle map. Air an làimh eile, tha e air a chlò-bhualadh air an toradh coitcheann.

Tha cruth a 'bhùird sìmplidh a dh'aona ghnothaich, gus am bi e furasta a bhith air a làimhseachadh le sgriobt ma bhios sin riatanach. Tha na samhlaidhean air an clò-bhualadh, air an òrdachadh le ainm. Airson gach samhla, tha liosta de dh'ainmean faidhle air a thoirt seachad. Ma tha an samhla air a mhìneachadh, is e a 'chiad fhaidhle a tha air a liostadh suidheachadh a' mhìneachaidh. Tha na faidhlichean a tha air fhàgail a 'toirt iomradh air an samhla.

--no-define-common

Tha an roghainn seo a 'bacadh cur an gnìomh seòlaidhean gu samhlaidhean cumanta. Tha an aon bhuaidh aig an comharra sgriobta "INHIBIT_COMMON_ALLOCATION".

Tha an roghainn --no-define-coitcheann a ' ceadachadh a' cho-dhùnadh a bhith a 'toirt seachad seòlaidhean gu samhlaidhean cumanta bhon roghainn den t-seòrsa faidhle toraidh; no ma tha seòrsa toradh neo-ath-ghluasadach a 'feuchainn a bhith a' sònrachadh seòlaidhean gu samhlaidhean cumanta. Le bhith a 'cleachdadh --no-define-common leigidh samhlaidhean cumanta a tha air an ainmeachadh bho leabharlann co-roinnte a bhith a' toirt seachad seòlaidhean a-mhàin sa phrìomh phrògram. Tha seo a 'cur às don àite dùblaichte nach deach a chleachdadh anns an leabharlann cho-roinnte, agus cuideachd a' cur bacadh air duilgheadas sam bith a thaobh a bhith a 'fuasgladh na dùblaich ceàrr nuair a tha mòran mhodalan fiùghantach ann le slighean rannsachaidh sònraichte airson rèiteachadh samhla rèidh.

--defsym symbol = abairt

Cruthaich samhla cruinneil anns an fhaidhle toraidh, anns a bheil an seòladh iomlan air a thoirt seachad le abairt . Faodaidh tu an roghainn seo a chleachdadh cho tric 'sa tha e riatanach gus iomadh samhla a mhìneachadh anns an loidhne àithne. Tha cruth àireamhach cuibhrichte a 'faighinn taic airson an fhacail anns a' cho-theacsa seo: is dòcha gum bi thu a 'toirt seasmhach fad-sheasmhach no ainm samhla a th' ann mar-thà, no cleachd "+" agus "-" gus cuibhreannan no samhlaidhean seacsadeach a chur ris no a thoirt air falbh. Ma tha feum agad air seallaidhean nas cinntiche, smaoinich air a bhith a 'cleachdadh a' chànain cheangail ceangail bho sgriobt. Thoir fa-near: cha bu chòir àite geal idir eadar samhla , an comharra co-ionnan (`` = = '), agus abairt .

--demangle [= stoidhle ]

--no-demangle

Bidh na roghainnean sin a 'smachdachadh co-dhiù a tha iad a' comharrachadh ainmean samhla ann an teachdaireachdan mearachd agus toradh eile. Nuair a thèid an ceangal a thoirt dha demangle, bidh e a 'feuchainn ri ainmean samhla a thaisbeanadh ann an dòigh a ghabhas leughadh: bidh e a' toirt air falbh comharran ma tha iad air an cleachdadh le cruth faidhle an nì, agus bidh iad a 'tionndadh ainmean samhla mongail gu ainmean a ghabhas leughadh. Tha diofar stoidhlichean mangling ann an coimeas eadar-dhealaichte. Faodar an argamaid roghainn roghainn deuchainn a chleachdadh gus stoidhle dearbhaidh iomchaidh a thaghadh airson do choimeasgair. Seallaidh an neach-ceangail gu h-àbhaisteach mura h-eil an caochladh àrainneachd COLLECT_NO_DEMANGLE air a shuidheachadh. Faodaidh na roghainnean sin a bhith air an cleachdadh gus an roghainn bunaiteach a thoirt thairis.

--dynamic-linker file

Suidhich ainm an neach-ceangail fiùghantach. Chan eil seo ach brìoghmhor nuair a bhios e a 'cruthachadh sgrùdaidhean ELF ceangailte gu daingeann. Mar as trice bidh an ceangal bunaiteach fiùghantach ceart; na cleachd seo mura h-eil fios agad dè a tha thu a 'dèanamh.

--embedded-relocs

Chan eil an roghainn seo ach brìoghmhor nuair a tha ceangal eadar MIPS agus còd PIC, a tha air a ghineadh leis an roghainn -membedded-pic gu compiler GNU agus co-chruinneadair. Tha e ag adhbharachadh don cheangal a bhith a 'cruthachadh clàr a dh'fhaodar a chleachdadh aig àm-ama gus dàta sam bith a chaidh a thòiseachadh gu staitigeach a thoirt gu luachan puing. Faic an còd ann an testsuite / ld-empic airson fiosrachadh.

- rabhaidhean falamh

Dèilig ri gach rabhadh mar mhearachdan .

--force-exe-suffix

Dèan cinnteach gu bheil uidheamachadh .exe ann am faidhle toraidh.

Mura h-eil "facal" exe "no" .dll "ann am faidhle toraidh làn-cheangailte a th 'air a togail gu soirbheachail, tha an roghainn seo a' toirt air an neach-ceangail an lethbhreac toraidh a chopaigeadh gu aon den aon ainm le fòrmat" .exe ". Tha an roghainn seo feumail nuair a bhios tu a 'cleachdadh unfod makefiles air atharrachadh ann an aoigheachd Microsoft Windows, oir cha dèid cuid de dh' fhuaimean de dhealbh ruith mura h-eil e a 'crìochnachadh ann an suim ".exe".

--no-gc-earrannan

--gc-earrannan

Cumasaich cruinneachadh fiachan de earrannan in-ghabhail nach deach a chleachdadh. Tha e air a thoirt seachad air targaidean nach eil a 'toirt taic don roghainn seo. Chan eil an roghainn seo co-chòrdail ri -r , agus cha bu chòir a chleachdadh le ceangal gluasadach. Faodar an giùlan bunaiteach (gun a bhith a 'coileanadh a' chruinneachadh sgudail seo ) a thoirt air ais le bhith a 'sònrachadh --no-gc-earrannan air an loidhne àithne.

--help

Clò-bhuail geàrr-chunntas de na roghainnean ceann-uidhe air an toradh coitcheann agus fàgail.

- taic-taic

Clò-bhuail geàrr-chunntas de na roghainnean sònraichte targaid air an toradh coitcheann agus fàgail.

-Map mapfile

Clò-bhuail mapa ceangail ris an fhaidhle mapa faidhle. Faic an tuairisgeul air an rogha -M , gu h-àrd.

- cuimhne-gun-cumail

Mar as trice, bidh ld nas fheàrr airson luaths a thaobh cleachdadh cuimhne le bhith a 'cidseadh na clàran samhla de fhaidhlichean in-chuimhne mar chuimhneachan. Tha an roghainn seo ag iarraidh ld a chleachdadh na àite as fheàrr airson cleachdadh cuimhne, le bhith a 'cur air ais na clàran samhla mar a tha feum air. Dh'fhaoidte gum bi feum air seo ma bhios ld a ' ruith a-mach à àite cuimhne fhad' s a bhios ceangal gnìomhachd mòr ann.

- neo-mhìnichte

-z defs

Mar as trice nuair a chruthaicheas tu leabharlann co-shìmplidh neo-samhlachail, tha samhlaidhean neo-mhìnichte ceadaichte agus thèid fhàgail gu bhith air a rèiteachadh leis an luchd-luidh corr. Chan eil na roghainnean sin a 'toirt a-steach samhlaidhean neo-chrìochnaichte.

--allow-multiple-definition

-z muldefs

Mar as trice nuair a tha samhla air a mhìneachadh iomadh uair, bheir an neach-ceangraidh mearachd marbhtach. Tha na roghainnean sin a 'ceadachadh iomadh mìneachadh agus thèid a' chiad mhìneachadh a chleachdadh.

--allow-shlib-undefined

Leig le samhlaidhean neo-chrìochnaichte ann an nithean co-roinnte eadhon nuair a tha --no-undefined air a shuidheachadh. Is e an toradh lìn gum bi samhlaidhean neo-chrìochnaichte ann an nithean cunbhalach fhathast a 'cur mearachd air adhart, ach thèid aire a thoirt do shamhlaidhean gun mhìneachadh ann an nithean co-roinnte. Tha cur an gnìomh neo-mhìneachaidh a 'ciallachadh gu bheileas a' sùileachadh gum bi an ceangal runtime a 'sgoltadh air samhlaidhean neo-chrìochnaichte. Ach tha aon siostam aig a 'char as lugha (BeOS) far a bheil samhlaidhean neo-chinnteach ann an leabharlannan co-roinnte mar as àbhaist seach gu bheil an craiceann gan dìon aig àm uaine gus an obair as freagarraiche a thaghadh airson an ailtireachd làithreach. Tha IE gu h-eamamach a 'taghadh gnìomh memset iomchaidh. A rèir coltais, tha e cuideachd àbhaisteach do leabharlannan roinnte HPPA a bhith air samhlaidhean neo-chrìochnaichte.

--no-undefined-version

Mar as trice nuair a bhios dreach nach eil cho sìmplidh aig samhla, leigidh an co-cheangal e. Chan eil an roghainn seo a 'toirt seachad samhlaidhean le dreach neo-mhìnichte agus thèid mearachd marbhtach a thoirt a-mach an àite sin.

- mì-chothromachadh-gun-rabhadh

Mar as trice bidh ld a 'toirt mearachd ma tha thu a' feuchainn ri ceangal a dhèanamh ri faidhlichean ion-chuideachaidh nach eil air am meas airson adhbhar air choireigin, is dòcha oir tha iad air an cur ri chèile airson luchd-deasachaidh eadar-dhealaichte no airson diofar adhbharan. Tha an roghainn seo ag innse ld gum bu chòir dha mearachdan mar sin a cheadachadh gu sàmhach. Cha bu chòir an roghainn seo a chleachdadh ach le cùram, ann an cùisean nuair a tha thu air gnìomh shònraichte a ghabhail a nì cinnteach nach eil mearachdan na ceangail neo-iomchaidh.

- tasg-lann gu lèir

Cuir dheth a 'bhuaidh a tha aig an roghainn tasglann --whole airson faidhlichean tasglann a thig às a dhèidh.

- neo-fhrith-exec

Cumail am faidhle toraidh co-ionnan nuair a bhios e fhathast air a chleachdadh. Mar as trice, cha toir an neach-taice faidhle toraidh ma choinnicheas e mearachdan tron ​​phròiseas ceangail; bidh e a 'tighinn a-mach gun a bhith a' sgrìobhadh faidhle toraidh nuair a dh 'fhagas e mearachd sam bith.

-nostdlib

Na rannsaich seòladairean leabharlann gu sònraichte air an loidhne òrduigh. Thèid seòladairean leabharlann a tha air an sònrachadh ann an sgriobtaichean ceangail (a 'gabhail a-steach sgriobtaichean ceangail a chaidh a shònrachadh air loidhne nan òrdughan) an aire.

- riochd cruth-riochdachaidh

Faodar ld a dhealbhadh gus taic a thoirt do bharrachd air aon seòrsa seòrsa faidhle. Ma tha an ld agad air a cho-dhealbhadh mar seo, faodaidh tu an roghainn --ofatat a chleachdadh gus an cruth dà-chànanach airson an fhaidhle cuspair toraidh a shònrachadh. Fiù nuair a thèid ld a dhealbhadh gus taic a thoirt do chruthan obrachaidh eile, chan àbhaist dhut seo a shònrachadh, oir bu chòir ld a bhith air a dhealbhadh gus cruth toraidh bunaiteach a dhèanamh mar an cruth as àbhaistiche air gach inneal. Is e cruth toradh- teacsa sreang teacsa, ainm cruth sònraichte le taic bho leabharlannan BFD. (Is urrainn dhut liosta de na cruthan dàta a tha ri fhaighinn le objdump -i .) Faodaidh an comharra sgriobta "OUTPUT_FORMAT" cuideachd an cruth toraidh a shònrachadh, ach tha an roghainn seo a 'dol thairis air.

-qmagic

Thèid an roghainn seo a thoirt seachad airson co-chòrdadh Linux.

-Qy

Thèid an roghainn seo a thoirt seachad airson co-chòrdadh SVR4.

--relax

Roghainn le buaidh air an inneal a tha a 'crochadh air. Chan eil an roghainn seo ach air a thoirt seachad air beagan thargaidean.

Air cuid de dh'àrd-chabhsairean, bidh an roghainn --relax a ' coileanadh optimizations cruinne a thig gu buil nuair a tha an ceangal a' fuasgladh a 'dèiligeadh ris a' phrògram, leithid modhan seòlaidh seòlaidh agus stiùireadh ùr a shìneadh ann am faidhle cuspair toraidh.

Air cuid de na h-àrd-chabhsaidean, faodaidh na h-amannan ceangail seo a bhith a 'dèanamh dearbhadh samhlachail den choileanadh so-dhèanta. Tha fios gu bheil seo mar chùis airson teaghlach Matsushita MN10200 agus MN10300 de luchd-deasachaidh.

Air àrd-ùrlaran far nach eilear a 'toirt taic dha seo, tha gabhail ri aonta, ach ga thoirt seachad an aire.

--retain-symbols- filename file

Cumail a- mhàin na samhlaidhean air an liostadh anns an fhaidhle faidhle , a 'toirt às do chàch. Is e faidhle còmhnard dìreach faidhle còmhnard, le aon ainm samhla gach loidhne. Tha an roghainn seo gu h-àraidh feumail ann an àrainneachdan (leithid VxWorks) far a bheil clàr mòr samhla cruinneil air a chuairteachadh mean air mhean, gus cuimhne a chumail air àm-ruith.

- chan eil comharra-samhlaidhean-faidhle a ' toirt seachad samhlaidhean neo-chrìochnaichte, no samhlaidhean a dhìth airson ath-ghluasad.

Chan fhaod thu ach comharran -samhlaidhean-faidhle a shònrachadh aon uair sa loidhne-àithne. Tha e a 'toirt thairis air -s and -S .

-rpath dir

Cuir pasgan a-steach gu ruige slighe rannsachaidh leabhar-ruith an ama. Tha seo air a chleachdadh nuair a bhios ceangal neo-eisimeileach ceangailte ri nithean co-roinnte. Tha argamaidean uile- rianail air an co-fhreagairt agus air an cur chun a 'cheangal runtime, a bhios gan cleachdadh gus rudan co-roinnte a lorg aig àm-ama. Tha an roghainn- rpath cuideachd air a chleachdadh nuair a lorgar nithean co-roinnte a tha a dhìth air nithean co-roinnte air an gabhail a-steach gu soilleir anns a 'cheangal; faic an tuairisgeul air an rogha-link-link . Mura h-eil- sruthadh air a chleachdadh nuair a tha ceangal ELF ann a cheangal, thèid susbaint na h-àrainneachd caochlaideach "LD_RUN_PATH" a chleachdadh ma tha e air a mhìneachadh.

Faodar an rogha-rpath a chleachdadh cuideachd air SunOS. Mar as trice, air SunOS, bidh an ceangal a 'cruthachadh raon sgrùdaidh runtime a-mach às na roghainnean -L a tha e air a thoirt seachad. Ma thèid roghainn -rpath a chleachdadh, thèid an t-slighe rannsachaidh rèite a chruthachadh a-mhàin a 'cleachdadh nan roghainnean -rpath , a' toirt aire do na roghainnean -L . Faodaidh seo a bhith feumail nuair a bhios tu a 'cleachdadh gcc, a tha a' cur mòran roghainnean -L a dh 'fhaodadh a bhith air siostaman faidhlichean air an stàladh.

Airson co-chòrdadh ri luchd-ceangail ELF eile, ma tha an t-ainm -R air a leantainn le ainm eòlaire, an àite ainm faidhle, thèid a làimhseachadh mar an -rpath option.

-rpath-link DIR

Nuair a chleachdas tu ELF no SunOS, is dòcha gum bi feum aig aon leabharlann co-roinnte eile. Bidh seo a 'tachairt nuair a tha ceangal "ld -shared" a' toirt a-steach leabharlann co-roinnte mar aon de na faidhlichean a-steach.

Nuair a choinnicheas an neach-ceangail ris an eisimeileachd sin nuair a nì e ceangal neo-roinnte no neo-ath-shuidheachaidh, feuchaidh e gu fèin-obrachail an leabharlann cho-roinnte riatanach a lorg agus a ghabhail a-steach sa cheangal, mura h-eil e air a ghabhail a-steach gu follaiseach. Ann an leithid de chùis, tha an roghainn -rpath-link a ' sònrachadh a' chiad shreath de eòlairean ri rannsachadh. Faodaidh an roghainn -rpath-link sreath de dh 'ainmean pasgan a shònrachadh le bhith a' sònrachadh liosta de dh'ainmean air an dealachadh le colons, no le bhith a 'nochdadh iomadh uair.

Bu chòir an roghainn seo a chleachdadh gu cùramach oir tha e a 'toirt thairis air an t-slighe rannsachaidh a dh' fhaodadh a bhith cruaidh air leabharlann co-roinnte. Ann an leithid de chùis tha e comasach slighe rannsachaidh eadar-dhealaichte gun chleachdadh a chleachdadh na bhiodh an ceangal runtime a 'dèanamh.

Bidh an ceangal a 'cleachdadh nan slighean rannsachaidh a leanas gus leabharlannan co-roinnte riatanach a lorg.

1.

Seòlaidhean sam bith air an comharrachadh le roghainnean -rpath-link .

2.

Seòlaidhean sam bith air an comharrachadh le roghainnean- rpath . Is e an diofar eadar -rpath agus -rpath-link gu bheil na seòlaidhean a chaidh a shònrachadh le roghainnean- rpath air an gabhail a-steach san fhreagarrachd agus air an cleachdadh aig àm-ama, ach chan eil an roghainn -rpath-link ach èifeachdach aig àm ceangail. Tha e airson an ceangal dùthchasach a-mhàin.

3.

Air siostam ELF, mura biodh na roghainnean -rpath agus "rpath-link" air an cleachdadh, dèan sgrùdadh air susbaint an atharrachaidh àrainneachd "LD_RUN_PATH". Tha e airson an ceangal dùthchasach a-mhàin.

4.

Air SunOS, nam biodh an roghainn -rpath air a chleachdadh, lorg seòladairean sam bith a chaidh a shònrachadh le roghainnean -L .

5.

Airson ceangal dùthchasach, tha susbaint na h-àrainneachd caochlaideach "LD_LIBRARY_PATH".

6.

Airson ceangal eadar-nàiseanta ELF, thèid na seòladairean ann an "DT_RUNPATH" no "DT_RPATH" de leabharlann co-roinnte a lorg airson leabharlannan co-roinnte a tha a dhìth. Chan eil na tagraidhean "DT_RPATH" air an leigeil seachad ma tha inntrigidhean "DT_RUNPATH" ann.

7.

Na seòladairean bunaiteach, mar as trice / lib agus / usr / lib .

8.

Airson ceangal dùthchasach air siostam ELF, ma tha am faidhle /etc/ld.so.conf ann, liosta nan seòlaidhean a lorgar anns an fhaidhle sin.

Mura lorgar an leabharlann cho-roinnte a tha a dhìth, cuiridh an neach-taice rabhadh seachad agus lean air adhart leis a 'cheangal.

sgaoileadh

-An urrainnear

Cruthaich leabharlann co-roinnte. Chan eil seo an-dràsta a 'faighinn taic ach air àrd-ùrlaran ELF, XCOFF agus SunOS. Air SunOS, cruthaichidh an ceangaliche leabharlann co-roinnte gu fèin-ghluasadach mura tèid an roghainn -e a chleachdadh agus tha samhlaidhean neo-chinnteach anns a 'cheangal.

--sort-common

Tha an roghainn seo ag innse do ld na samhlaidhean cumanta a rèiteach le meud nuair a bhios e gan cur anns na h-earrannan toraidh iomchaidh. An toiseach thig a h-uile samhla byte a-mach, an uair sin an dà bhile, an uair sin na ceithir beataichean, agus an uairsin a h-uile càil eile. Tha seo gus casg a chur air beàrnan eadar samhlaidhean mar thoradh air cuingealachd co-thaobhadh.

--split-by-file [ meud ]

Coltach ri --split-by-reloc ach tha e a 'cruthachadh earrann toraidh ùr airson gach faidhle ionaid nuair a ruigear am meud . meud a 'meudachadh gu meud 1 mura h-eil e air a thoirt seachad.

--split-by-reloc [ count ]

Bidh e a 'feuchainn ri earrannan a bharrachd a dhèanamh anns an fhaidhle toraidh gus nach bi earrann tarraingeach san fhaidhle nas motha na cunntadh gluasad. Tha seo feumail nuair a bhios tu a 'cruthachadh fhaidhlichean mòra a ghabhas ath-nuadhachadh a-steach ann an cròilean sònraichte fìor-ùine le cruth faidhle cuspair COFF; seach gu bheil COFFcannot a 'riochdachadh barrachd air 65535 a' gluasad air ais ann an aon earrann. Thoir an aire nach toir seo obrachadh le cruthan faidhle nì nach eil a 'toirt taic do earrannan neo-riaghailteach. Cha roinn an neach-ceangail earrannan taic fa leth airson ath-sgaoileadh, mar sin ma tha earrann ionmholta a 'gabhail a-steach barrachd na cunntadh ath-shuidheachadh, bidh aon earrann toraidh a' ciallachadh gu bheil mòran ath-shuidheachadh. cuir sìos air ais air luach 32768.

--stats

Dèan coimeas agus taisbeanadh staitistig mu obrachadh an neach-ceangail, mar àm cur gu bàs agus cleachdadh cuimhne.

- cruth àrd-ìre

Airson cuid de na targaidean, tha an toradh de ld eadar-dhealaichte ann an cuid de dhòighean bho toradh cuid de luchd-ceangail a tha ann mar-thà. Bidh an tionndadh seo ag iarraidh ld airson cruth traidiseanta a chleachdadh an àite sin.

Mar eisimpleir, air SunOS, ld a ' cur a-steach inntrigidhean dùblaichte anns a' bhòrd sreath sreang. Faodaidh seo lùghdachadh meud faidhle toraidh le fiosrachadh dearbhaidh iomlan le còrr air 30 sa cheud. Gu mì-fhortanach, chan urrainn don phrògram "dbx" SunOS am prògram a tha a 'tighinn gu buil a leughadh ("gdb" nach eil duilgheadas sam bith). Tha an tionndadh --traditional-format ag innse do ld nach cuir a-steach inntrigeadh dùblaichte.

--section-start sectionname = org

Lorg earrann anns an fhaidhle toraidh aig an t-seòladh iomlan a bheir org . Faodaidh tu an roghainn seo a chleachdadh uiread de thìde mar a dh 'fheumar gus iomadh earrann a lorg anns an loidhne àithne. Feumaidh org a bhith mar aon-fhillte sè-sheasmhach; airson co-chòrdadh le ceanglaichean eile, is dòcha gum fàg thu an 0x as àbhaist a tha co-cheangailte ri luachan hexadecimal. Thoir fa-near: cha bu chòir àite geal a bhith eadar ainm-ainm, an comharra co-ionnan (`` = = '), agus org .

-Tbss org

-Tàtaig org

-Ttext org

Cleachd org mar an t-seòladh tòiseachaidh --- fa leth --- am "bss", "data", no an earrann "teacsa" den fhaidhle toraidh. Feumaidh org a bhith mar aon-fhillte sè-sheasmhach; airson co-chòrdadh le ceanglaichean eile, is dòcha gum fàg thu an 0x as àbhaist a tha co-cheangailte ri luachan hexadecimal.

--dll-verbose

--verbose

Taisbean an àireamh tionndaidh airson ld agus liostaich na mìneachaidhean taiceil a tha a 'faighinn taic. Taisbeanaidh na faidhlichean a chuireas a-steach agus chan urrainn dhaibh fhosgladh. Seall an sgriobt ceangail a tha an ceangal a 'cleachdadh.

--version-script = version-scriptfile

Ainmich ainm sgriobt dreach chun an neach-ceangail. Mar as trice bidh seo air a chleachdadh nuair a bhios leabharlannan co-roinnte a 'cruthachadh gus fiosrachadh a bharrachd a shònrachadh mu dheidhinn an dreach heirarchy airson an leabharlann a thathar a' cruthachadh. Chan eil an roghainn seo ach brìoghmhor air àrd-ùrlaran ELF a tha a 'toirt taic do leabharlannan co-roinnte.

--warn-common

Rabhadh nuair a thèid samhla cumanta a dhèanamh còmhla ri samhla cumanta eile no le mìneachadh samhla. Tha luchd-ceangail Unix a 'ceadachadh an cleachdaidhean seo beag sloppy, ach chan eil luchd-ceangail air cuid de shiostaman obrachaidh eile. Tha an roghainn seo a 'toirt cothrom dhut duilgheadasan a lorg bho bhith a' ceangal samhlaidhean cruinneil. Gu mì-fhortanach, tha cuid de na leabharlannan C a 'cleachdadh an cleachdadh seo, agus mar sin dh'fhaodadh gum faigh thu rabhaidhean mu shamhlaidhean anns na leabharlannan cho math ri na prògraman agad.

Tha trì seòrsachan de shamhlaidhean cruinneil, air an sealltainn an seo le C eisimpleirean:

int i = 1;

A mhìneachadh, a tha a 'dol anns an earrann dàta a chaidh a thòiseachadh den fhaidhle toraidh.

external int i;

Iomradh neo-mheasgaichte, nach eil a 'riarachadh àite. Feumaidh mìneachadh a bhith ann no cumadh cumanta airson an caochlaideach an àiteigin.

int i;

Comharra cumanta. Mura h-eil ach samhlaidhean cumanta (aon no barrachd) airson caochlaideach, tha e a 'dol a-steach ann an roinn dàta neo-fhreagarrach den fhaidhle toraidh. Tha an ceangal a 'ceangal iomadh samhla cumanta airson an aon caochladh ann an aon samhla. Ma tha iad de dhiofar mheudan, bidh e a 'togail na meud as motha. Bidh an ceangal a 'tionndadh comharra cumanta ann an dearbhadh, ma tha mìneachadh air an aon atharrachadh.

Faodaidh an roghainn --warn-common còig seòrsachan rabhaidh a dhèanamh. Tha gach rabhadh a 'gabhail a-steach dà shreath: tha a' chiad iomradh air an t-samhla dìreach a thachair, agus tha an dàrna fear a 'toirt iomradh air an t-samhla a chaidh a choileanadh leis an aon ainm. Bidh aon no dhà den dà shamhla na chomharra cumanta.

1.

A 'tionndadh comharra cumanta ann an iomradh, oir tha mìneachadh mu thràth airson an samhla.

(
): rabhadh: coitcheann de < 'air a thoirmeasg le mìneachadh (
): rabhadh: air a mhìneachadh an seo

2.

A 'tionndadh samhla chumanta gu bhith a' toirt iomradh, a chionn 's gu bheilear a' coinneachadh ri mìneachadh nas fhaide air adhart airson an samhla. Tha seo an aon rud ris a 'chùis roimhe, ach a-mhàin gu bheil na samhlaidhean air an lorg ann an òrdugh eadar-dhealaichte.

(
): rabhadh: mìneachadh de < 'cumanta ro-sheasmhach (
): rabhadh: cumanta an seo

3.

A 'tighinn còmhla ri samhla cumanta le samhla cumanta aon-mheudach roimhe.

(
): rabhadh: coitcheann iomadach de < ' (
): rabhadh: tha cumanta a th' ann an-seo

4.

A 'tighinn còmhla ri samhla cumanta le samhla cumanta nas motha roimhe.

(
): rabhadh: coitcheann de < 'air a thoirmeasg le cumanta nas motha (
): rabhadh: cumanta nas motha an seo

5.

A 'tighinn còmhla ri samhla cumanta le samhla cumanta nas lugha roimhe. Tha seo an aon rud ris a 'chùis roimhe, ach a-mhàin gu bheil na samhlaidhean air an lorg ann an òrdugh eadar-dhealaichte.

(
): rabhadh: coitcheann de < 'nas cumanta nas lugha (
): rabhadh: tha cumanta nas lugha an seo

--warn-constructors

Thoir rabhadh ma tha luchd-togail cruinne sam bith air an cleachdadh. Chan eil seo feumail ach airson beagan chruthan faidhle cuspair. Airson cruthan mar COFF no ELF, chan urrainn don neach-ceangail lorg cleachdadh luchd-togail chruinneil.

--warn-multiple-gp

Rabhadh a bheil feum air luachan iomadach cruinne cruinneil anns an fhaidhle toraidh . Chan eil seo ach brìoghmhor do luchd-giullachd sònraichte, leithid Alpha. Gu sònraichte, bidh cuid de luchd-deasachaidh a 'cur cuibhreannan luachmhor ann an earrann shònraichte. Bidh clàr shònraichte (an comharraiche cruinneil) a 'nochdadh ann am meadhan na h-earrainne seo, gus am faighear còirichean a luchdachadh gu h-èifeachdach tro mhodh seòlaidh co-cheangailte ris a' chlàr-stèidh. Leis gu bheil am modh coimeasgaichte ann am modh co-cheangailte ris a 'chlàr stèidhichte agus gu ìre bheag beag (me, 16 bit), tha seo a' cuingealachadh meud as motha an amar leantainneach. Mar sin, ann am prògraman mòra, tha e tric riatanach luachan iomadachaidh iomadachd cruinneil a chleachdadh gus aghaidh a chur air a h-uile cnapan comasach. Tha an roghainn seo ag adhbhrachadh rabhadh a thoirt seachad nuair a thachras seo.

--warn-once

Na rabhadh a-mhàin aon uair airson gach samhla neo-chrìochnaichte, an àite aon mhodal a tha a 'toirt iomradh air.

--warn-section-align

Rabhadh ma tha seòladh earrann toraidh air atharrachadh air sgàth co-thaobhadh. Mar as trice, thèid an co-òrdanachadh a shuidheachadh le roinn ion-chuideachaidh. Cha tèid an seòladh atharrachadh ach mura h-eil e soilleir gu soilleir; is e sin, mura h-eil an t-àithne "ROINNS" a 'comharrachadh seòladh tòiseachaidh airson an earrainn.

- dèan tasglann

Airson gach tasglann air a bheil iomradh air an loidhne àithne an dèidh an roghainn tasglann --whole , cuir a-steach gach faidhle cuspair san tasglann sa cheangal, an àite a bhith a 'rannsachadh an tasglann airson na faidhlichean a tha a dhìth. Thèid seo a chleachdadh mar as trice gus faidhle tasglann a thionndadh gu leabharlann co-roinnte, a 'toirt air gach nì a bhith air a ghabhail a-steach don leabharlann cho-roinnte a tha a' leantainn. Faodar an roghainn seo a chleachdadh barrachd air aon uair.

Dà notaichean nuair a chleachdas tu an roghainn seo bho gcc: An toiseach, chan eil fios aig gcc mu dheidhinn an roghainn seo, mar sin feumaidh tu a chleachdadh -Bl, tasg-lann . An dàrna àite, na dì-chuimhnich a chleachdadh -Tha, tasglann gun-iomlan às deidh do liosta nan tasglannan, oir cuiridh gcc a liosta fhèin de thasglannan air do cheangal agus is dòcha nach eil thu airson gum bi am bratach seo a 'toirt buaidh air sin cuideachd.

- dubh- samhla

Cleachd gnìomh cumaidh airson samhla . Thèid co-dhùnadh sam bith nach eil cho coltach ri samhla a rèiteachadh gu "__ wrap_symbol". Thèid iomradh sam bith air "__real_symbol" a rèiteachadh gu samhla .

Faodar seo a chleachdadh gus inneal-obrach a sholarachadh airson obair siostam. Bu chòir an obair cumaidh a bhith air ainmeachadh mar "__wrap_symbol". Ma tha thu airson fòn a chur air an t-siostam, bu chòir dha "__ real_symbol" a ghairm.

Seo eisimpleir fìrinneach:

void * __wrap_malloc (int c) {printf ("call malloc le% ld \ n", c); tilleadh __real_malloc (c); }

Ma chuireas tu còd eile ris an fhaidhle seo le --wrap malloc , cuiridh a h-uile gairm gu "malloc" an gnìomh "__wrap_malloc" an àite sin. Cuiridh an gairm gu "__real_malloc" ann an "__wrap_malloc" an gnìomh "malloc" fìor.

Is dòcha gu bheil thu airson obair "__real_malloc" a sholarachadh cuideachd, gus am bi ceanglaichean eadar an roghainn -wrap soirbheachail. Ma nì thu seo, cha bu chòir dhut am mìneachadh de "__ real_malloc" a chur san aon fhaidhle mar "__wrap_malloc"; Ma nì thu, faodaidh an co-chruinneadair an gairm fhuasgladh mus bi cothrom aig an neach-ceangail a thilgeil gu "malloc".

--enable-new-dags

--disable-new -ags

Faodaidh an ceangal seo na tagaichean ùra a chruthachadh ann an ELF. Ach is dòcha nach tuig na siostaman ELF as sine iad. Ma tha thu a 'sònrachadh - criomagan-inntinneach , thèid na tagaichean fiùghantach a chruthachadh mar a dh' fheumar. Ma shònraicheas tu - cleachdaiche-ùr-nodha , cha tèid tagaichean ùra a chruthachadh. Gu bunaiteach, chan eil na tagaichean ùra dinamamach gan cruthachadh. Thoir fa-near nach eil na roghainnean sin rim faotainn ach airson siostaman.

Tha an ceangal i386 PE a 'toirt taic don roghainn a tha stèidhichte, a tha ag adhbhrachadh gun tèid an toradh a bhith na leabharlann ceangailte gu daingeann (DLL) an àite gnàthach àbhaisteach. Bu chòir dhut an toradh "* .dll" ainmeachadh nuair a chleachdas tu an roghainn seo. A bharrachd air an sin, tha an ceangal a 'toirt taic gu h-iomlan ris na faidhlichean "* .def" àbhaisteach, a dh'fhaodte a bhith air a chomharrachadh air an loidhne àithne ceangail mar fhaidhle nì (gu dearbh, bu chòir dha a bhith air thoiseach air tasglannan a tha a' toirt seachad samhlan bho, gus dèanamh cinnteach gu bheil iad ceangailte, dìreach mar fhaidhle rud àbhaisteach).

A bharrachd air na roghainnean a tha cumanta do gach targaid, tha an ceangal i386 PE a 'toirt taic do roghainnean ceannach a bharrachd a tha sònraichte don targaid i386 PE. Faodar roghainnean a bheir luachan a bhith air an sgaradh bho na luachan aca le spàinnt no comharran co-ionnan.

--add-stdcall-alias

Ma thèid a thoirt seachad, thèid samhlaidhean le iar-leas stdcall (@ nn ) a thoirt a-mach mar-is agus cuideachd leis an iar-mheud stripped.

faidhle-faidhle- faidhle

Cleachd am faidhle mar ainm faidhle anns am bi seòlaidhean bunaiteach nan ath-ghluasad a dh 'fheumar airson DLLs a chruthachadh le dlltool .

--dll

Cruthaich dLL an àite gnàthach àbhaisteach. Is dòcha gum bi thu cuideachd air a chleachdadh no a shònrachadh "LIBRARY" ann am faidhle ".def" a chaidh a thoirt dhut.

--enable-stdcall-fixup

--disable-stdcall-fixup

Ma lorgas an ceangal samhla nach urrainn dha fuasgladh, feuchaidh e ri `fuzzy linking 'a dhèanamh le bhith a' coimhead airson samhla eile a tha eadar-dhealaichte ann an cruth ainm an t-samhla (cdecl vs stdcall) agus rèidhidh e an samhla sin le bhith a 'ceangal chun a 'gheama. Mar eisimpleir, dh'fhaodadh gum bi an samhla neo-chrìochnaichte "_foo" ceangailte ris an obair "_foo @ 12", no dh'fhaodadh an samhla "_bar @ 16" neo-chrìochnaichte a bhith ceangailte ris an obair "_bar". Nuair a nì an neach-ceangail seo, bidh e a 'clò-bhualadh rabhadh, oir mar as trice bu chòir dha a bhith air ceangal a dhèanamh, ach uaireannan feumar am feart seo a chleachdadh airson a bhith a' toirt a-steach leabharlannan a chaidh a ghineadh bho dhlls treas-phàrtaidh. Ma shònraicheas tu --enable-stdcall-fixup , tha an fheart seo làn comas agus chan eil rabhaidhean air an clò-bhualadh. Ma shònraicheas tu - mì-dhligheach-stdcall-fixup , tha an fheart seo air a chiorramadh agus thathar den bheachd gur e mearachdan a th 'ann.

--export-all-symbols

Ma thèid a thoirt seachad, thèid gach samhla cruinneil anns na rudan a thèid a chleachdadh airson dll a thogail a thoirt seachad leis an DLL. Thoir fa-near gur e seo bunaiteach mura biodh samhlan às-mhalairt sam bith ann. Nuair a thèid samhlaidhean a thoirt a-mach gu follaiseach tro fhaidhlichean DEF no a bhith air an às-mhalairt gu mì-thoilichte tro fheartan gnìomhachd, is e am prìomh-amas nach toir càil eile seachad às aonais an roghainn seo. Thoir fa-near nach bi na samhlaidhean "DllMain @ 12", "DllEntryPoint @ 0", "DllMainCRTStartup @ 12", agus "impure_ptr" air an reic gu fèin-obrachail. Cuideachd, cha tèid samhlaidhean a tha air an toirt a-steach bho DLLs eile ath-às-mhalairt, agus chan eil samhlaidhean ann a tha a 'comharrachadh an t-suidheachadh taobh a-staigh an DLL mar an fheadhainn a tha a' tòiseachadh le "_head_" no a 'crìochnachadh le "_iname". A bharrachd air an sin, cha tèid samhlaidhean bho "libgcc", "libstd ++", "libmingw32", no "crtX.o" a thoirt a-mach às a dhèidh. Cha tèid samhlaidhean le ainmean a thòiseachadh le "__rtti_" no "__builtin_" a thoirt a-mach, gus cuideachadh le C ++ DLLs. Mu dheireadh, tha liosta fharsaing de shamhlaidhean cygwin-prìobhaideach nach eil air an toirt a-mach (gu follaiseach, tha seo a 'bualadh air nuair a thogas tu DLLs airson targaidean cygwin).

Is iad na cugwin-excluded sin: "_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 ", agus" àrainneachd ".

- samhla-samhlaidhean- samhla , samhla , ...

A 'sònrachadh liosta de shamhlaidhean nach bu chòir a bhith air an às-mhalairt gu fèin-obrachail. Faodaidh na h-ainmean samhla a bhith air an cuimseachadh le cromagan no cuirmean.

--exe-libs lib , lib , ...

A 'sònrachadh liosta de leabharlannan tasglainn bho nach bu chòir samhlaidhean a bhith air an às-mhalairt gu fèin-obrachail. Dh'fhaoidte gum bi ainmean nan leabharlann air an crìochan le cromagan no cuirmean. A 'sònrachadh "--exe-libs ALL" a' gabhail a-steach samhlaidhean anns gach leabharlann tasglann bho às-mhalairt fèin-ghluasadach. Tha samhlaidhean air an liostadh gu soilleir ann an faidhle .def fhathast gan reic, ge bith dè an roghainn seo.

--file-rèiteachadh

Cuir an co-chòrdadh ri faidhle. Bidh earrannan anns an fhaidhle an-còmhnaidh a 'tòiseachadh aig faidhlichean faidhlichean a tha nan iomadan den àireamh seo. Tha seo a 'ciallachadh 512.

- cùl-glèidhte

- biodh cùl-stòr , geall

Cuir sònrachadh an tomhas cuimhne a tha air a ghleidheadh ​​(agus na roghainn roghainn) a bhith air a chleachdadh mar chrann airson a 'phrògram seo. Tha am bunait 1Mb glèidhte, 4K dealasach.

--image-base value

Cleachd luach mar sheòladh bunaiteach do phrògram no dll. Is e seo an t-àite cuimhne as ìsle a thèid a chleachdadh nuair a thèid do phrògram no dll a luchdachadh. Gus lùghdachadh a dhèanamh air an fheum air coileanadh do dlls a ghluasad agus a leasachadh, bu chòir seòladh bunaiteach sònraichte a bhith aig gach fear agus gun a bhith a 'dol thairis air dlls sam bith eile. Is e am bunait 0x400000 airson executables, agus 0x10000000 airson dlls.

--kill-at

Ma thèid a thoirt seachad, thèid na suffixes stdcall (@ nn ) a thoirt air falbh bho shamhlaidhean mus tèid an às-mhalairt.

--major-image-version value

A 'suidheachadh na prìomh àireamh de `` dreach ìomhaigh' '. Air adhart gu 1.

--major-os-version value

A 'suidheachadh a' phrìomh àireamh de `` os version ''. A 'fàgail 4.

--major-subsystem-version value

A 'suidheachadh an àireamh mhòr de `` siostam subsystem' '. A 'fàgail 4.

--minor-image-version value

A 'suidheachadh an àireamh bheag de' `dreach ìomhaigh ''. Air adhart gu 0.

--minor-os-version luach

A 'suidheachadh an àireamh bheag de' `os version ''. Air adhart gu 0.

--minor-subsystem-version value

A 'suidheachadh an àireamh bheag de' `subsystem system ''. Air adhart gu 0.

--output-def file

Cruthaichidh an ceangal am faidhliche faidhle anns am bi faidhle DEF a 'freagairt ris an DLL a tha an ceangal a' cruthachadh. Bu chòir am faidhle DEF seo (ris an canar "* .def") a chleachdadh gus leabharlann a thoirt a-steach le "dlltool" no faodar a chleachdadh mar chomharra air samhlaidhean a chaidh a thoirt a-mach gu fèin-obrachail no gu neo-dhìreach.

- file-implib

Cruthaichidh an ceangal am faidhliche faidhlichean a bhios a 'toirt a-steach leabhar-iomraidh a fhreagras ris an DLL a tha an ceangal a' gineadh. Faodar an lib-in-mhalairt seo (ris an canar "* .dll.a" no "* .a" a chleachdadh gus luchd-dèiligidh a cheangal ris an DLL a ghineadh; tha an giùlan seo a 'ciallachadh gun urrainn dhut ceum cruthaichte "dlltool" a thoirt a-steach.

--enable-auto-image-base

Tagh an ìomhaigh airson uidheaman DLL gu fèin-ghluasadach, mura h-eil aon air a shònrachadh leis an argamaid "--image-base". Le bhith a 'cleachdadh hash a ghineadh bhon dllname gus bunaitean ìomhaighean sònraichte a chruthachadh airson gach DLL, thèid tubaistean ann an cuimhne agus ath-ghluasad a dh' fhaodadh dàil a chuir air coileanadh a 'chlàir a sheachnadh.

--disable-auto-image-base

Na cuir thu fèin-ionad ìomhaigh gu fèin-obrachail. Mura h-eil ionad ìomhaigh air a shònrachadh leis an neach-cleachdaidh ("--image-base") an uairsin cleachd an t-àrd-ùrlar àrd-ùrlair.

--dll-search-prefix string

Nuair a nì thu ceangal gu dona gu dll gun leabharlann a-steach, lorg " .dll" an àite "lib .dll". Tha an giùlan seo a 'toirt cothrom eadar-dhealachadh furasta eadar DLLs a chaidh a thogail airson na diofar `` subplatforms': dùthchasach, cygwin, uwin, pw, msaa. Mar eisimpleir, mar as trice bidh cygwin DLLs a 'cleachdadh "--dll-search-prefix = cyg".

--enable-auto-import

Dèan ceangal sàr-mhath de "_symbol" gu "__imp__sbolbol" airson in-mhalairt DATA bho DLLs, agus cruthaich na samhlaidhean a tha a dhìth nuair a thogas tu na leabharlannan a-steach leis na DATAexports sin. Mar as trice bidh seo 'dìreach ag obair' --- ach uaireannan is dòcha gum faic thu am brath seo:

Cha ghabh "caochladair" 'a thoirt a-steach gu fèin-ghluasadach. Leugh na sgrìobhainnean airson ld "--enable-auto-import" airson mion-fhiosrachadh. "

Bidh an teachdaireachd seo a 'tachairt nuair a ruigeas cuid de na faclan (fo) inntrigeadh air an t-seòladh aig a' cheann thall le suim dà cho-fhreagarrach (chan fhaigh bùird in-ghabhail Win32 ach aon). Is e suidheachadh far am faodadh seo tachairt a bhith a 'gabhail a-steach ruigsinneachd air raointean ball de chaochladairean structair a chaidh a thoirt a-steach bho DLL, a bharrachd air a bhith a' cleachdadh clàr-amais leantainneach ann an caochladh eagrachadh air a thoirt a-steach bho DLL. Faodaidh caochladh ioma-riaghaltais sam bith (òrdughan, structaran, fada fhada, msaa) an suidheachadh mearachd seo a bhrosnachadh. Ge-tà, ge bith dè an seòrsa dàta ceart a tha air a thoirt a-mach às-mhalairt, thèid ld a lorg an-còmhnaidh, an rabhadh a thoirt seachad, agus fàgail e.

Tha grunn dhòighean ann gus aghaidh a chur air an duilgheadas seo, ge bith dè an seòrsa dàta a tha air a thoirt a-mach às a 'chaochladh:

Is e aon dòigh a chleachdadh - tionndadh-rèite-runtime-pseudo-reloc. Tha seo a 'fàgail na h-obrach gus tagraidhean a chur ann an còd an luchd-dèiligidh agad airson àrainneachd runtime, mar sin chan eil an dòigh seo ag obair a-mhàin nuair a tha a' chùrsa seo a 'toirt taic don fheart seo.

Is e dàrna fuasgladh a bhith a 'toirt buaidh air aon de na' constants 'a bhith caochlaideach --- sin, neo-aithnichte agus neo-dòchasach aig àm cruinneachaidh. Airson iomairtean, tha dà chothrom ann: a) dèan cinnteach gu bheil am facal index (seòladh an ionaid) caochlaideach, no b) dèan cinnteach gu bheil an clàr-amais 'seasmhach' caochlaideach. Mar sin:

seòrsa taobh a-muigh extern_array []; extern_array [1] -> {seòrsa so-leònte * t = external_array; t [1]}

no

seòrsa taobh a-muigh extern_array []; extern_array [1] -> {follaiseach int t = 1; extern_array [t]}

Airson structs (agus a 'chuid as motha de sheòrsachan dàta multiword eile) is e an aon roghainn an structar fhèin a dhèanamh (no an caochladh fhada, no an ...) caochlaideach:

structar taobh a-muigh; extern_struct.field -> {structural volatile s * t = & extern_struct; t-saoghal

no

muigh taobh a-muigh external_ll; extern_ll -> {ruigsinneach fada fhada * local_ll = & extern_ll; * local_ll}

Is e an treas dòigh air dèiligeadh leis an duilgheadas seo 'auto-import' a thrèigsinn airson an samhla a tha a 'dèanamh eucoir agus comharraich e le "__declspec (dllimport)". Ach, ann an dòigh-obrach a dh 'fheumas a bhith a' cleachdadh ùine-deasachaidh #defines a bhith a 'sealltainn a bheil thu a' togail DLL, a 'cruthachadh còd cleachdaiche a nì ceangal ris an DLL, no dìreach a bhith a' togail / a 'ceangal ri leabharlann staitneach. Ann a bhith a 'dèanamh an roghainn eadar na diofar dhòighean gus fuasgladh fhaighinn air an duilgheadas' seòladh dìreach le duilgheadas co-fhillte cunbhalach ', bu chòir dhut beachdachadh air cleachdadh àbhaisteach san t-saoghal:

Original:

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

Fuasgladh 1:

--foo.h external int arr []; --foo.c #include "foo.h" void main (int argc, char ** argv) {/ * Tha an suidheachadh seo airson win32 agus cygwin; na bi "optimize" * / so-ruigsinneach int * parr = arr; printf ("% d \ n", parr [1]); }

Fuasgladh 2:

--foo.h / * Nòta: thathar a 'gabhail a-steach à-mhalairt (chan eil __declspec (dllexport)) * / #if (air a mhìneachadh (_WIN32) || air a mhìneachadh (__ CYGWIN__)) && \! (defined (FOO_BUILD_DLL) | mìneachadh (FOO_STATIC )) #define FOO_IMPORT __declspec (dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr []; --foo.c #include "foo.h" void main (int argc, char ** argv) {printf ("% d \ n", arr [1]); }

Is e ceathramh slighe airson an duilgheadas seo a sheachnadh ath-chòdachadh a dhèanamh air do leabharlann gus eadar-aghaidh gnìomhach a chleachdadh seach eadar-aghaidh dàta airson na caochlaidhean eucoir (me gnìomhan set_foo () agus get_foo ( ).

--disable-auto-import

Na feuch ri ceangal sophisticalted de "_symbol" a dhèanamh gu "__imp__sbol" airson DATAimports bho DLLs.

--enable-runtime-pseudo-reloc

Ma tha susbaint a 'chòd agad air a mhìneachadh ann an earrann --enable-auto-import, is e sin, DATAimports bho DLL le co-lughdachadh neo-neoni, cruthaichidh an t-susbaint seo feart de' pseudo relocations run 'a dh'fhaodar a chleachdadh le àrainneachd runtime gus teisteanasan atharrachadh gu dàta mar seo anns a 'chòd cleachdaiche agad.

--disable-runtime-pseudo-reloc

Na cruthaich pseudo relocations airson in-mhalairt DATA bho dhroch fhrithealadh bho DLLs. Is e seo am bunait.

--enable-extra-pe-debug

Seall fiosrachadh debug a bharrachd co-cheangailte ri samhla fèin-in-ghiùlain fèin-ghiùlain.

- òrdugh-loidhne

A 'suidheachadh na h-earrainn earrainn. Bidh earrannan ann an cuimhne an-còmhnaidh a 'tòiseachadh aig seòlaidhean a tha iomadach an àireamh seo. Bidh e a 'fàgail 0x1000.

- cùl-stòr

- cùl-stòr , geall

Sònraich an tomhas de chuimhne a tha thu a 'glèidheadh ​​(agus a rèir roghainn) a bhith air a chleachdadh mar stack airson a' phrògram seo. Tha am bunait 2Mb glèidhte, 4K air a dhearbhadh.

--subsystem a tha

--subsystem a tha : mòr

--subsystem a tha : mòr . beag

Bidh e a 'sònrachadh an subsystem air am bi do phrògram air a dhèanamh. Is e na luachan laghail a tha "dùthchasach", "uinneagan", "console", agus "posix". Is urrainn dhut roghainn a shuidheachadh cuideachd air an fho-subsystem.

Cudromach: Cleachd an t-òrdugh fear ( % man ) gus faicinn mar a tha òrdugh air a chleachdadh air a 'choimpiutair agad.