Lainos / Ofin UNIX: Id

Orukọ

ld - Lilo LD , oluyipada GNU

SYNOPSIS

ld [awọn aṣayan ] objfile ...

Apejuwe

Ld daapọ nọmba kan ti ohun ati awọn faili pamosi, tun gbe data wọn pada ki o si ṣe asopọ awọn aami to ni aami. Ni igbagbogbo igbesẹ ti o kẹhin ninu sisọ eto jẹ lati ṣiṣe ld .

ld gba Ọna asopọ Linker Awọn faili ede ti a kọ sinu aṣajuju AT & T ká Ọna asopọ Olootu Orilẹ-ede Orilẹ-ede Gbangba Ede ede, lati pese iṣakoso ti o kedere ati iṣakoso apapọ lori ilana sisopọ.

Oju-iwe ọkunrin yii ko ṣe apejuwe ede aṣẹ; wo titẹsi ld ni "alaye", tabi Afowoyi Ld: asopọ asopọ GNU , fun awọn alaye kikun lori ede aṣẹ ati lori awọn ẹya miiran ti linkerGGU.

Eyi ti ikede l lo awọn idiwe BFD gbogboogbo lati ṣiṣẹ lori awọn faili ohun. Eyi n gba Ld lati ka, darapọ, ati kọ awọn faili ohun ni ọpọlọpọ ọna kika oriṣiriṣi --- fun apẹẹrẹ, COFF tabi "a.out". Awọn ọna kika oriṣiriṣi le jẹ sopọmọ pọ lati gbe iru faili ti o wa bayi.

Yato si irọrun rẹ, oluṣamulo GNU jẹ diẹ wulo ju awọn asopọpọ miiran lọ ni pipese alaye iwadii. Ọpọlọpọ awọn asopọpọ fi oju sile lẹsẹkẹsẹ lẹsẹkẹsẹ lori iriri aṣiṣe kan; nigbakugba ti o ba ṣeeṣe, Ld tẹsiwaju si ṣiṣe, gbigba ọ laaye lati ṣe idanimọ awọn aṣiṣe miiran (tabi, ni diẹ ninu awọn igba miiran, lati gba faili ti o ni nkan jade laisi aṣiṣe).

Awọn asopọ GNU Ld ti wa ni lati ṣafihan ọpọlọpọ awọn ipo, ati lati jẹ ibamu bi o ti ṣee ṣe pẹlu awọn asopọpọ miiran. Bi abajade, o ni ọpọlọpọ awọn aṣayan lati ṣakoso awọn ihuwasi rẹ.

Awọn aṣayan

Oluṣopọ naa ṣe atilẹyin fun plethora ti awọn aṣayan ila-aṣẹ , ṣugbọn ni iṣẹ gangan diẹ ninu wọn ni a lo ni eyikeyi pato akoonu. Fún àpẹrẹ, lílò lílò fún ld nígbàgbogbo ni láti sopọ mọ àwọn fáìlì ohun ìlò Unix kan lórí ìlànà ètò UNIX kan tí ó dára , tí ó ṣe ìtìlẹyìn. Lori iru eto yii, lati sopọ mọ faili kan "hello.o":

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

Eyi sọ fun ld lati gbe faili kan ti a npe ni o wu jade bi abajade asopọ asopọ "/lib/crt0.o" pẹlu "hello.o" ati awọn iwe-ika "libc.a", eyi ti yoo wa lati awọn ilana àwárí ti o tọ. (Wo ifọrọhan ti aṣayan -l ni isalẹ.)

Diẹ ninu awọn aṣayan ila-aṣẹ lati Ld le wa ni pato ni eyikeyi aaye ninu laini aṣẹ. Sibẹsibẹ, awọn aṣayan ti o tọka si awọn faili, bii -l tabi T , fa faili naa ni a ka ni ojuami ti aṣayan naa han ni laini aṣẹ, nipa awọn faili ohun ati awọn aṣayan faili miiran. Tun awọn aṣayan awọn faili ti kii ṣe faili pẹlu ariyanjiyan ti o yatọ yoo boya ko ni ilọsiwaju sii, tabi daabobo awọn iṣẹlẹ ti tẹlẹ (awọn ti o siwaju sii si apa osi lori ila aṣẹ) ti aṣayan naa. Awön ašayan ti o le wa ni ifipamö ni ifipamö diẹ sii ju igba kan ni a woye ni awön apejuwe to wa ni isalẹ.

Awọn ariyanjiyan ti kii-aṣayan jẹ awọn ohun elo tabi awọn akosile ti a gbọdọ sopọ mọ pọ. Wọn le tẹle, ṣaju, tabi jẹ adalu pẹlu awọn aṣayan ila-aṣẹ, ayafi pe a ko le gbe ariyanjiyan faili ohun kan laarin aṣayan ati ariyanjiyan rẹ.

Ni igbagbogbo oluwa asopọ wa pẹlu o kere faili faili kan, ṣugbọn o le pato awọn fọọmu miiran ti awọn faili titẹ sii alakomeji-lilo, -R , ati ede aṣẹ afọwọkọ. Ti ko ba si awọn faili input binary ni gbogbo wọn ti wa ni pato, oluṣe asopọ kii ṣe awọn iṣẹ eyikeyi, ti o si ṣe ifiranšẹ ifiranṣẹ Ko si faili titẹ .

Ti oluṣopọ ko le da ọna kika faili faili, yoo ro pe o jẹ akosile asopọ. Iwe-akọọkọ kan pato ni ọna yii npa iwe-akọọkọ asopọ akọle ti o lo fun asopọ (boya akọsilẹ asopọ asopọ aiyipada tabi ẹni ti a sọ nipa lilo- ). Ẹya ara ẹrọ yi faye gba asopọ lọwọ lati sopọ si faili kan ti o han pe ohun kan tabi ile-iwe pamọ, ṣugbọn nitootọ o ṣe apejuwe awọn aami aami kan, tabi lo "INPUT" tabi "Ẹgbẹ" lati fifuye awọn ohun miiran. Ṣe akiyesi pe sisọ iwe-akọọlẹ ni ọna yii nikan ma nmu akosile asopọ asopọ akọkọ; lo aṣayan -Yanṣe lati rọpo akosile asopọ asopọ aiyipada patapata.

Fun awọn aṣayan ti orukọ wọn jẹ lẹta kan, awọn ariyanjiyan aṣayan gbọdọ ma tẹle awọn lẹta ti a ko ni laisi ipasẹ iwa afẹfẹ, tabi ki a fi funni gẹgẹbi awọn ijiyan ọtọtọ tẹle lẹsẹkẹsẹ ti o nilo wọn.

Fun awọn aṣayan ti orukọ wọn jẹ awọn lẹta pupọ, boya ọkan dash tabi meji le ṣaju orukọ aṣayan; fun apẹẹrẹ, -wọn-ami-ami ati ami-ami-ami jẹ deede. Akiyesi - iyatọ kan wa si ofin yii. Awọn aṣayan lẹta pupọ ti o bẹrẹ pẹlu ọrọ kekere kan 'o' nikan ni a le ṣaju nipasẹ awọn fifọ meji. Eyi ni lati dinku idarudapọ pẹlu aṣayan -o . Nitorina fun apẹẹrẹ -iṣe-fọọmu n ṣafọ orukọ faili faili si idan dajudaju - iṣekuro n fi aami NMAGIC ṣe lori iṣẹjade.

Awọn ariyanjiyan si awọn aṣayan lẹta-ọpọlọ gbọdọ jẹ ki a yàtọ kuro ni orukọ aṣayan nipasẹ ami ifọgba, tabi ki a fi funni gẹgẹbi awọn ariyanjiyan ti o tẹle lẹsẹkẹsẹ tẹle awọn aṣayan ti o nilo wọn. Fun apẹẹrẹ, - ami-ami-ami-ami ati aami --trace-symbol = foo jẹ deede. Awọn iyasọtọ otooto ti awọn orukọ ti awọn aṣayan lẹta-pupọ ni a gba.

Akiyesi - ti a ba n pe olufisọpọ ni alakasi, nipasẹ olutọsọna awakọ (fun apẹẹrẹ gcc ) lẹhinna gbogbo awọn aṣayan ila-aṣẹ asopọ asopọ yẹ ki o ṣafihan nipasẹ -Wl, (tabi ohunkohun ti o yẹ fun alakoso igbimọ) gẹgẹbi eyi:

gcc -Wl, - startgroup foo.o-bar -o, - ẹgbẹ-igbẹhin

Eyi ṣe pataki, nitori bibẹkọ ti eto iwakọ akọọlẹ le fi awọn aṣayan asopọ asopọ silẹ ni ipalọlọ, eyi ti o mu ki o jẹ asopọ ti o dara.

Eyi ni tabili ti awọn iyipada laini wiwu ila-ọrọ ti a gba nipasẹ asopọ asopọ GNU:

-a ọrọ-ọrọ

Aṣayan yii ni atilẹyin fun ibamu HP / UX. Ọrọ ariyanjiyan ariyanjiyan gbọdọ jẹ ọkan ninu awọn pamọ awọn gbolohun , pín , tabi aiyipada . -aarchive jẹ iṣẹ-ṣiṣe deede -Bstatic , ati awọn koko-ọrọ miiran miiran jẹ iṣẹ ti o ni ibamu pẹlu -Bdynamic . Aṣayan yii le ṣee lo nọmba eyikeyi ti awọn igba.

- Ile- iṣọ

--iṣẹrin = iṣeto

Ni pipasilẹ lọwọlọwọ ti Ld , aṣayan yii jẹ wulo nikan fun awọn Intel architects 960. Ni iru iṣeto ld yii, ariyanjiyan ariyanjiyan n ṣe iṣeduro ile-iṣẹ pato ninu ẹbi 960, ṣiṣe awọn aabo kan ati iyipada ọna itọnisọna archive-library.

Awọn iyipada iwaju ti Ld le ṣe atilẹyin iru iṣẹ ṣiṣe fun awọn idile iṣọpọ miiran.

-b kikọ-kika

--format = kika-titẹ

Ld le ni tunto lati ṣe atilẹyin fun ju faili lọkan lọ. Ti o ba ti ṣeto Ld rẹ ni ọna yii, o le lo aṣayan -b lati ṣafihan awọn ọna kika alakomeji fun awọn faili ohun ti nwọle ti o tẹle aṣayan yii lori laini aṣẹ. Paapaa nigbati a ba tun ṣe Ld lati ṣe atilẹyin awọn ọna kika ọna miiran, iwọ ko nilo lati ṣọkasi eyi, bi Ld yẹ ki o tunto lati reti bi titẹ ọna titẹ aiyipada kika kika ti o wọpọ julọ lori ẹrọ kọọkan. kikọ akọsilẹ jẹ ọrọ ọrọ, orukọ ti ọna kika kan ti o ni atilẹyin nipasẹ awọn ile-iwe BFD. (O le ṣe akojọ awọn ọna kika alakomeji ti o wa pẹlu objdump -i .)

O le fẹ lo aṣayan yii ti o ba n so awọn faili pọ pẹlu ọna kika alailẹgbẹ kan. O tun le lo -b lati yipada awọn ọna kika ni kedere (nigbati o ba so awọn faili faili ti awọn ọna kika miiran), pẹlu pẹlu -b kikọ-ọna ṣaaju ki kọọkan ẹgbẹ awọn faili ohun ni ọna kika kan pato.

A gba kika ti aiyipada lati inu iyipada ayika "GNUTARGET".

O tun le ṣalaye ọna kika lati akosile, lilo aṣẹ "TARGET";

-c MRI-commandfile

--mri-script = MRI-commandfile

Fun ibamu pẹlu awọn asopọpọ ti MRI ti ṣe, Ld gba awọn faili akosile ti a kọ sinu ẹya miiran, ede aṣẹ aṣẹ ihamọ, ti a ṣalaye ninu apakan Mimọ ti Awọn ibaraẹnisọrọ ti MRI ti awọn iwe GNU ld. Ṣeto awọn faili akọọkọ MRI pẹlu aṣayan -c ; lo awọn aṣayan-ṣiṣe lati ṣaṣe awọn iwe afọwọkọ asopọ ti a kọ sinu ede ti nkọkọ ld -gbogbo-idi. Ti MRI-cmdfile ko ba si, Ld wo fun o ni awọn iwe-ilana pato nipasẹ awọn aṣayan -L .

-d

-dc

-dp

Awọn aṣayan mẹta wọnyi jẹ deede; ọpọ fọọmu ti wa ni atilẹyin fun ibamu pẹlu awọn asopọpọ miiran. Wọn fi aaye si awọn aami ti o wọpọ paapa ti o ba jẹ pe faili ti o gbe lọ si oju-iwe ti a pato (pẹlu -r ). Awọn aṣẹ afọwọkọ "FORCE_COMMON_ALLOCATION" ni ipa kanna.

-e titẹsi

--entry = titẹsi

Lo titẹsi bi aami ti o han fun ibẹrẹ ipilẹṣẹ ti eto rẹ, kuku ju aaye titẹsi aiyipada. Ti ko ba si titẹ sii aami kan , oluṣopọ yoo gbiyanju lati pin titẹ sii bi nọmba kan, ki o si lo pe bi adiresi titẹsi (nọmba naa ni ao tumọ si ni ipilẹ 10; o le lo oludari 0x fun ipilẹ 16, tabi asiwaju 0 fun ipilẹ 8).

-E

- igbasilẹ-igbasilẹ

Nigbati o ba ṣẹda asopọ ti o ni asopọ ti iṣan, fi gbogbo awọn ami sii si tabili aami ifihan. Iwọn tabili aami ti jẹ aami ti awọn ami ti o han lati awọn ohun ijinlẹ ni akoko ṣiṣe.

Ti o ko ba lo aṣayan yi, tabili aami ti o ni agbara yoo ni deede awọn aami ti a ti ṣe apejuwe nipasẹ ohun pataki kan ti a mẹnuba ninu asopọ.

Ti o ba lo "dlopen" lati ṣaju ohun ti o ni agbara ti o nilo lati tọka si awọn aami ti a ṣalaye nipasẹ eto naa, dipo diẹ ninu ohun miiran ti o lagbara, lẹhinna o yoo nilo lati lo aṣayan yii nigbati o ba so eto naa pọ.

O tun le lo iwe afọwọkọ lati ṣakoso ohun ti awọn aami yẹ ki o wa ni afikun si tabili aami idanimọ ti o ba ṣe atilẹyin ọna kika. Wo apejuwe ti - iwe-iwe-iwe- ni -iwe ni @ ref {ID}.

-EB

Asopọ awọn nkan nla-endian. Eyi yoo ni ipa lori kika kika ti aiyipada.

-EL

Awọn asopọ kekere-endian ohun. Eyi yoo ni ipa lori kika kika ti aiyipada.

-f

- orukọ orilẹ- ede

Nigbati o ba ṣẹda ẹya ELF ti o yan ohun kan, ṣeto aaye ti DT_AUXILIARY ti abẹnu si orukọ ti o sọ tẹlẹ. Eyi sọ fun asopọpọ agbara ti aami tabili ti ohun ti a pin ni o yẹ ki o lo bi aṣeyọri aṣeyọri lori tabili aami ti orukọ ohun ti a pín.

Ti o ba ṣe asopọ lẹẹkan si eto kan si ohun elo idanimọ yii, lẹhinna, nigbati o ba n ṣiṣe eto naa, asopọ aladani yoo ri aaye DT_AUXILIARY. Ti o ba jẹ pe asopọ asopọ ti o ni iyipada ṣe ipinnu eyikeyi aami lati ohun elo idanimọ, yoo ṣayẹwo akọkọ boya iyọtọ kan wa ninu orukọ ohun ti a pin. Ti o ba wa ni ọkan, a yoo lo dipo ti itumọ ni nkan idanimọ. Orukọ ohun ti a pín ko gbọdọ wa tẹlẹ. Bayi ni orukọ ohun ti a pín naa le ṣee lo lati pese imuse miiran ti awọn iṣẹ kan, boya fun n ṣatunṣe aṣiṣe tabi fun iṣẹ pato ẹrọ.

Aṣayan yii le ni pato diẹ ẹ sii ju ẹẹkan lọ. Awọn titẹ sii DT_AUXILIARY ni ao ṣẹda ninu aṣẹ ti wọn han lori laini aṣẹ.

-F orukọ

- orukọ aladun

Nigbati o ba ṣẹda ẹya ELF ti o yan ohun, ṣeto aaye ti DT_FILTER ti abẹnu si orukọ ti a pàtó. Eyi sọ fun asopọpọ agbara ti aami tabili ti ohun ti a pín ti a ṣẹda yẹ ki o lo bi yiyọ lori tabili aami ti orukọ ohun ti a pín.

Ti o ba ṣe asopọ lẹẹkan si eto kan si ohun elo idanimọ yii, lẹhinna, nigbati o ba n ṣiṣe eto naa, asopọ alagbara yoo ri aaye DT_FILTER. Oluṣakoso asopọ ti o ni agbara yoo yanju awọn aami ni ibamu si tabili tabili ti ohun elo idanimọ gẹgẹbi o ṣe deede, ṣugbọn o yoo ni asopọ si awọn itumọ ti a ri ni orukọ ohun elo ti a pin. Bayi a le lo ohun àlẹmọ lati yan abala ti aami ti a fun nipasẹ orukọ .

Diẹ ninu awọn oluyipada agbalagba lo aṣayan -F- jakejado akọọlẹ-ẹrọ akopọ kan fun sisọ ọna kika faili-ohun fun awọn faili faili ati awọn ohun elo ti o jade. Olùsopọ GNU nlo awọn iṣẹ miiran fun idi eyi: awọn -b , --format , --oformat options, awọn "TARGET" àṣẹ ni awọn iwe afọwọkọ asopọ, ati awọn "GNUTARGET" ayika ayika. Olupasoro GNU yoo koye -F aṣayan nigbati ko ṣiṣẹda ẹya ELF ohun kan.

orukọ -fini

Nigba ti o ba ṣẹda ẹya ELF ti o le ṣiṣẹ tabi ohun ti a pín, pe orukọ nigba ti a ti ṣaja silẹ ti olupin tabi ohun ti a pín, nipa fifi DT_FINI si adirẹsi ti iṣẹ naa. Nipa aiyipada, oluyipada naa lo "_fini" bi iṣẹ lati pe.

-g

A gbagbe. Ti pese fun ibamu pẹlu awọn irinṣẹ miiran.

-G iye

--gpsize = iye

Ṣeto iwọn ti o pọ julọ fun awọn nkan lati wa ni iṣapeye nipa lilo awọn iwe GP lati iwọn . Eyi jẹ nikan ni itumo fun awọn ọna faili faili bi MIPS ECOFF ti o ṣe atilẹyin fifi awọn ohun nla ati kekere si awọn apakan ọtọtọ. Eyi ko ni bikita fun awọn ọna faili faili miiran.

-a orukọ

orukọ-orukọ = orukọ

Nigbati o ba ṣẹda ELF ti o yan ohun kan, ṣeto aaye ti DT_SONAME ti abẹnu si orukọ ti a pàtó. Nigba ti a ba ti sopọ pẹlu ohun elo ti o ni nkan ti o ni aaye DT_SONAME, lẹhinna nigba ti olupin naa ba ṣiṣe awọn asopọ asopọ ti o ni agbara yoo gbìyànjú lati fifun ohun ti a pín ni pato nipasẹ aaye DT_SONAME ju ti lilo orukọ faili ti a fun si asopọ.

-i

Ṣe asopọ asopọ afikun (bii aṣayan -r ).

orukọ -init

Nigbati o ba ṣẹda ẹya ELF ti o le ṣiṣẹ tabi ohun ti a pín, pe NAME nigbati o ba ti ṣakoso iṣẹ tabi ohun ti a pín, nipa fifi DT_INIT si adirẹsi ti iṣẹ naa. Nipa aiyipada, oluyipada naa lo "_init 'bi iṣẹ lati pe.

-l ipamọ

--library = archive

Fi pamosi faili pamọ sinu akojọ awọn faili lati ṣopọ. Aṣayan yii le ṣee lo nọmba eyikeyi ti awọn igba. Ld yoo wa awọn ọna-ipa-ọna rẹ fun awọn iṣẹlẹ ti "libarchive.a" fun gbogbo iwe ipamọ ti o pàtó.

Lori awọn ọna ṣiṣe ti o ṣe atilẹyin fun awọn ile-ikawe, Ld tun le wa awọn ile-ika pẹlu awọn amugbooro miiran ju ".a". Ni pato, lori awọn ọna ELF ati SunOS, Ld yoo wa awari kan fun iwe-ikawe pẹlu afikun ti ".so" ṣaaju ki o to wa ọkan pẹlu afikun ti ".a". Nipa igbimọ, itọka ".so" kan tọka iwe-ikawe ti a pín.

Olutọka naa yoo wa awọn akọọlẹ nikan ni ẹẹkan, ni ibi ti o ti wa ni pato lori laini aṣẹ. Ti ile-akọọlẹ ṣe apejuwe aami kan ti a ko le ṣalaye ni nkan kan ti o han ṣaaju ki o to pamosi lori ila aṣẹ, ọna asopọ naa yoo ni awọn faili ti o yẹ lati ile-iwe. Sibẹsibẹ, aami ti a ko lejuwe ni nkan ti o han nigbamii lori ila ila yoo ko fa ki asopọ lati tun wa ile-iwe naa pada.

Wo awọn - ( aṣayan fun ọna lati ṣe okunfa asopọ asopọ lati wa awọn iwe ipamọ ni igba pupọ.

O le ṣe apejuwe awọn pamosi kanna ni igba pupọ lori laini aṣẹ.

Iru wiwa nkan ipamọ yii jẹ otitọ fun awọn asopọpọ Unix. Sibẹsibẹ, ti o ba n lo ld onAIX, ṣe akiyesi pe o yatọ si ihuwasi ti asopọ asopọ AIX.

-L searchdir

--library-path = searchdir

Fi ọna-ọna- àwárí ranṣẹ si akojọ awọn ọna ti Ld yoo wa fun awọn ile-iwe ikawe ati awọn iwe afọwọkọ ld . O le lo aṣayan yii ni nọmba eyikeyi ti awọn igba. Awọn iwe-ilana ti wa ni ibere ti wọn ti wa ni pato lori laini aṣẹ. Awọn itọnisọna pàtó lori laini aṣẹ ni a ṣawari ṣaaju ki awọn oju-iwe aiyipada. Awọn aṣayan Gbogbo -L lo fun gbogbo awọn aṣayan -l , lai si aṣẹ ti awọn aṣayan yoo han.

Ti o ba bẹrẹ searchdir pẹlu "=", lẹhinna "=" yoo rọpo fun ipilẹṣẹ sysroot , ọna ti o ni pato nigbati a ti ṣetunto asopọ asopọ.

Awọn ọna ti aiyipada ti awọn ọna ti a wa (lai ṣe pato pẹlu -L ) da lori eyi ti ipo imularada ld ti nlo, ati ninu awọn igba miiran tun lori bi o ṣe tunto.

Awọn ọna tun le wa ni pato ninu iwe afọwọkọ pẹlu aṣẹ "SEARCH_DIR". Awọn itọnisọna pàtó pe ọna yii ni a wa ni aaye ti iwe akosile naa ti han ninu laini aṣẹ.

-m emulation

Mu awọn asopọ asopọ apamọ . O le ṣe akojọ awọn iṣeduro ti o wa pẹlu awọn aṣayan --verbose tabi -V .

Ti a ko ba lo aṣayan -m , a mu imulation naa kuro ni iyipada ayika ayika "LDEMULATION," ti o ba jẹ asọye.

Bibẹkọkọ, imularada aiyipada da lori bi a ṣe ṣetunto asopọ asopọ.

-M

--print-map

Tẹ atokọ ọna asopọ kan si iṣẹ ti o ṣe deede. Iyipada ọna asopọ kan pese alaye nipa asopọ, pẹlu eyiti o wa:

*

Nibo awọn faili ati awọn aami ti wa ni map sinu iranti.

*

Bawo ni awọn aami ti o wọpọ ṣe pinpin.

*

Gbogbo awọn ọmọ ile-iwe akọọlẹ ti o wa ninu ọna asopọ, pẹlu ifọkasi aami ti o mu ki o jẹ ki o mu ki o wa ni ile-iwe.

-n

--nmagic

Paarẹ awọn iwe ti awọn apakan, ki o si ṣe afihan awọn iṣẹ naa bi "NMAGIC" ti o ba ṣeeṣe.

-N

--iṣeko

Ṣeto ọrọ ati awọn abala data lati jẹ eyiti o le ṣe atunṣe ati ki o jẹ ẹri. Pẹlupẹlu, maṣe ṣe oju-iwe-iṣẹ data, ki o si mu asopọ si awọn ile-ikawe pín. Ti ọna kika ba ṣe atilẹyin awọn nọmba idanimọ Unix, samisi oṣiṣẹ bi "OMAGIC".

--no-reregic

Aṣayan yii ko ni ipa julọ ti awọn ipa ti aṣayan -N . O ṣeto awọn ọrọ apakan lati ka-nikan, ati ki o ipa ni apa data lati wa ni iwe-deedee. Akiyesi - aṣayan yii ko ṣe mu sisopọ si awọn ile-ikawe pín. Lo -Bidynamic fun eyi.

-o wu jade

--output = o wu

Lo awọn oṣiṣẹ bi orukọ fun eto ti a ṣe nipasẹ Ld ; ti a ko ba ti yan aṣayan yii, lilo a.out ti a lo nipasẹ aiyipada. Awọn aṣẹ afọwọkọ "OUTPUT" tun le ṣedasi orukọ faili ti o nṣiṣẹ.

-O ipele

Ti ipele ba jẹ awọn nọmba nomba ti o tobi ju odo l ṣe n ṣatunṣe iṣẹ naa. Eyi le gba to gun julọ ati nitorina o yẹ ki o ṣee ṣe nikan fun alakomeji ikẹhin.

-q

--emit-relocs

Fi iyipada sipo ati awọn akoonu inu awọn exececutables ti o ni asopọ patapata. Ifiweranṣẹ atokọ ati awọn irinṣẹ ti o dara julọ le nilo alaye yii lati le ṣe awọn atunṣe ti o dara. Eyi yoo mu abajade ti o tobi julọ.

Aṣayan yii ni atilẹyin nikan ni awọn itẹwe ELF.

-r

--relocateable

Ṣiṣe atunṣe relocatable pupọ --- ie, ṣe ina faili ti o wuyi ti o le ni ọna asopọ bi titẹ si ld . Eyi ni a npe ni sisopọ ni ọna kan . Gẹgẹbi ipa kan, ni awọn agbegbe ti o ṣe atilẹyin awọn nọmba idanimọ Unix, aṣayan yii tun ṣaju nọmba idanisi ti oṣiṣẹ lọ si "OMAGIC". Ti aṣayan ko ba ni pato, faili ti o ti pari ni a ṣe. Nigbati o ba n ṣopọ awọn eto C ++, aṣayan yii ko ni yanju awọn akọsilẹ fun awọn olùṣọ; lati ṣe eyi, lo -Ur .

Nigbati faili ti ko ba ni ọna kika kanna bi faili ti o gbejade, asopọ sisọ ni a ṣe atilẹyin nikan ti faili naa ko ba ni awọn gbigbe si. Awọn ọna kika ti o yatọ si ọna miiran le ni awọn ihamọ siwaju sii; fun apẹẹrẹ diẹ ninu awọn ọna kika "a.out" ko ni atilẹyin ọna asopọ ni ọna pẹlu awọn faili titẹ ni awọn ọna kika miiran.

Aṣayan yii ṣe ohun kanna bii -i .

-R orukọ alaye

--didi-aami-afi orukọ

Ka awọn aami aami ati awọn adirẹsi wọn lati orukọ orukọ , ṣugbọn ko gbọdọ tun gbe rẹ tabi tẹ ninu rẹ. Eyi n gba aaye faili rẹ jade lati tọka si awọn ipo ti o ni idiwọn ti aifọwọyi iranti ni awọn eto miiran. O le lo aṣayan yii ju ẹẹkan lọ.

Fun ibamu pẹlu awọn asopọpọ ELF miiran, ti o ba tẹle -R aṣayan nipasẹ orukọ itọsọna kan, dipo orukọ faili kan, o ni a mu bi aṣayan -rpath .

-s

- gbogbogbo

Fi gbogbo alaye aami kuro lati faili oṣiṣẹ.

-S

--strip-debug

Ṣiṣe alaye idaniloju aṣoju (ṣugbọn kii ṣe gbogbo aami) lati faili ti o gbejade.

-t

--wa kakiri

Tẹ awọn orukọ ninu awọn faili titẹ sii bi o ṣe le ṣii wọn.

-T scriptfile

--script = scriptfile

Lo iwe afọwọkọ bi iwe-ẹda asopọ. Iwe akosile yii rọpo iwe akosile asopọ alayipada (dipo ju fifi kun si), bẹẹni pipaṣẹpọ gbọdọ pato ohun gbogbo pataki lati ṣe apejuwe faili ti o wu. Ti ko ba si iwe-akọọlẹ ninu itọnisọna ti isiyi, "Ld" wa fun o ni awọn iwe-ilana ti o sọ nipa awọn aṣayan ti o mua -L . Ọpọlọpọ awọn aṣayan- bajọpọ .

aami -u

--undefined = aami

Aami agbara lati tẹ sinu faili oṣiṣẹ gẹgẹbi aami ti a ko fun. Ṣiṣe eleyi le, fun apẹẹrẹ, nfa asopọ ti awọn afikun awọn modulu lati awọn ile-ikawe ti o ṣe deede. -i le tun ṣe pẹlu awọn ariyanjiyan aṣayan ti o yatọ lati tẹ awọn aami alaiṣẹ ti a ko le yan. Aṣayan yii jẹ deede si pipaṣẹ iwe afọwọkọ asopọ "EXTERN".

-Awọn

Fun ohunkohun miiran ju awọn eto C ++, aṣayan yi jẹ deede si -r : o ni gbogbo iṣẹ ti o jẹ atunṣe relocatable ie ie faili ti o wuyi ti o le ṣe atunṣe bi input si ld . Nigbati o ba n sopọ awọn eto C ++, -O ko pari awọn ifọkasi si awọn oluṣe , laisi -r . O ko ṣiṣẹ lati lo -Ur lori awọn faili ti a ti ṣe ara wọn pẹlu -Or ; ni kete ti a ti kọ tabili ti onkọwe, a ko le fi kun si. Lo -Or nikan fun ọna asopọ apagbe kẹhin, ati -r fun awọn omiiran.

--mika [= IPINIYA ]

Ṣẹda apakan ti o wa ni ọtọtọ fun gbogbo ipinkan ti a ti tẹ si IPA , tabi ti o ba jẹ aṣiṣe ti o yan ti ipinnu IDIN apakan , fun gbogbo abala ifọwọkan. Akoko orukan kan jẹ ọkan ti ko ṣe pataki ninu akosile asopọ kan. O le lo aṣayan yii ni igba pupọ lori ila ila; O ṣe idilọwọ awọn iṣọpọ deede ti awọn abawọle kikọ pẹlu orukọ kanna, ti o kọja awọn iṣẹ iyipo ti o njade ni iwe-akọọlẹ asopọ.

-v

- iyipada

-V

Ṣe afihan nọmba ikede fun ld . Aṣayan -V naa tun ṣe akojọ awọn iṣeduro atilẹyin.

-x

--discard-gbogbo

Pa gbogbo awọn aami agbegbe.

-X

--discard-agbegbe

Pa gbogbo awọn aami agbegbe agbegbe ibùgbé. Fun ọpọlọpọ awọn ifojusi, eyi ni gbogbo awọn aami agbegbe ti awọn orukọ bẹrẹ pẹlu L.

-i aami

- ami-ami-ami = aami

Tẹ orukọ ti faili ti a ti sopọ mọ eyi ti aami yoo han. Aṣayan yii le ṣee fun eyikeyi nọmba igba. Lori ọpọlọpọ awọn ọna šiše o jẹ dandan lati daabobo ohun ti o ṣe afihan.

Aṣayan yii jẹ wulo nigbati o ba ni aami ti a ko fun ni ọna asopọ rẹ ṣugbọn ko mọ ibi ti itọkasi ti nbo.

-I ọna

Fi ipa-ọna si ọna wiwa aifọwọyi aiyipada. Aṣayan yii wa fun ibamu Solaris.

-z oro-ọrọ

Awọn koko-ọrọ ti a mọ ni "initfirst", "interpose", "loadfltr", "nodefaultlib", "nodelete", "nodlopen", "nodump", "now", "origin", "combreloc", "nocombreloc" and "nocopyreloc ". Awọn Koko-ọrọ miiran ti ko bikita fun ibamu Solaris. "initfirst" ṣe ifọkasi ohun lati wa ni akọkọ ni akoko asiko ṣaaju ki o to eyikeyi awọn ohun miiran. "fiwejuwe" ṣe ifọkasi ohun ti aami tabili rẹ jẹ ki o toju gbogbo awọn aami ṣugbọn ti o jẹ alakoko akọkọ. "loadfltr" n ṣe afihan ohun ti o yẹ ki o ṣe atunṣe lẹsẹkẹsẹ ni akoko olutọju. "nodefaultlib" n ṣe afihan ohun ti wiwa fun dependencies ti nkan yii yoo foju gbogbo awọn ọna wiwa aifọwọyi aiyipada. "Nodelete" ṣe afihan ohun naa ko yẹ lati ṣawari ni akoko asiko. "Nodlopen" ṣe aami ohun ti ko wa lati "dlopen". "Nodump" ṣe afihan ohun naa ko le dasi silẹ nipasẹ "dldump". "bayi" n ṣe ifọkansi ohun pẹlu akoko isinisi alaini-aṣiṣe. "orisun" iṣeduro ohun le ni $ ORIGIN. "Dawọ" disallows awọn aami ti a ko fi ṣalaye. "muldefs" gba awọn itumọ pupọ. "combreloc" ṣe atọpọ awọn ipele ti o tun pada si awọn ọna ati ki o ṣe wọn lati ṣe aami ti o ni agbara ti o le ṣeeṣe.

"Nocombreloc" ko awọn agbegbe ti o tun gbepọ pọ. "nocopyreloc" kọ awọn igbesilẹ awọn ẹda atunṣe.

- (awọn ile-iwe -)

- Awọn ile-iṣẹ pamọ --stend-group --end-group

Awọn ile ifi nkan pamọ yẹ ki o jẹ akojọ awọn faili faili . Wọn le jẹ boya awọn faili faili kedere, tabi -l awọn aṣayan.

Awọn atupọ ti a ti ṣawari wa ni a kiri ni igbagbogbo titi ti a ko da awọn ijinle titun ti a ko ti yan. Ni deede, a ṣawari nkan ti a fi pamọ si ni ẹẹkan ninu aṣẹ ti o wa ni pato lori laini aṣẹ. Ti o ba jẹ aami ti o wa ni ile-iwe naa ti o nilo lati yanju ami ti a ko fi lelẹ ti a sọ si nipasẹ ohun kan ninu ile-iwe ti o han nigbamii lori laini aṣẹ, asopọ kii yoo ni anfani lati yanju imọran naa. Nipa pipin awọn ile-iwe pamọ, gbogbo wọn ni a wa ni ṣawari titi gbogbo awọn itọkasi ti o ṣee ṣe ti wa ni ipinnu.

Lilo aṣayan yi ni iye išẹ ti o pọju. O dara julọ lati lo o nikan nigbati awọn ifilelẹ ti ipin lẹta ti a ko lewu ni awọn iwe-ipamọ meji tabi diẹ sii.

- ijabọ--ọkọ-titẹ-silẹ

- ko gba--imọ-titẹ-silẹ

Sọ fun oluṣopọ naa lati gba awọn faili titẹ sii ti awọn iṣẹ-iṣọ ko le mọ. Ayiyan ni pe olumulo naa mọ ohun ti wọn n ṣe ati pe o nfẹ lati sopọ mọ awọn faili ti a ko mọ. Eyi jẹ ihuwasi aiyipada ti oluṣopọ, ṣaaju ki o to tu silẹ 2.14. Iwaṣe aiyipada lati tu silẹ 2.14 siwaju ni lati kọ iru awọn faili titẹ sii, ati pe a ti fi aṣayan aṣayan -accept-input-arch-aṣeyọri lati mu iru iwa atijọ pada.

-ajẹkọ ọrọ-ọrọ

A ko bamu aṣayan yi fun ibamu ibamu pẹlu SunOS .

-Bdynamic

-dy

-call_shared

Asopọ si awọn ile-iwe giga. Eyi jẹ nikan ni itumọ lori awọn iru ẹrọ fun eyiti awọn ile-ikawe pín ti ni atilẹyin. Aṣayan yii jẹ deede aiyipada lori iru awọn iru ẹrọ bẹẹ. Awọn iyatọ oriṣiriṣi ti aṣayan yi jẹ fun ibamu pẹlu awọn ọna oriṣiriṣi. O le lo aṣayan yii ni igba pupọ lori ila laini: o ni ipa lori wiwa iṣawari -l awọn aṣayan ti o tẹle o.

-Bgroup

Ṣeto aami aami "DF_1_GROUP" ni titẹsi "DT_FLAGS_1" ni apakan ti o ni agbara. Eyi nfa asopọ alakoso akoko lati ṣakoso awọn oluwo ni nkan yii ati awọn igbẹkẹle rẹ lati ṣe ni inu ẹgbẹ nikan. - ailopin ti a ko le ṣalaye . Aṣayan yii nikan ni itumọ lori awọn eroja ELF ti o ṣe atilẹyin fun awọn ile-ikawe .

-Bstatic

-dn

-non_shared

-static

Maṣe sopọ mọ awọn ile-ikawe pín. Eyi jẹ nikan ni itumọ lori awọn iru ẹrọ fun eyiti awọn ile-ikawe pín ti ni atilẹyin. Awọn iyatọ oriṣiriṣi ti aṣayan yi jẹ fun ibamu pẹlu awọn ọna oriṣiriṣi. O le lo aṣayan yii ni igba pupọ lori ila laini: o ni ipa lori wiwa iṣawari -l awọn aṣayan ti o tẹle o.

-Bsymbolic

Nigbati o ba ṣẹda iwe-ikawe ti o pín, ṣe asopọ awọn aami si awọn aami agbaye si imọran laarin awọn iwe-ikawe ti a pin, bi eyikeyi. Ni deede, o ṣee ṣe fun eto ti a ti sopọ mọ iwe-ikawe ti a pín lati ṣagbejuwe itumọ laarin ijinlẹ ti a pin. Aṣayan yii nikan ni o ni itumọ lori ELFplatforms eyiti o ṣe atilẹyin fun awọn ile-ikawe.

- awọn abala -pa-apakan

- awọn abala-ṣayẹwo-apakan

Bèèrè olùsopọ náà kí o ṣayẹwo àwọn àfikún ojúlé lẹyìn tí wọn ti yàn wọn láti ríi bóyá o wà lóríṣán. Deede ọna asopọ naa yoo ṣe ayẹwo yii, ati pe ti o ba ri eyikeyi ti o bori o yoo gbe awọn ifiranṣẹ aṣiṣe ti o dara. Oluṣopọ naa mọ nipa, o si ṣe awọn aaye fun awọn apakan ni awọn apẹrẹ. Awọn iwa aiyipada le ṣee pada nipasẹ lilo iwọn ila-aṣẹ -ipa-awọn abala .

--cref

Atilẹjade itẹsiwaju agbelebu. Ti a ba n ṣakoso faili map ti ọna asopọ kan, a fi tẹwe tabili itẹka agbelebu si faili map. Bibẹkọ ti, o ti wa ni titẹ lori awọn iṣẹ oṣiṣẹ.

Awọn kika ti tabili jẹ imudaniloju rọrun, ki o le ni awọn iṣọrọ ni ilọsiwaju nipasẹ akosile kan ti o ba wulo. Awọn aami ti wa ni titẹ jade, lẹsẹsẹ nipasẹ orukọ. Fun aami kọọkan, akojọ ti awọn orukọ faili ni a fun. Ti o ba jẹ apejuwe naa, faili akọkọ ti a ṣe akojọ rẹ ni ipo ti itumọ naa. Awọn faili ti o ku ni awọn itọkasi aami naa.

--no-setumo-wọpọ

Aṣayan yi idi idiyele awọn adirẹsi si awọn aami wọpọ. Awọn aṣẹ afọwọkọ "INHIBIT_COMMON_ALLOCATION" ni ipa kanna.

Aṣayan- ko-ṣalaye-fifun-aayo gba laaye lati ṣe ipinnu lati fi awọn adirẹsi si Awọn aami wọpọ lati inu awọn iru faili irufẹ; bibẹkọ ti awọn ti kii ṣe-Relocatable oṣiṣẹ iru ipa ti o fi awọn adirẹsi si awọn aami wọpọ. Lilo - ko ṣe alaye-wọpọ gba Awọn aami wọpọ ti a ṣe apejuwe lati inu iwe-ikawe ti a pin lati sọ awọn adirẹsi nikan ni eto akọkọ. Eyi n jade kuro ni aaye ti a ko ni aifọwọyi ni ijinlẹ ti a pin, o tun ṣe idena eyikeyi ipaniyan ti o le ṣee ṣe lori ipinnu si aṣiṣe ti ko tọ nigba ti o wa ọpọlọpọ awọn modulu ti o ni awọn ọna wiwa ti a ṣe pataki fun ipo ifihan aami akoko.

--defsym symbol = ikosile

Ṣẹda aami agbaye ni faili faili, ti o ni awọn adirẹsi pipe ti a fun nipasẹ ikosile . O le lo aṣayan yi ni ọpọlọpọ awọn igba bi o ṣe pataki lati ṣafihan awọn aami aami ninu laini aṣẹ. Orilẹ-ede ti a ko ni opin ti wa ni atilẹyin fun ikosile ni aaye yii: o le fun igbagbogbo hexadecimal tabi orukọ aami ti o wa tẹlẹ, tabi lo "+" ati "-" lati fikun tabi yọ awọn idiwọn hexadecimal tabi aami. Ti o ba nilo awọn alaye diẹ sii, ṣe ayẹwo nipa lilo ede aṣẹ aṣẹ asopọ lati akosile. Akiyesi: o yẹ ki o jẹ aaye aaye funfun laarin ami aami , ami ami kanna (`` = ''), ati ikosile .

--demangle [= ara ]

--no-demangle

Awọn aṣayan wọnyi ṣakoso boya lati mu awọn aami ami atokasi sinu awọn aṣiṣe aṣiṣe ati awọn iṣẹ miiran. Nigba ti a sọ fun awọn asopọ asopọ lati demangle, o gbìyànjú lati ṣe afihan awọn aami aami ni ọna ti o ṣeéṣe: o ni awọn ila ti o ṣakiyesi awọn idaniloju ti wọn ba lo nipasẹ kika faili ohun, ti o si sọ awọn orukọ aami-ami C ++ pada si awọn orukọ orukọ ti a le sọ. Awọn oludari ti o yatọ si yatọ si awọn aza. Aṣeyan ariyanjiyan ariyanjiyan ti a yan ni a le lo lati yan ọna ti o yẹ fun igbimọ rẹ. Olutọka naa yoo dada laisi aiyipada ayafi ti a ba seto ayika COLLECT_NO_DEMANGLE ayika. Awọn aṣayan wọnyi ni a le lo lati daabobo aiyipada naa.

faili faili -dynamic-linker

Ṣeto orukọ olupin ti o ni agbara. Eyi nikan ni o ni itumọ nigba ti o nmu awọn alaṣẹ ELF ti iṣakoso ti iṣawari. Oluṣakoso asopọ iyasọtọ aiyipada jẹ deede atunṣe; ma ṣe lo eyi ayafi ti o ba mọ ohun ti o n ṣe.

--emedded-relocs

Aṣayan yii nikan ni o nilari nigbati o ba n sopọ mọ MIPS ti o fi koodu PIC wọ, ti a ṣe nipasẹ aṣayan -membedded-pic si GlU compiler ati apejọ. O nfa asopọ asopọ lati ṣẹda tabili kan ti o le ṣee lo ni akoko asiko lati tun gbe alaye eyikeyi ti a ti sọ si ori awọn idiyele. Wo koodu ni testsuite / ld-empic fun awọn alaye.

- awọn ẹdinwo -wọta

Toju gbogbo ikilo bi awọn aṣiṣe .

--force-exe-suffix

Rii daju pe faili iyasilẹ kan ni o pọju .exe.

Ti o ba ti ni ifijišẹ ti a ṣe faili ti o ni asopọ patapata ti o ni asopọ patapata ko ni " exe " tabi " .dll " suffix, aṣayan yi ṣe agbara fun asopọ asopọ lati daakọ faili faili lọ si ọkan ninu orukọ kanna pẹlu aṣoju ".exe". Aṣayan yii wulo nigbati o ba lo awọn fifawari UNIX ti a ko ti sọ tẹlẹ lori olupin Microsoft Windows, nitori diẹ ninu awọn ẹya ti Windows kii yoo ṣiṣe aworan kan ayafi ti o ba pari ni "sufisi" .exe ".

- awọn ipele -no-gc

--gg-awọn apakan

Ṣe igbadun ikojọpọ idoti ti awọn ọna abawọle ti a ko lo. A ko bikita lori awọn afojusun ti ko ṣe atilẹyin fun aṣayan yii. Aṣayan yii ko ni ibamu pẹlu -r , ko yẹ ki o lo pẹlu asopọ sisọ. Iṣaṣe aiyipada (ti ko ṣe nkan yiyọ idoti ) le ṣee pada nipasẹ sisọ awọn apakan -no-gc- lori ila-aṣẹ.

--Egba Mi O

Ṣe atẹjade awọn akojọ aṣayan-aṣẹ lori aṣayan iṣẹ-ṣiṣe ati jade kuro.

- iranlọwọ-iranlowo

Ṣe atẹjade gbogbo awọn aṣayan pataki afojusun lori iṣeduro ti o jẹ deede ati jade kuro.

-Map mapfile

Tẹ atokọ ọna asopọ si mapfile faili. Wo apejuwe ti aṣayan -M , loke.

--iṣe-iranti-iranti

Ld maa n ṣe alaye fun iyara lori lilo iranti nipa fifọ awọn tabili aami ti awọn faili titẹ sinu iranti. Aṣayan yi sọ fun ld lati dipo mu ki o lo fun lilo iranti, nipa tun ṣe tabili awọn aami aami bi o ṣe pataki. Eyi le ṣee beere ti Ld ba jade kuro ni aaye iranti nigbati o ba so asopọ pọ.

- ko si aipinpin

-z gbese

Ni deede nigbati o ba ṣẹda iwe-ikawe ti a ko ni afihan, awọn aami ti a ko ni ẹtọ ni a fun laaye ati ki o fi silẹ lati wa ni ipinnu nipasẹ olupin akoko ṣiṣe. Awọn aṣayan wọnyi ṣalaye iru awọn aami ailopin.

- itumọ-ala-ni-ọpọ-definition

-z muldefs

Ni deede nigbati aami kan ba n ṣalaye igba pupọ, oluṣopọ naa yoo ṣe ijabọ aṣiṣe buburu kan. Awọn aṣayan wọnyi gba awọn itọkasi pupọ ati imọran akọkọ yoo lo.

--allow-shlib-undefined

Gba awọn aami ko ni iyasọtọ ni awọn ohun ti a pin ni igbati o ba ṣeto - a ko le yan-aayo. Esi abajade yoo jẹ pe awọn aami ti a ko yan ni awọn nkan deede yoo tun nfa aṣiṣe kan, ṣugbọn awọn aami ti a ko yan ni awọn ohun ti a pin ni a yoo bikita. Awọn imuse ti aṣeyọri ti mu ki awọn ero pe eleto onisẹpo yoo kọlu lori awọn aami ti a ko pe. Sibẹsibẹ o wa ni o kere ju eto kan (BeOS) nibiti awọn aami ti a ko ti yan ni pín awọn ile-ikawe jẹ deede niwon pe awọn ekuro fi ami si wọn ni fifuye akoko lati yan iṣẹ ti o yẹ julọ fun iṣọpọ ti isiyi. IE n dagbasoke yan iṣẹ ti o yẹ fun mi. O han ni pe o tun jẹ deede fun awọn ile-ikawe apapo HPPA lati ni awọn aami ti a ko fun.

- -iṣe-aiyipada-ti ikede

Ni deede nigbati aami kan ba ni irufẹ ti a ko le ṣawari, oluṣopọ naa yoo foju rẹ. Aṣayan yii ṣalaye awọn aami pẹlu ikede ti a ko peye ati aṣiṣe aṣaniloju yoo wa ni dipo.

- kii-ikede-imọran

Ld deede yoo fun aṣiṣe kan ti o ba gbiyanju lati sopọ mọ awọn faili ti a fi ṣetan fun awọn idi kan, boya nitori pe wọn ti ṣajọpọ fun awọn onise ti o yatọ tabi fun awọn iyatọ ti o yatọ. Aṣayan yii sọ fun ld pe o yẹ ki o gba laaye laiparuwo iru aṣiṣe ti o ṣeeṣe. Aṣayan yii nikan ni a lo pẹlu abojuto, ni awọn igba miiran nigbati o ba ti ṣe diẹ ninu awọn iṣẹ pataki ti o rii daju pe awọn aṣiṣe asopọ asopọ ko yẹ.

- ko-gbogbo-archive

Pa awọn ipa ti aṣayan iyan -whole-archive fun awọn faili ipamọ atẹle.

--inisi-exec

Ṣiṣe awọn faili iyasọtọ ti o ṣiṣẹ ni gbogbo igba ti o jẹ ṣiṣiṣe. Ni deede, oluṣopọ naa kii yoo gbe faili ti o jẹjade ti awọn aṣiṣe alabapade lakoko ilana isopọ; o jade lai kikọ faili ti o wu nigbati o ba nṣi eyikeyi aṣiṣe eyikeyi.

-nostdlib

Awọn iwe-ikawe imọ-ẹrọ nikan ti o ṣafihan ni pato lori ila ila. Awọn itọnisọna ile-iwe ti o wa ni awọn iwe afọwọkọ asopọ (pẹlu awọn iwe afọwọkọ asopọ ti o wa lori laini aṣẹ) ti ko bikita.

- ṣe agbekalẹ kika-iṣẹ-ṣiṣe

Ld le ni tunto lati ṣe atilẹyin fun ju faili lọkan lọ. Ti o ba ti ṣeto Ld rẹ ni ọna yii, o le lo aṣayan aṣayan --oformat lati ṣafihan awọn ọna kika alakomeji fun faili ohun elo nkan. Paapaa nigbati a ba tun ṣe Ld lati ṣe atilẹyin awọn ọna kika miiran, iwọ ko nilo lati ṣọkasi eyi, bi Ld yẹ ki o tunto lati gbejade gẹgẹbi ọna kika ti o ṣeeṣe kika kika ti o wọpọ julọ lori ẹrọ kọọkan. ọna kika-ṣiṣẹ jẹ okun ọrọ, orukọ orukọ kika ti o ni atilẹyin nipasẹ awọn ile-iwe BFD. (O le ṣe akojọ awọn ọna kika alakomeji ti o wa pẹlu objdump -i .) Awọn aṣẹ afọwọkọ "OUTPUT_FORMAT" tun le ṣedọjuwe kika kika, ṣugbọn aṣayan yi bori rẹ.

-qmagic

A ko bamu aṣayan yii fun ibaramu Linux.

-Awọn

A ko bamu aṣayan yii fun ibamu SVR4.

--Sinmi

Aṣayan pẹlu awọn ipa ti o gbẹkẹle ẹrọ. Aṣayan yii ni atilẹyin nikan lori awọn afojusun diẹ.

Ni awọn iru ẹrọ kan, aṣayan aṣayan --relax ṣe awọn iṣagbejade agbaye ti o ṣeeṣe nigbati oluṣopọ naa ba yan idojukọ ni eto naa, gẹgẹbi awọn ipo ihuwasi idaduro ati ṣiṣe awọn ilana titun ni faili faili ohun elo.

Lori diẹ ninu awọn iru ẹrọ wọnyi ọna asopọ akoko agbaye optimizations le ṣe aṣoju ti awọn ami ti Abajade ti o bajẹ soro. Eyi ni a mọ lati jẹ ọran fun awọn ti n ṣalaye ti Matsushita MN10200and MN10300.

Lori awọn iru ẹrọ ibi ti a ko ṣe atilẹyin fun, - ti gba adehun, ṣugbọn ko gba.

- aami-faili-aami-aami

Ṣiṣe awọn ami nikan ti a ṣe akojọ ninu faili filename , sisọ gbogbo awọn miiran. Orukọ orukọ jẹ nìkan faili alapin, pẹlu orukọ aami kan fun laini. Aṣayan yii jẹ pataki julọ ni awọn agbegbe (bii VxWorks) nibi ti a ti ṣajọpọ tabili tabili ti o tobi pupọ, lati ṣe iranti iranti akoko-ṣiṣe.

- faili-aami-ami-ami ko ni sọ awọn aami ti a ko yan, tabi aami ti a nilo fun awọn ibugbe.

O le nikan ṣafihan - faili-ami-ami lẹẹkan ninu laini aṣẹ. O jẹ aṣiṣe -s ati -S .

-apapọ dirt

Fi itọsọna kan ranṣẹ si ọna wiwa ìwádìí igba akoko asiko. Eyi lo nigba ti o so ohun ti ELFexecutable pẹlu awọn ohun ti a pín. Gbogbo awọn ariyanjiyan-gbogbo-ọrọ ti wa ni a sọjọ ati kọja si asopọ asopọ akoko, eyi ti o nlo wọn lati wa awọn ohun ti a pin ni akoko asiko. Aṣayan aṣayan -rpath naa ni a tun lo nigbati o ba n ṣalaye awọn ohun ti a pin ni eyi ti a nilo nipa awọn ohun ti a pin ni gbangba ti o wa ninu asopọ; wo apejuwe ti aṣayan -rpath-asopọ . Ti a ko ba lo --ppath nigba ti o ba ṣopọ ohun ti ELF ṣe, awọn akoonu ti iyipada ayika "LD_RUN_PATH" ni ao lo ti o ba jẹ asọye.

Aṣayan -rpath aṣayan le tun ṣee lo lori SunOS. Nipa aiyipada, lori SunOS, oluṣopọ naa yoo ṣafẹda ibi-itọpa igbagbogbo lati gbogbo awọn aṣayan -L ti a fun ni. Ti a ba lo aṣayan aṣayan-aṣayan, ọna wiwa akoko igbagbogbo yoo ni ipilẹ ti o ni lilo awọn aṣayan -rpath nikan , bikita awọn aṣayan -L . Eyi le wulo nigba lilo gcc, eyi ti o ṣe afikun awọn aṣayan -L ti o le jẹ lori awọn faili faili NNN.

Fun ibamu pẹlu awọn asopọpọ ELF miiran, ti o ba tẹle -R aṣayan nipasẹ orukọ itọsọna kan, dipo orukọ faili kan, o ni a mu bi aṣayan -rpath .

-rpath-asopọ DIR

Nigbati o ba nlo ELF tabi SunOS, iwe-ikawe ti o pin le beere fun miiran. Eyi maa n ṣẹlẹ nigbati asopọ "Ld -shared" kan pẹlu iwe-kikọ ti a pín gẹgẹ bi ọkan ninu awọn faili titẹ sii.

Nigba ti awọn alabapade asopọ asopọ iru igbẹkẹle kan nigbati o ba ṣe asopọ ti kii ṣe alabapin, asopọ ti kii ṣe atunṣe, yoo gbiyanju laifọwọyi lati wa ibi-ikawe ti a beere ati lati fi sii ni ọna asopọ, ti ko ba wa ni afikun. Ni irú ọran yii, aṣayan -rpath-asopọ n ṣalaye ibẹrẹ akọkọ ti awọn ilana lati wa. Awọn aṣayan -rpath-asopọ le ṣalaye akojọ awọn itọsọna awọn orukọ boya nipa ṣe apejuwe akojọ kan ti awọn orukọ ti a ya sọtọ nipasẹ awọn alagbẹ, tabi nipa han ọpọlọpọ igba.

Aṣayan yii yẹ ki o lo pẹlu iṣọra bi o ti npa ipa ọna wiwa ti o le ti ṣajọpọ lile sinu iwe-ikawe ti a pín. Ninu iru idi bẹẹ o ṣee ṣe lati lo iṣeduro ti o yatọ si ọna ti o yatọ ju ọna asopọ olutọju lọ.

Olupasoro nlo awọn ọna wiwa atẹle lati wa awọn ile-ikawe ti a beere.

1.

Awọn ilana eyikeyi pato nipasẹ awọn aṣayan-ọna asopọ -rpath-asopọ .

2.

Awọn ilana eyikeyi pato nipasẹ awọn aṣayan -rpath . Iyatọ laarin -rpath ati -rpath-asopọ ni pe awọn itọnisọna pàtó nipa awọn aṣayan -rpath ti wa ninu iṣẹ naa ti a lo ni akoko asise, nigba ti aṣayan aṣayan -rpath-asopọ nikan ni o munadoko ni akoko asopọ. O jẹ fun asopọpọ abinibi nikan.

3.

Lori eto ELF, ti a ko ba lo awọn aṣayan -rpath ati "rpath-link", ṣawari awọn akoonu ti iyipada ayika "LD_RUN_PATH". O jẹ fun asopọpọ abinibi nikan.

4.

Lori SunOS, ti a ko ba lo aṣayan -rpath , wa eyikeyi awọn itọnisọna pato nipa lilo awọn aṣayan -L .

5.

Fun onisẹpo abinibi, awọn akoonu ti iyipada ayika "LD_LIBRARY_PATH".

6.

Fun ọmọ ibatan ELF kan ti ara ilu, awọn iwe-iwe ni "DT_RUNPATH" tabi "DT_RPATH" ti ijinlẹ ti a pin ni a wa fun awọn ikawe ti o nilo lati ọwọ rẹ. Awọn titẹ sii "DT_RPATH" ko ni bikita ti awọn titẹ sii "DT_RUNPATH" wa tẹlẹ.

7.

Awọn iwe ilana aiyipada, deede / lib ati / usr / lib .

8.

Fun oluṣakoso abinibi lori eto ELF, ti faili /etc/ld.so.conf wa, akojọ awọn ilana ti a ri ninu faili naa.

Ti a ko ba ri iwe-ikawe ti a beere, oluṣopọ yoo funni ni ikilọ kan ati tẹsiwaju pẹlu asopọ.

-shared

-Baṣeyọ

Ṣẹda iwe-kikọ ti o pín. Eyi ni atilẹyin ni atilẹyin nikan lori awọn eroja ELF, XCOFF ati awọn SunOS. Lori SunOS, oluṣopọ naa yoo ṣẹda iwe-ikawe ti o nipase laifọwọyi nigbati o ba jẹ pe a ko lo-a aṣayan ati pe awọn ami ti a ko ti yan ni ọna asopọ naa.

- wọpọ wọpọ

Aṣayan yii sọ fun ld lati to awọn aami ti o wọpọ pọ nipasẹ iwọn nigbati o gbe wọn sinu awọn ipele ti o wu. Akọkọ wá gbogbo awọn aami aami ti o ni, lẹhinna gbogbo awọn meji, lẹhinna gbogbo awọn ẹẹrin mẹrin, lẹhinna ohun gbogbo. Eyi ni lati dena awọn ela laarin awọn aami nitori awọn idiwọn titu.

--split-by-file [ size ]

Gegebi --split-by-reloc ṣugbọn ṣẹda aaye titun ti o wa fun faili kikọ silẹ kọọkan nigbati iwọn ba de. iwọn aiyipada si iwọn ti 1 ti a ko fifun.

--split-by-reloc [ ka ]

Awọn igbiyanju lati ṣẹda awọn afikun apakan ninu faili ti o nṣiṣejade nitori pe ko si apakan oṣiṣẹ kan ninu faili naa ni diẹ ẹ sii ju awọn ibugbe igbasilẹ lọ. Eyi jẹ wulo nigba ti o npese awọn faili ti o tobi julo fun gbigbe sinu awọn akoko kernels gidi gidi pẹlu ọna kika faili faili COFF; niwon COFFcannot ṣe aṣoju diẹ sii ju 65535 relocations ni apakan kan. Akiyesi pe eyi yoo kuna lati ṣiṣẹ pẹlu awọn ọna faili faili ti ko ṣe atilẹyin awọn apakan aifọwọyi. Oluṣeto naa yoo ko pipin awọn ipinkan titẹ sii fun atunṣilẹ, nitorina ti apakan apakan kan ba ni diẹ sii ju awọn ibugbe idinwo lọ apakan apakan iyọọda yoo ni awọn ọpọlọpọ awọn relocations. ka awọn aṣiṣe si iye ti 32768.

--tawọn

Ṣe apejuwe ati awọn akọsilẹ nipa ifihan nipa iṣẹ ti asopọ asopọ, gẹgẹbi akoko ipaniyan ati lilo iranti.

- ọna kika-ọna kika

Fun diẹ ninu awọn ifojusi, awọn iṣẹ ti Ld yatọ si ni diẹ ninu awọn ọna lati inu adaṣe ti asopọ ti o wa tẹlẹ. Awọn ibeere iyipada yii ld lati lo ọna kika iduro dipo.

Fun apẹẹrẹ, lori SunOS, Ld n ṣe awopọ awọn titẹ sii duplicate ninu tabili tabili aami. Eyi le din iwọn iwọn faili ti o wu jade pẹlu alaye imukuro kikun nipa diẹ sii ju ọgọrun ninu ọgọrun. Laanu, ilana Sunb "DBx" SunOS ko le ka eto ti o mujade ("Gdb" ko ni wahala). Iwọn -ọna kika kika-atijọ ti sọ fun ld lati ko awọn titẹ sii dupẹlu.

--section-start partname = org

Wa apakan kan ninu faili oṣiṣẹ ni adirẹsi pipe ti Org . O le lo aṣayan yi ni ọpọlọpọ awọn igba bi o ṣe yẹ lati wa awọn apakan pupọ ninu laini aṣẹ. Org gbọdọ jẹ odidi opo kan hexadecimal; fun ibamu pẹlu awọn asopọpọ miiran, o le gba oludari 0x maa n ṣepọ pẹlu awọn iye hexadecimal. Akiyesi: o yẹ ki o jẹ aaye aaye funfun laarin apẹrẹ apakan , ami ami kanna (`` = ''), ati org .

-Tbss org

-Tdata org

-Ttext org

Lo org bi ibẹrẹ ibẹrẹ fun --- ni atẹle --- "bss", "data", tabi apa "ọrọ" ti faili faili. Org gbọdọ jẹ odidi opo kan hexadecimal; fun ibamu pẹlu awọn asopọpọ miiran, o le gba oludari 0x maa n ṣepọ pẹlu awọn iye hexadecimal.

--dll-verbose

--verbose

Ṣe afihan nọmba ikede fun ld ki o si ṣe akojọ awọn idiwọ asopọ asopọ ti o ni atilẹyin. Ṣe afihan awọn faili faili ti o le ati pe a ko le ṣi silẹ. Ṣe afihan iwe-ẹri asopọmọ ti a lo nipasẹ asopọ.

--version-script = version-scriptfile

Pato awọn orukọ ti iwe afọwọkọ si olupin asopọ. Eyi ni a maa n lo nigba ṣiṣẹda awọn ile-ikawe pamọ lati ṣafikun alaye diẹ sii nipa irọra ti ikede fun kikọ ile-iwe. Aṣayan yii nikan ni itumọ lori awọn eroja ELF ti o ṣe atilẹyin fun awọn ile-ikawe.

--warn-wọpọ

Ṣiṣe akiyesi nigbati aami ti o wọpọ ni a ṣe idapo pẹlu aami miiran ti o wọpọ tabi pẹlu ifihan aami. Awọn asopọ asopọ Unix gba eyi laaye diẹ, ṣugbọn awọn asopọ asopọ lori awọn ọna ṣiṣe miiran ko ṣe. Aṣayan yii faye gba o lati wa awọn iṣoro ti o pọju lati apapọ awọn aami agbaye. Laanu, diẹ ninu awọn ile-ikawe C lo iṣe yii, ki o le gba awọn ikilo nipa awọn aami ni awọn ile-ikawe ati ninu awọn eto rẹ.

Awọn aami mẹta ti awọn aami agbaye, ti a ṣe apejuwe nipasẹ awọn apeere C:

int i = 1;

Itumọ kan, eyi ti o lọ ni apakan data ti a ti kọkọ ti faili faili.

extern int i;

Atọkasi ti a ko fi sii, eyi ti ko ṣe ipin aaye. O gbọdọ jẹ boya itumọ tabi aami ti o wọpọ fun ayípadà ni ibikan.

int i;

A aami ti o wọpọ. Ti ko ba jẹ aami (ọkan tabi diẹ ẹ sii) aami ti o wọpọ fun ayípadà kan, o lọ si aaye data ti a ti kọ ni aifọwọyi ti faili faili. Oluṣopọ naa ṣafopọ awọn aami wọpọ pupọ fun iyatọ kanna si aami kan. Ti wọn ba wa ni titobi pupọ, o yan iwọn ti o tobi julọ. Ọna asopọ naa ṣafọ aami ti o wọpọ sinu asọtẹlẹ, ti o ba wa itumọ kan ti kanna ayípadà.

Awọn aṣayan -warn-wọpọ le gbe awọn iru ẹdọwọ marun. Ikilọ kọọkan ni awọn ila meji: akọkọ kọ apejuwe ti o kan, ati keji ṣe apejuwe aami ti o wa pẹlu aami kanna. Ọkan tabi mejeeji aami meji yoo jẹ aami ti o wọpọ.

1.

Titan aami ti o wọpọ sinu itọkasi kan, nitori pe tẹlẹ ni itumọ fun aami naa.

(): ìkìlọ: wọpọ ti ` 'ṣafihan nipasẹ definition (): ìkìlọ: asọye nibi

2.

Titan aami ti o wọpọ sinu itọkasi kan, nitoripe ipinnu ti o kẹhin fun aami naa ni o pade. Eyi jẹ kanna bi ẹjọ ti tẹlẹ, ayafi pe awọn aami ti wa ni ipade ni ilana ti o yatọ.

(): ìkìlọ: definition ti ` 'Ṣaṣeyọ wọpọ (): ìkìlọ: wọpọ jẹ nibi

3.

Mimu aami ti o wọpọ pẹlu ami ti o wọpọ kanna.

(): ìkìlọ: ọpọ wọpọ ti ` ' (): ìkìlọ: wọpọ tẹlẹ jẹ nibi

4.

Mimu aami ti o wọpọ pẹlu aami ti o tobi julọ ti o tobi julọ ti tẹlẹ.

(): ìkìlọ: wọpọ ti ` 'ti ṣaju nipasẹ tobi wọpọ (): ìkìlọ: o pọju lọpọlọpọ jẹ nibi

5.

Mimu aami ti o wọpọ pẹlu aami ti o wọpọ ti o kere julo. Eyi jẹ kanna bi ẹjọ ti tẹlẹ, ayafi pe awọn aami ti wa ni ipade ni ilana ti o yatọ.

(): ìkìlọ: wọpọ ti ` 'ṣẹda wọpọ wọpọ (): ìkìlọ: wọpọ wọpọ jẹ nibi

Awọn oṣiṣẹ -warn-builders

Ṣiṣe akiyesi ti o ba lo awọn oludasile agbaye. Eyi jẹ wulo nikan fun awọn ọna faili faili diẹ. Fun awọn ọna kika bi COFF tabi ELF, oluṣopọ ko le ri lilo awọn oluṣe agbaye.

--warn-multiple-gp

Ṣiṣe akiyesi ti awọn ipo iṣiro agbaye julọ ni a beere ni faili oṣiṣẹ . Eyi jẹ nikan ni itumo fun awọn onise, bi Alpha. Ni pato, diẹ ninu awọn onise fi awọn akopọ ti o wulo-pataki ni apakan pataki kan. Atilẹba pataki kan (ijubolu oju-aye agbaye) awọn ojuami si arin aarin yi, ki awọn alatako le wa ni fifuye daradara nipasẹ ipo ipamọ ojulumo-akọwe-mimọ. Niwọn igba ti aiṣedeede ni ipo alakoso-mimọ ti wa ni ipilẹ ati pe o kere diẹ (fun apẹẹrẹ, awọn ihamọ 16), eyi yoo ṣe iwọn iwọn ti o pọju ti adagun ti o wa nigbagbogbo. Bayi, ninu awọn eto nla, o jẹ igbagbogbo lati ṣe amulo awọn ipo-iṣiro agbaye agbaye julọ lati le ni anfani lati koju gbogbo awọn idiwọn to ṣeeṣe. Aṣayan yii nfa ikilọ lati wa ni igbasilẹ nigbakugba ti ọran yii ba waye.

--warn-lẹẹkan

Kilọ fun ẹẹkan fun aami ti a ko le yan, dipo ju lẹẹkan fun module ti o tọka si.

--warn-apakan-align

Ṣiṣe akiyesi ti adirẹsi ti agbegbe iyipo kan yipada nitori titọ. Ni ọna deede, iṣeduro yoo ṣeto nipasẹ aaye titẹ sii. Adirẹsi naa yoo yipada nikan bi a ko ba sọ pato; eyini ni, ti o ba jẹ pe aṣẹ "IPIN" ko pato adirẹsi ibẹrẹ fun apakan.

- pamọ -whole-archive

Fun pamosi kọọkan ti a mẹnuba lori ila laini lẹhin aṣayan aṣayan -whole-archive , ni gbogbo faili ohun ti o wa ninu ile-iwe ni ọna asopọ, ju ki o wa ni ile-iwe fun awọn faili faili ti a beere. Eyi lo deede lati yi faili iforukọsilẹ sinu akojọ ti a pín, o mu ki ohun gbogbo ti o wa ninu iwe-ijẹwe ti o pin. Aṣayan yii le ṣee lo ju ẹẹkan lọ.

Awọn akọsilẹ meji nigba lilo aṣayan yii lati gcc: First, gcc ko mọ nipa aṣayan yii, nitorina o ni lati lo -Wl, -whole-archive . Keji, maṣe gbagbe lati lo -Wl, -no-whole-archive after your list of archives, nitori gcc yoo fi awọn akojọ ti ara rẹ ti awọn ile-iwe pamọ si ọna asopọ rẹ ati pe o le ma fẹ ki aami yii tun ni ipa lori wọn.

aami ami-ami

Lo iṣẹ ti o fi nlẹnu fun aami . Eyikeyi itọkasi ti a ko lejuwe si aami yoo wa ni ipinnu si "wrap_symbol". Eyikeyi itọkasi ti a ko leka si "__real_symbol" ni yoo yanju si aami .

Eyi le ṣee lo lati pese apamọwọ fun iṣẹ eto kan. Iṣẹ ideri yẹ ki a pe "__wrap_symbol". Ti o ba fẹ lati pe iṣẹ eto, o yẹ ki o pe "____ real_symbol".

Eyi jẹ apẹẹrẹ alailẹgbẹ:

void * __wrap_malloc (int c) {printf ("Malloc ti a pe pẹlu% ld \ n", c); pada __real_malloc (c); }

Ti o ba ṣopọ koodu miiran pẹlu faili yii nipa lilo - pa aarọ malloc , lẹhinna gbogbo awọn ipe si "malloc" yoo pe iṣẹ naa "__wrap_malloc" dipo. Ipe si "__real_malloc" ni "__wrap_malloc" yoo pe iṣẹ gidi "malloc".

O le fẹ lati pese iṣẹ "__real_malloc" daradara, ki awọn ìjápọ laisi aṣayan aṣayan -wrap yoo ṣe aṣeyọri. Ti o ba ṣe eyi, iwọ ko gbọdọ fi itumọ ti "____ real_malloc" ni faili kanna bi "__wrap_malloc"; ti o ba ṣe, alakoso le yanju ipe ṣaaju ki asopọ asopọ ni anfani lati fi ipari si o si "malloc".

--enable-new-dtags

--disable-new-dtags

Olupasi asopọ yii le ṣẹda awọn aami iyipada titun ni ELF. Ṣugbọn awọn ọna ẹrọ ELF àgbàlaye le ma ni oye wọn. Ti o ba pato -enable-new-dtags , awọn aami afihan yoo ṣẹda bi o ba nilo. Ti o ba ṣafihan --disable-new-dtags , ko si awọn ami afiṣe tuntun ti yoo ṣẹda. Nipa aiyipada, a ko ṣẹda awọn aami iyasọtọ titun naa. Ṣe akiyesi pe awọn aṣayan naa wa fun awọn ọna šiše forELF nikan.

Oluṣakoso i386 PE atilẹyin atilẹyin aṣayan, eyi ti o mu ki iṣẹ jade jẹ aaye-ìkàwé ti iṣọpọ ti dada (DLL) dipo ti o ṣeeṣe deede. O yẹ ki o lorukọ "* .dll" iṣẹ naa nigbati o ba lo aṣayan yii. Ni afikun, oluṣopọ naa ni atilẹyin awọn faili "* .def" ti o le ṣawari lori ila aṣẹ asopọ asopọ gẹgẹ bi faili faili (ni otitọ, o yẹ ki o ṣaju awọn ile-iwe ti o gbe awọn aami jade lati, lati rii daju pe wọn ni asopọ ni, gẹgẹbi faili ohun elo deede).

Ni afikun si awọn aṣayan ti o wọpọ si gbogbo awọn ifojusi, igbẹkẹle i386 PE ṣe atilẹyin awọn afikun awọn aṣayan ila ti o ni pato si afojusun i386 PE. Awọn aṣayan ti o ya iye le niya lati awọn ipo wọn nipasẹ boya aaye kan tabi ami isọgba kan.

--add-stdcall-alias

Ti a ba funni, awọn ami pẹlu idiwọ stdcall (@ nn ) yoo wa ni okeere bi-ni ati pẹlu pẹlu ina ti o ti yọ.

faili faili -faili- faili

Lo faili gẹgẹbi orukọ faili kan ninu eyi ti lati fi awọn adirẹsi ipilẹ ti gbogbo awọn relocations ti o nilo fun fifẹ DLL pẹlu dlltool .

--dll

Ṣẹda DLL dipo iṣiṣẹ deede. O tun le lo -shared tabi ṣafihan "LIBRARY" ninu faili ".def" ti a fun.

--enable-stdcall-fixup

--disable-stdcall-fixup

Ti asopọ naa ba ri aami ti ko le yanju, o yoo gbiyanju lati ṣe "sisọ pọ" nipa wiwa aami miiran ti a ṣe apejuwe ti o yatọ si ni ọna kika aami (cdecl vs stdcall) ati pe yoo yanju ami naa nipa sisopọ si baramu. Fun apẹẹrẹ, a le sopọ mọ aami "_foo 'laini ti a ko lejuwe si iṣẹ naa" _foo @ 12 ", tabi aami ti a ko ti yan" _bar @ 16 "ni a le sopọ si iṣẹ" _bar ". Nigba ti oluṣopọ naa ba ṣe eyi, o tẹsiwaju ni ikilọ kan, niwon o yẹ ki o ti kuna lati sopọ mọ, ṣugbọn nigbami o ma gbe awọn ile-ikawe ti o ti ipilẹṣẹ lati awọn ẹgbẹ ẹgbẹ kẹta le nilo ẹya ara ẹrọ yii lati jẹ ohun elo. Ti o ba pato --enable-stdcall-fixup , ẹya ara ẹrọ yi ti ni kikun siṣẹ ati awọn ikilo ko ni titẹ. Ti o ba pato --disable-stdcall-fixup , ẹya ara ẹrọ yii jẹ alaabo ati iru iṣiro ti a kà si aṣiṣe.

- aami-gbogbo-aami

Ti a ba funni, gbogbo awọn aami agbaye ni awọn ohun ti a lo lati kọ DLL yoo jẹ okeere nipasẹ DLL. Akiyesi pe eyi ni aiyipada ti o ba jẹ pe bibẹkọ ti kii yoo jẹ aami awọn ọja okeere. Nigbati awọn aami ti wa ni ọja-ọja ni kiakia nipasẹ awọn faili DEF tabi ti a fi ranṣẹ si okeere nipasẹ awọn iṣẹ-ṣiṣe, aiyipada ni lati ko gberanṣẹ eyikeyi miiran ayafi ti a ba fi aṣayan yii fun. Akiyesi pe awọn ami "DllMain @ 12", "DllEntryPoint @ 0", "DllMainCRTStartup @ 12", ati "impure_ptr" kii yoo ni itajẹ laifọwọyi. Pẹlupẹlu, awọn aami ti a wọle lati DLL miiran yoo ko ni tun firanṣẹ ranṣẹ, tabi awọn ami ti o ṣe afijuwe ifilelẹ ti inu DLL gẹgẹbi awọn ti o bẹrẹ pẹlu "_head_" tabi fi opin si pẹlu "_iname". Ni afikun, ko si aami lati "libgcc", "libstd ++", "libmingw32", tabi "crtX.o" yoo wa ni okeere. Awọn ami ti awọn orukọ ti bẹrẹ pẹlu "__rtti_" tabi "__builtin_" kii yoo ta ọja jade, lati ṣe iranlọwọ pẹlu C ++ DLLs. Níkẹyìn, o wa akojọpọ ohun ti awọn aami cygwin-secrete ti a ko fi ranṣẹ (o han ni, eyi kan lori nigbati o ṣe awọn DLL fun awọn fojusi cygwin).

Awọn wọnyi cygwin-excludes ni: "_cygwin_dll_entry @ 12", "_cygwin_cll0_common @ 8", "_ cygwin_noncygwin_dll_entry @ 12", "_fmode", "_impure_ptr", "cygwin_attach_dll", "cygwin_premain0", "cygwin_premain1", "cygwin_premain2", "cygwin_premain3 ", ati" nipa ".

--exclude-symbols symbol , symbol , ...

N ṣe apejuwe akojọ awọn aami ti o yẹ ki o ko ni taara laifọwọyi. Orukọ awọn aami aami le jẹ eyiti a le sọtọ nipasẹ awọn aami-ika tabi awọn alagbẹ.

--exclude-libs lib , lib , ...

N ṣe apejuwe akojọ kan ti awọn ile-ikawe akosile lati eyi ti awọn aami ko yẹ ki o fi ọja ranṣẹ laifọwọyi. Awọn orukọ ile-ikawe le jẹ eyiti a ti ṣaima nipasẹ awọn aami-ika tabi awọn alagbẹ. Ṣeto awọn "- GBOGBO-GBOGBO GBOGBO" kọ awọn aami ni gbogbo awọn ile-ikawe ile-iwe lati idasilẹ laifọwọyi. Awọn aami ti a ṣalaye jade ni faili faili .def ni a tun gbejade, lai si aṣayan yii.

--file-alignment

Pato awọn iforukọsilẹ faili. Awọn apakan ninu faili yoo ma bẹrẹ nigbagbogbo ni awọn faili ti o jẹ awọn nọmba ti nọmba yii. Eyi ni aṣiṣe si 512.

Reserve Reserve

- Reserve Reserve ,

Pato iye iranti lati ṣipamọ (ati aṣayan ṣe) lati ṣee lo bi akojọ fun eto yii. Awọn aiyipada ni 1Mb wa ni ipamọ, 4K ṣe.

- iye -mimọ-mimọ iye

Lo iye bi adiresi ipilẹ ti eto rẹ tabi dll. Eyi ni ipo iranti ti o kere julọ ti yoo lo nigbati eto rẹ tabi dll ti wa ni ti kojọpọ. Lati dinku nilo lati tun pada ki o si ṣe ilọsiwaju iṣẹ ti awọn dlls rẹ, kọọkan yẹ ki o ni adiresi ipilẹ pataki ati ki o ko ṣe atunṣe eyikeyi awọn dlls miiran. Awọn aiyipada ni 0x400000 fun awọn alaṣẹ, ati 0x10000000 fun awọn dlls.

--kill-at

Ti a ba funni, awọn suffixes stdcall (@ nn ) yoo yọ kuro ni awọn aami ṣaaju ki wọn to tita.

- iye iye -major-image-version

Ṣajọpọ nọmba pataki ti '`image version' '. Awọn aiyipada si 1.

--major-os-version iye

Ṣajọpọ nọmba pataki ti '`OS version' '. Awọn aṣiṣe si 4.

--major-subsystem-version value

Ṣajọpọ nọmba pataki ti '`subystem version' '. Awọn aṣiṣe si 4.

--minor-image-version value

Ṣajọpọ nọmba kekere ti "` image version "'. Awọn aṣiṣe si 0.

--minor-os-version iye

Ṣajọpọ nọmba kekere ti '`OS version' '. Awọn aṣiṣe si 0.

--minor-subsystem-version value

Ṣajọpọ nọmba kekere ti '`subsystem version' '. Awọn aṣiṣe si 0.

- faili aṣiṣe-jade

Oluṣakoso naa yoo ṣẹda faili faili ti yoo ni faili DEF ti o ni ibamu si DLL ti asopọ asopọ naa n pese. Fọọmù DEF yii (eyi ti o yẹ ki a pe "* .def") le ṣee lo lati ṣẹda iwe-iṣowo ikọja pẹlu "dlltool" tabi o le ṣee lo bi itọkasi si aami apẹẹrẹ awọn ọja okeere tabi ni ifijiṣẹ.

faili faili -out-implib

Oluṣakoso naa yoo ṣẹda faili faili ti yoo ni ipin lẹta ti o baamu si DLL ti asopọ asopọ naa n pese. Yi wọle lib (eyi ti o yẹ ki o pe "* .dll.a" tabi "* .a" le lo lati ṣe asopọ awọn onibara lodi si DLL ti o ni ipilẹṣẹ; iwa yii jẹ ki o ṣafẹsi "dlltool" ipinnu iwe-ẹri kikọ iwe-iṣowo.

--ena-auto-image-base

Yan aifọwọyi yan orisun fun awọn DLL, ayafi ti o ba wa ọkan nipa lilo ariyanjiyan "-image-base". Nipa lilo iṣiro ti a ṣe lati inu dllname lati ṣẹda awọn ipilẹ ti o yatọ fun DLL kọọkan, awọn igbimọ-iranti ati awọn ibugbe ti o le fa idaduro pipaṣẹ eto ni a yago fun.

--disable-auto-image-base

Maṣe ṣe afihan orisun ipilẹ ti o yatọ. Ti ko ba si ipilẹ aworan ori-olumulo kan-pato ti a ti sọ ("-image-base") lẹhinna lo aiyipada aifọwọyi.

Iwọn wiwa -dll-search-prefix

Nigbati o ba n sopọ dada si dll lai si iwe-iṣowo ikọwe, wa fun " .dll" ni ayanfẹ si "iyọda .dll". Iwa yii jẹ ki iyatọ ti o rọrun laarin awọn DLL ti a ṣe fun awọn orisirisi '`subplatforms' ': abinibi, cygwin, uwin, pw, ati be be lo. Fun apẹẹrẹ, awọn DLLs cygwin nlo" --dll-search-prefix = cyg ".

--ena-auto-gbe wọle

Ṣe asopọ ti o ni imọran ti "_symbol" si "________mbol" fun awọn ikọja DATA lati DLL, ki o si ṣẹda aami awọn itumọ ti o yẹ nigba ti o kọ awọn ile-ikawe ti o wa pẹlu awọn DATA exportports. Eyi yoo ṣe 'ṣiṣẹ nikan' --- ṣugbọn nigbami o le ri ifiranṣẹ yii:

"iyipada '' ko le wa ni idokuro-laifọwọyi. Jọwọ ka awọn iwe fun ld ti o jẹ" -enable-auto-import "fun awọn alaye."

Ifiranṣẹ yii waye nigbati diẹ ninu awọn (ipin) ikorọ wọle si adirẹsi ti o funni ni ipese ti awọn idiwọn meji (Awọn orisun ti o gbe wọle Win32 nikan gba ọkan). Awọn aaye ibi ti eyi le waye pẹlu awọn wiwọle si awọn ẹgbẹ ẹgbẹ ti awọn titoyipada ti a ti wole lati DLL, bakannaa pẹlu lilo itọka ti o tọ sinu ayípadà titobi ti a wole lati DLL. Iyipada nọmba multiword (awọn ohun elo, awọn ilana, gigun gun, ati be be lo) le fa okunfa aṣiṣe yii. Sibẹsibẹ, laisi iru iru data gangan ti iyipada ikọja ti n ṣe atunṣe, Ld yoo ma ri o nigbagbogbo, gbejade ikilọ naa, ati jade.

Awọn ọna pupọ lo wa lati koju iṣoro yii, laisi iru irufẹ data ti iyipada ọja-tita:

Ọna kan ni lati lo iyipada akoko-akoko-akoko-igba-atunṣe. Eyi fi ojuṣe ṣiṣe awọn atunṣe awọn koodu inu koodu onibara rẹ fun ayika akoko ṣiṣe, nitorina ọna yii nṣiṣẹ nikan nigbati akoko asiko isise atilẹyin ẹya ara ẹrọ yii.

Aṣayan keji ni lati ṣe okunfa ọkan ninu awọn 'awọn constants' lati jẹ ayípadà kan - eyini ni, aimọ ati ailopin ni titojọ akoko. Fun awọn ẹtan, awọn ọna meji ni o wa: a) ṣe awọn akọsilẹ (adirẹsi ile-iṣẹ) kan ayípadà, tabi b) ṣe ijẹrisi 'igbasilẹ' ni ayípadà. Bayi:

Extern type extern_array []; extern_array [1] -> {iru iyipada * t = extern_array; t [1]}

tabi

Extern type extern_array []; extern_array [1] -> {iyipada int t = 1; extern_array [t]}

Fun awọn ipa (ati ọpọlọpọ awọn ami data data multiword) aṣayan nikan ni lati ṣe ipilẹ ara rẹ (tabi gun gun, tabi ...) ayípadà:

extern structure s extern_struct; extern_struct.field -> {aṣa iyipada s * t = & extern_struct; t-> aaye}

tabi

extern_ll long long extern_ll; extern_ll -> {iyipada gun gun * local_ll = & extern_ll; * local_ll}

Ọna mẹta ti n ṣe iṣoro pẹlu iṣoro yii ni lati fi silẹ fun 'idokuro-idasilẹ' fun aami aiṣedede ati ki o samisi pẹlu "__declspec (dllimport)". Sibẹsibẹ, ni iṣe ti o nilo lati lo awọn oṣooṣu akoko-akoko lati fihan boya o n ṣe DLL, ti o kọ koodu onibara ti yoo ṣe asopọ si DLL, tabi pe ki o kọ / sisopọ si iwe-ẹkọ aimi. Ni ṣiṣe awọn ayanfẹ laarin awọn ọna oriṣiriṣi ti idarẹ 'adirẹsi ti o tọ pẹlu iṣedede idaṣe nigbagbogbo, o yẹ ki o ṣe akiyesi lilo ti gidi-aye:

Atilẹba:

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

Solusan 1:

--foo.h extern int arr []; --foo.c #include "foo.h" void main (int argc, char ** argv) {/ * Yi workaround ni fun win32 ati cygwin; ma ṣe "jẹ ki" * / iyipada int * parr = arr; tẹjade ("% d \ n", parr [1]); }

Solusan 2:

--foo.h / * Akiyesi: a ti fi ipilẹ-aṣiṣe-ara-ẹni (no __declspec (dllexport)) * / #if (telẹ (_WIN32) || asọye (__ CYGWIN__)) &&! (asọye (FOO_BUILD_DLL) || asọye (FOO_STATIC )) #define FOO_IMPORT __declspec (dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr []; --foo.c #include "foo.h" void akọkọ (int argc, char ** argv) {printf ("% d \ n", arr [1]); }

Ọnà kẹrin lati yago fun iṣoro yii ni lati tun koodu rẹ kọwe si lati lo iṣiro iṣẹ-ṣiṣe dipo iṣiro data fun awọn oniyipada aiṣedede (fun apẹẹrẹ set_foo () ati get_foo () awọn ọna wiwọle ).

--disable-auto-import

Mase ṣe igbiyanju lati ṣe asopọ ti o ni imọran ti "_symbol" si "________mbol" fun awọn oju-iwe ẹrọ DLL.

Aṣeyọṣe-akoko-akoko-iṣẹ-aṣoju

Ti koodu rẹ ba ni awọn ọrọ ti a ṣalaye ni apakan ti a ko ni abuda, eyiti o jẹ, Awọn ẹkunrẹrẹ DATA lati DDL pẹlu aiṣedeede kii kii-odo, yi yipada yoo ṣẹda oju-iwe ti 'awọn ile-iṣẹ aṣiṣe akoko' eyi ti o le ṣee lo nipasẹ agbegbe akoko ṣiṣe lati ṣatunṣe awọn itọkasi si iru data ni koodu onibara rẹ.

- idaduro-akoko-ṣiṣe-aṣoju

Ma ṣe ṣẹda awọn idasilẹ ti ko tọ si fun aiṣedeede ti kii kii-odo Awọn ifilelẹ ti o wọle lati awọn DLLs. Eyi ni aiyipada.

--enable-extra-pe-debug

Fi afikun alaye ti n ṣatunṣe aṣiṣe ti o ni ibatan si itọnisọna idojukọ-ami-iṣowo.

- -section-alignment

Ṣeto akojọ si apakan. Awọn ipinnu iranti ni iranti yoo bẹrẹ nigbagbogbo ni awọn adirẹsi ti o jẹ nọmba ti nọmba yii. Awọn aiyipada si 0x1000.

- Reserve Reserve

- Reserve Reserve , ṣẹda

Ṣe apejuwe iye iranti lati ṣipamọ (ati aṣayan ṣe) lati lo bi ipile fun eto yii. Awọn aiyipada ni 2Mb wa ni ipamọ, 4K ṣe.

- ipilẹṣẹ eyi ti

- ipilẹṣẹ eyi ti : pataki

- ipilẹṣẹ eyi ti : pataki . kekere

N ṣe apejuwe ọna-ṣiṣe abẹ labẹ eyiti eto rẹ yoo ṣiṣẹ. Awọn ofin ofin fun eyi ti "ilu abinibi", "Windows", "console", ati "posix". O le ṣe atunto tun ṣe eto ijẹrisi naa tun.

Pataki: Lo pipaṣẹ eniyan ( % eniyan ) lati wo bi o ṣe nlo aṣẹ kan lori kọmputa rẹ.