لینکس / یونکس کمانډ: Id

NAME

ld - د LD کارول ، د GNU لینکر

SYNOPSIS

[ اختیاری ] توکي ...

DESCRIPTION

LD یو شمیر اعتراض او آرشیف فایلونه سره یوځای کوي، خپل معلومات او اړیکي د سمبول حواله لیږدوي. عموما د پروګرام په ترتیب کولو کې وروستنی ګام د LD چلولو لپاره دی.

LD د لنکر کمانډ ژبې فایلونه مني چې د AT & T د لنک ایډیډ کمان ژبی نحو کې لیکل شوي، ترڅو د اړیکو پروسې په اړه واضح او بشپړ کنترول چمتو کړي.

د دې سړي پاڼه د قوماندې ژبه تشریح نه کوي؛ د معلوماتو په اړه او د GNU لینکر په نورو اړخونو کې بشپړ معلومات لپاره "معلومات"، یا د لارښود لارښود: GNU لینکر کې د LD ننوتل وګورئ.

د LD دا بڼه د اعتراض فایلونو په کارولو لپاره عمومي هدف BFD کتابتونونه کاروي. دا د LD لوستلو، جمع کولو او د فایل فایلونو په ډیری مختلفو بڼو کې لیکلو ته اجازه ورکوي --- د مثال په توګه، COFF یا "a.out". مختلف ډوله شکلونه ممکن د یو بل سره د یو ډول منفي فایل د تولید لپاره یوځای شي.

د دې لچکتیا سره سره، د GNU لینک کونکي د نورو لینک کونکو څخه د تشخیصی معلوماتو چمتو کولو کې ډیر ګټور دي. ډیری لینک کونکي د یو تیروتنې سره سم په چټکتیا سره اعدام پریږدي؛ هر کله چې امکان ولري، LD جاري کولو ته دوام ورکوي، تاسو ته د نورو غلطو پیژندلو اجازه درکول کیږي) یا، په ځینو مواردو کې، د خرابۍ سره سره د محصول فایل ترلاسه کولو لپاره (.

د GNU لینکر LD د دې لپاره دی چې د یو پراخ پراخ لړۍ پوښښ کړي، او د نورو لینک کونکو سره ممکنه وي لکه. په پایله کې، تاسو د خپل چلند کنترول لپاره ډیری انتخابونه لرئ.

اختیارونه

لینک کوونکی د کمانډیشن انتخابونو ملاتړ کوي، مګر په ریښتینې طریقه کې ځینې یې په کوم ځانګړي شرایطو کې کارول کیږي. د بېلګې په توګه، د LD ډیری کارول د معیاري یونکس اعتراض فايلونو په معیاري، د یونیسس مالتړ شوي سیسټم سره اړیکه لري. په داسې سیسټم کې، د "هیلو .o" دوتنه لینک کولو لپاره:

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

دا پدې اړه وايي چې د "فایل/crt0.o" سره د "فایل/crt0.o" سره نښلول د فایل په نوم د فایل تولیدول د "hello.o" او کتابتون "libc.a" سره، چې کوم به د معیاري لټون لارښوونو څخه راځي. (د لاندې -l اختیاري بحث بحث وګورئ.)

د LD لپاره د کمانډین ځینې انتخابونه کیدای شي د هرې مودې لپاره د کمانډ کرښه کې مشخص شي. په هرصورت، هغه انتخابونه چې دوتنې ته ورته اشاره کوي، لکه AS -L or -T ، د دې لپاره چې فايل په لین کې، د اعتراض فایلونو او نورو دوتنې انتخابونو سره سم په ډاګه کولو کې فایل لوستل شي. د مختلفو دلیلونو سره د غیر فايل انتخابونو بیا تکرار به یا هم نور اغېز نلري، یا د دې اختیار څخه مخکې مخکینیو حالتونو ته) دوی ته د کنډک په لیکه کې لاړ شي (. هغه انتخابونه چې معنی یې په معنی سره په نښه کوي د یو ځل نه ډیر وخت په لاندې ډول تشریح شوي.

غیر غوراوي اعتراضونه د اعتراض فایلونو یا ارشیفونو دي کوم چې یوځای سره تړل کیږي. دوی ممکن د کمانډیشن انتخابونو سره تعقیب، مخکې یا یا هم مخلوط شي، پرته له دې چې د اعتراض فایل دليلونه د اختیار او د هغې د استدلال تر مینځ کیدی نشي.

په معمولا لینک کونکي لږترلږه یو اعتراض فایل سره غږ کیږي، مګر تاسو کولی شئ د -l ، -R ، او د سکرېپټ کمانډ په کارولو سره د بائنری انټرنیټ نورې بڼې مشخص کړئ. که د بائنری انډول فایلونه په ټول ډول مشخص نه وي، لینک کونکي کوم محصول تولید نه کوي، او پیغام د انټرنټي فایل فایلونو مسله کوي .

که لینک کوونکی د اعتراض د دوتنې بڼه ونه پیژندل شي، نو دا به داسې انګیرل شي چې دا د لینکر سکرپٹ دی. په دې طریقه کې مشخص شوي لینک د اصلي لینکر سکریپ د لینک لپاره کارول کیږي (یا د اصلي سرلیک سکریپټریټ یا هغه چې یو یې د -T کارولو لخوا مشخص شوی. دا فیصله لینک ته اجازه ورکوي چې د یوې دوتنې په وړاندې تړلې وي چې اعتراض یا آرشيف وي، مګر په حقیقت کې یوازې د سمبول ارزښتونه تعریفوي، یا د نورو توکو د پورته کولو لپاره "INPUT" یا "GROUP" کاروي. په ياد ولرئ چې په دې ډول يو لپ ټاپ ځانګړتيا د اصلي لينکر سکرپٹ يوازې تغير کوي؛ د ټایټ د ډیزاینر لینکر سکرټ ځای په ځای کولو لپاره -T اختیار وکاروئ .

د هغو انتخابونو لپاره چې نومونه یې یو واحد دی، د استدلال اختیارونه باید د اختیار لیک پرته تعقیب کړي پرته له دې چې د سپیټ اسپیس مداخله وشي، یا د دوی د اړتیا په تعقیب سم د بیلا بیلو شخړو په توګه ورکړل شي.

د هغو انتخابونو لپاره چې نومونه یې څو لیکونه دي، یا یو د ډش یا دوه کولی شي د انتخاب نوم مخکې وي؛ د بیلګې په توګه، د ټیټ نښه- او ټیټ سمبول برابر دي. یادونه - پدې حاکمیت کې یو استثنا شتون لري. ډیری لیکل شوي انتخابونه چې د ټیټه قضیې O سره پیل کیږي یواځې د دوه ویشونو څخه مخکې کیدی شي. دا د دې اختیار سره ناڅاپي کمول دي. نو د مثال په توګه - ماکیکیک د محصول فایل نوم د جادو لپاره وټاکه پداسې حال کې چې --omagic د output په اړه د NMAGIC بیرغ جوړوي.

د څو لیکونو انتخابونو ته مباحثې باید د اختیار د نوم څخه د مساوي السلیک سره جلا شي، او یا د هغه انتخاب څخه سم چې د دوی غوښتنې ته فوري تعقیب کیدلو سره جلا جلا دلیلونه ورکړل شي. د مثال په توګه، - ټیټ سمبول foo او - ټیټ سمبول = foo برابر دي. د ګڼ شمېر لیکو د انتخابونو نومونو ځانګړي لنډیزونه منل شوي دي.

یادونه - که چیرته لینک په غیر مستقیم ډول په نښه شوی وي، د کمپلیور چلوونکي (د بیلګې په توګه د سي ایل سی ) له لارې نو د لینک کنډک ټولې لارې انتخابونه باید د WW لخوا وړاندې شي ، (یا کوم چې د ځانګړي کمپیوټر چلونکي لپاره مناسبه وي) لکه دا:

gcc-wl، - پېښلیک ګروپ foo.o bar.o-wl، - پایپ ټاپ

دا مهمه ده، ځکه چې د بلې ډلی ډرایور پروګرام ښايي په خاموش سره د اړیکو اختیارونه وګرځوي، چې نتیجه یې خرابه اړیکه ده.

دلته د جنر کمان لینچ یو میز دی چې د GNU لینک کونکي لخوا منل شوی:

- یو کلیدی

دا اختیار د HP / UX مطابقت لپاره ملاتړ شوی. کلیدي استدلال باید د ډیزاین آرشیف ، شریک ، یا ډیزاین څخه یو وي . -آرایشي فعاله د باسیسټیک سره برابره ده، او دوه نور کلیدي فعالیتونه په فعال ډول د بډایټیک سره برابر دي. دا اختیار ممکن د ځینو وختونو کارول کیدی شي.

- یو تعمیر

- تعمیرات = جوړښت

د LD په اوسني خوشې کولو کې، دا اختیار یوازې د Intel 960 کورنۍ د لرغونتیاوو لپاره ګټوره ده. په دې لینډ ترتیب کې، تعمیراتي دلیل په 960 کورنۍ کې ځانګړی ساختماني پیژندنه کوي، ځینې محافظت چمتو کوي او د آرشيف کتابتون پلټنه پلټنه.

د LD راتلونکي راتلونکی کیدای شي د نورو معماریو کورنیو لپاره ورته فعالیتونه حمایه کړي.

-b د انټرنیټ بڼه

--format = د انټرنیټ بڼه

LD کېدای شي د یو ډول څخه د اعتراض ډول دوتنې ملاتړ وکړي. که ستاسو د LD دا ډول ترتیب شوی وي، تاسو کولی شئ د -b اختیاري بڼه د انعکاس فايل فایلونو لپاره وټاکئ چې دا اختیار د کمانډ کرښه په پام کې ونیسي. حتی که چیرې د LD بدیل د بدیل اعتراضونو فارمونو مالتړ وکړي، تاسو عموما دا مشخص کولو ته اړتیا نلرئ، ځکه چې د LD باید ترتیب شي چې د ډیزاین انټرنټ بڼه په هر ماشین کې خورا معمول بڼه. د انټرنټ بڼه د متن تار دی، د ځانګړي بڼه بڼه چې د BFD کتابتونونو لخوا یې ملاتړ کیږي. (تاسو کولی شئ د وړیا بڼې فارټسونه د objdump -i سره لیست کړئ)

تاسو کولی شئ د دې انتخاب څخه کار واخلئ که تاسو د غیر معمولي بڼری شکل سره فایلونه لینک کوئ. همدا رنګه تاسو کولی شئ د ب . فارمونو لپاره په واضح ډول (د مختلف فارمیټونو د فایلونو سره نښلول) کله چې د اعتراض فایلونو د هر ګروپ مخکې په ځانګړي بڼه کې -b د انټرنیټ بڼه ډک کړئ ، په کارولو سره هم کارولای شئ.

اصلي بڼه د چاپیریال د متغیر "GNUTARGET" څخه اخیستل کیږي.

تاسو کولی شئ د سکرټ څخه د انټرنټ بڼه تعریف کړئ، د "ټارګټ" کمانډ څخه کار واخلئ؛

-c د MRI-کمانډیفیل

MRI -script = MRI-commandfile

د MRI لخوا چمتو شوي لینکونو سره مطابقت لپاره، LD د بدلیدونکي قوماندې ژبه کې لیکل شوي دوتنې فایلونه مني، د GNU LD اسنادونو د MRI مطابقت لرونکې دوتنې برخې کې تشریح شوي. د اختیار سره د MRI رسم الخط فایلونه معرفي کړئ - c ؛ د لیټرر سکریپونه چلولو لپاره د -T اختیار کاروي چې په عمومي موخې د LD سکرپٹ کولو ژبه کې لیکل شوي. که چیرې د MRI-cmdfile شتون ندی، LD د هر ډول الرو انتخابونو لخوا په ډیری لارښوونو کې د هغې لپاره ګوري.

-d

dc

-dp

دا درې اختیارونه مساوي دي؛ ډیری فورمه د نورو اړیکو سره مطابقت لپاره ملاتړ کیږي. دوی سیمیزو سمبولونو ته ځای چمتو کوي حتی که چېرې د استوګنې وړ فایل فایل مشخص شي) سره -r (. د سکرېپټ قوماندې "FORCE_COMMON_ALLOCATION" ورته اغیزه لري.

د ننوتلو ځای

- ننوت = ننوتنه

د ننوتلو لپاره د ننوتلو ځای ځای پر ځای د داخلي کارونې د پیل کولو لپاره ښکاره نښه. که چیرته د ننوتلو نوم نښې نښانې موجود وي، لینک به د شمېره په توګه د ننوتلو نښې نښانې وکاروي، او د انټرنېټ په حیث کارول کیږي (شمیره به په بیس 10 کې تشریح شي؛ تاسو کیدای شي د بیس 16، یا د مخکښې 0 لپاره د مخکښ 0x کارولو لپاره کار واخلئ. د بیس 8 لپاره).

-E

- صادرات - متحرک

کله چې په فعاله توګه د فعال کولو سره تړل شوي وي، نو سمبولونه د متحرک سمبول میز ته اضافه کړئ. متحرک سمبول جدول د سمبولونو سیسټم دی چې د چلولو وخت کې د متحرک شیانو څخه لیدل کیږي.

که تاسو دا اختیار ونه کاروئ، متحرک سمبول جدول به عموما هغه علامې ولري چې په لینک کې ذکر شوي ځینې متحرک اعتراض لخوا حواله کیږي.

که تاسو د "متحرک اعتراض" لپاره یو متحرک اعتراض پورته کړئ، کوم چې د پروګرام لخوا مشخص شوي سمبولونو ته شاخص ورته اړتیا لري، مګر د ځینو نورو متحرک اعتراض په پرتله، نو تاسو به د دې پروګرام کارولو په وخت کې د دې اختیار کارولو ته اړتیا ولرئ.

تاسو کولی شئ د نسخو لپ ټاپ کارولو لپاره چې د متحرک سمبول میز کې کوم ډول سمبولونه باید اضافه شي کنټرول استعمال کړئ که د محصول بڼه بڼه ورسره مرسته وکړي. د {ref {vERSION} کې د ویډیو سکریپټ تفصیل تشریح کړئ.

-EB

د لوی - آخرین توکي لینک کړئ. دا د اصلي بڼې بڼه اغېز کوي.

-EL

د وړو ځنډو توکو سره اړیکه ونیسئ. دا د اصلي بڼې بڼه اغېز کوي.

-f

- ضمیمه نوم

کله چې د ELF ګډ شیان رامینځ ته کړئ، داخلي DT_AUXILIARY ساحه مشخص نوم ته وټاکئ. دا متحرک لینکر ته وایي چې د ګډ اعتراض سمبول میز باید د ګډ اعتراض نوم په سمبول میز کې د مرستندوی فلټر په توګه وکارول شي.

که تاسو وروسته د دې فلټر اعتراض خلاف یو پروګرام سره اړیکه ونیسئ، نو، کله چې تاسو دا پروګرام پرمخ وړئ، متحرک لینکر به د DT_AUXILIARY ساحه وګورئ. که چیرې متحرک لینکونکی د فلټر اعتراض څخه کوم سمبولونه حل کړي، نو لومړی به وګوري چې ایا د شریک اعتراض نوم کې تعریف شتون لري. که چیرې یو وي، نو د فلټر په اعتراض کې د تعریف پر ځای به وکارول شي. د ګډ څیز نوم شتون نلري. په دې توګه د ګډ اعتراض نوم کیدی شي د ځینو فعالیتونو بدیل پلي کولو لپاره کارول کیدی شي، ممکن د ډبلو کولو لپاره یا د ماشین ځانګړي فعالیت لپاره.

دا انتخاب ممکن د یو ځل نه زیات مشخص شي. DT_AUXILARYARY لیګونه به په ترتیب کې رامینځته شي چې په کوم کې دوی دوی د کمانډ کرښه کې راځي.

د ایف نوم

- د نوم نوم

کله چې د ELF ګډ شیان رامینځته کړئ، داخلي DT_FILTER میدان مشخص نوم ته وټاکئ. دا متحرک لینکر ته وایي چې د ګډ شواهد سمبول میز چې جوړ شوی وي باید د ګډ اعتراض نوم په سمبول میز کې د فلټر په توګه وکارول شي.

که تاسو وروسته د دې فلټر اعتراض خلاف یو پروګرام سره اړیکه ونیسئ، نو، کله چې تاسو دا پروګرام پرمخ وړئ، متحرک لینکر به د DT_FILTER ډګر وګورئ. متحرک لینکر به د معمول په څیر د فلټر اعتراض د سمبول میز سره سم سمبولونه حل کړي، مګر دا به په اصل کې د شریک شتمني نوم کې موندل شوي تعریفونو سره نښلوي. په دې توګه د فلټر اعتراض د اعتراض نوم نومول شوی سمبولونو د ټاکلو لپاره کارول کیدی شي.

ځینې ​​زاړه لینک کونکي د F - F اختیار په ټوله توکیو کې د تجهیزاتو څخه کار اخیستل ترڅو د انډ او آؤٹ اعتراض اعتراض دواړه فایلونو لپاره د اعتراض فايل بڼه مشخص کړي. د GNU نښلونکي د دې موخې لپاره نور میکانیزمونه کاروي: -b ، --format ، --formform اختیاري، په لنکر سکریپټ کې "TARGET" کمانډ، او د "GNUTARGET" چاپیریال متغیر. د GNU لینک کونکي به د FF انتخاب کله چې د ELF شریک شي رامینځ ته نه کړي سترګې پټوي.

د نوم نوم

کله چې د ELF اجرا وړ یا مشترکه اعتراض رامنځ ته شي، نو NAME ولیکئ کله چې د اجرا وړ یا شریک شي غیر فعال شي، DT_FINI د فعالیت پته ته یې ترتیب کول. په ډیفالټ کې، لینک کول د "_fini" کاروونکي په توګه کار کوي.

- ګ

لیدل شوی. د نورو وسیلو سره مطابقت لپاره چمتو شوي.

- جی ارزښت

- gpsize = ارزښت

د جی ډی ثبتولو د اندازې په کارولو سره د شیانو لوړه کچه ټاکئ ترڅو غوره شي. دا د اعتراض د فایل فارمټونو لپاره یواځې معنی دی لکه MIPS ECOFF کوم چې د لوی او کوچنیو شیانو سره په مختلفو برخو کې مرسته کوي. دا د نورو اعتراض فایل فارمونو لپاره په پام کې نه نیول کیږي.

د نوم نوم

نوم = نوم

کله چې د ELF ګډ شیان رامینځته کړئ، داخلي DT_SONAME ساحه مشخص نوم ته وټاکئ. کله چې یو اجراآتوونکی د شریک شي سره تړل شوی وي چې د DT_SONAME ساحه لري، نو بیا به کله چې اجرایوي وړ وي متحرک لینکر به هغه ګډ اعتراض پورته کړي چې د DT_SONAME ساحې لخوا مشخص شوي د دې په ځای چې د لینک لخوا ورکړل شوې فایل نوم کاروي.

-i

یو زیاتیدونکي لینک اجرا کړئ (لکه option -r ).

د نوم نوم

کله چې د ELF اجرا وړ یا شریک شوي اعتراض رامینځ ته شي، NAME ته یې ووایاست کله چې اجرایوي یا شریک شوي شي پورته شي، د DPINIT د فعالیت پته ته یې ترتیب کول. په ډیفالټ کې، لینک کول "_init" کاروي د فعالیت لپاره.

- آر آرشيف

--library = آرشيف

د فایلونو فایل آرشیف د فایلونو لیست ته لینک کې اضافه کړئ. دا اختیار ممکن د ځینو وختونو کارول کیدی شي. د هر آرشيف لپاره د "libarchive.a" د پیښو لپاره د خپل لیست لیست لټون کوي.

په سیسټمونو کې چې شریکې کتابتونونه حمایه کوي، LD کیدای شي د ".a" څخه پرته د تمدیدونو سره د کتابتونونو لټون وکړي. په ځانګړې توګه، د ELF او SunOS سیسټمونو کې، LD به د ".a" د ترویج سره د یوې لټون کولو دمخه ""so" ترویج سره د کتابتون لپاره یوه لارښود لټوي. په کنوانسیون کې، "د" ترویج یو ګډ کتابتون ښیي.

لینک به یواځې یوځل یو آرشیف وپلټی، په هغه ځای کې چې دا د کمانډ کرښه کې مشخص شوی وي. که ارشیف یو سمبول تشریح کړي کوم چې په ځینې اعتراض کې نه و ټاکل شوی چې د کمانډ کرښه کې آرشیف وړاندې شوی، لینک به د ارقامو څخه مناسبه فایلونه ولري. په هرصورت، په کوم اعتراض کې چې یو ځل بیا د کمانډ کرښه کې راښکاره شوی سمبول به بیا د ارشیف د لټون لپاره لینک ونکړي.

وګورئ - (د څو لارو آرشیفونو د لټون کولو لپاره د لینک کونکي ځواک د لارې لپاره.

تاسو کولی شئ ورته آرشيف څو ځلې د کمانډ کرښه کې لیست کړئ.

د ډول ډول آرشیف لټون د یونکس لینکونو لپاره معیار دی. که څه هم، که تاسو په AIX کې LD کاروئ، نو په یاد ولرئ چې دا د AIX لینک کونکي چلند څخه توپیر لري.

-L لټون

- لارښوونه - لاری = پلټونکی

د لارښوونو لیست ته لار وپلټئ چې د L آرشيف کتابتونونو او د LD کنترول سکریپټونو لټون وکړي. تاسو کولی شئ دا اختیار د ځینو وختونو څخه کار واخلئ. لارښوونې په هغه ترتیب کې پلټنه شوې چې په کوم کې دوی دوی د کمانډ کرښه کې مشخص شوي. د کمانډ کرښه په ګوته شوي لارښودونه د ډیزاین لارښودونو څخه مخکې پلټل کیږي. All -L اختصاص په ټولو الرو انتخابونو کې پلي کیږي، پرته له هغه حکم چې په هغه کې انتخابونه ښکاره کیږي.

که چیرې پلټونکي په "=" سره پیل شي، نو بیا "=" به د سیسروټ افعس لخوا بدل شي، هغه لار چې مشخص شوی کله چې لینک کنټرول کیږي مشخص شوی.

د لارښوونو ډیزاین ډول پلټنه (پرته له دې چې د L-L مشخص شوی) پورې اړه لري چې د جذب موډ کارول استعمالوي، او په ځینو مواردو کې هم دا څنګه ترتیب شوي دي.

لارښوونې هم د "SEARCH_DIR" کمانډ سره په لینک سکرپٹ کې ښودل کیدی شي. هغه لارښوونې چې مشخصې شوې دي په هغه ځای کې پلټل شوي چې په کوډ کې لینډر سکریپټ ښکاري.

- ایم جذب

د جذب لینک کونکي کول. تاسو کولی شئ د شته اختصاصونو لیست د --وربوس یا وی ویشنونو سره لیست کړئ.

که چیرې د Mm کارول ونه کارول شي، دا تخریب د "LDEMULATION" چاپیریال متغیر څخه اخیستل کیږي، که دا تعریف شي.

که نه نو، اصلي منفي اغیزه په دې پورې تړلې ده چې لینک کوډ څنګه ترتیب شوی.

- ایم

- چاپ - نقشه

د معیاري محصول لپاره د لینک نقش چاپ کړئ. د لینک نقشه د لینک په اړه معلومات وړاندې کوي، په شمول الندې:

*

چیرته چې فایلونه او سمبولونه په حافظه کې نقشه شوي.

*

څرنګه سمبولونه اختصاص شوي دي.

*

د آرشيف ټول غړي په لینک کې شامل وو، د سمبول یادونه یې وکړه چې د آرشیف غړي یې راوړل.

- این

- مهمات

د برخې قطعې پاڼي بند کړئ، او که امکان ولري نو محصول "NMAGIC" په نښه کړئ.

این

- ماګامیک

د متن او ډاټا برخې وټاکئ چې د لوست وړ او لیک وړ وړ وي. همداراز، د پاڼې برخې قطع نه کړئ، مخ نه مه کوئ، او د شریکو کتابتونونو سره د اړیکو بندول. که چیرې د محصول بڼه د یونسکس انداز جادو شمیرې حمایه کړي، د محصول "OMAGIC" په توګه نښه کړئ.

--no-omagic

دا اختیار د -N اختیار ډیری اغیزې منفي کوي. دا د متن برخه یواځې د لوستلو لپاره ټاکي، او د معلوماتو برخې برخې ته د پاڼې سره سمون لري. یادونه - دا اختیار د ګډ کتابتونونو سره د تړاو کولو توان نلري. کارول - د دې لپاره فعاله .

- تولید

- آؤٹۍ = پیداوار

د تولید لپاره د نوم په توګه کارول د LD لخوا چمتو شوي؛ که چیرې دا اختیار مشخص نه شي، د نوم. out نوم د ډیزاین لخوا کارول کیږي. د سکرېپټ قوماندې "OUTPUT" کولی شي د محصول فایل نوم مشخص کړي.

-O کچه

که چیرته کچه صفر ارزښتونه د صفر په پرتله لوړ وي د محصول محصول ښه کوي. دا کیدی شي د پام وړ اوږد وخت ونیسي او له دې امله ممکن د وروستیو بائنری لپاره یوازې فعال شي.

د

- امیت - رګکس

په بشپړ ډول تړل شوي اضافی کڅوړو کې د لیږد ځای برخې او منځپانګې پریږدئ. د پوستی اړیکی تحلیل او د اصلاح کولو وسایلو کیدای شی دا معلومات ته اړتیا ولری ترڅو د اجرائیوی سیسټم سم اصلاحات ترسره کړی. دا په لویو اجرایوي کارونو کې پایلې لري.

دا اختیار اوس مهال د ELF په پلیټونو کې ملاتړ کوي.

-r

- اړونده وړ

د استوګنې وړ تولید تولید کړئ --- د مثال په توګه، د محصول فایل تولید کړئ کوم چې کولی شي د انډول په توګه د LD لپاره خدمت وکړي. دا ډیری وخت د جزوی اړیکو په نوم یادیږي. د یو اړخیزې اغیزې په توګه، په چاپیریال کې چې د معیاری یونس جادو جزو شمیره کوي، دا اختیار د "فاجم" لپاره د محصول فایل جادو جادو شمیرل کیږي. که چیرې دا اختیار مشخص نه شي، مطلق فایل تولید شوی. کله چې د C ++ پروګرامونو سره اړیکه ونیسي، دا اختیار به د ساختمانونو حوالې حل نه کړي؛ د دې کولو لپاره، کارول.

کله چې د انټرنټ دوتنه د محصول د فایل په توګه ورته بڼه نلري، جزوی تړاو یوازې هغه ملاتړ دی که چیرې دا انټرنیټ فایل په هیڅ ځای کې هیڅ استوګن نلري. د مختلفو محصولاتو فارمټونه نور محدودیتونه لري. د بیلګې په توګه ځینې "A.out" - اساس شوي فارمیٹونه د نورو فایلونو کې د انټرنټ فایلونو سره د جزوی اړیکو ملاتړ نه کوي.

دا اختیار همداسې شي لکه څنګه چې.

د فیلم نوم

- سمبولونه = د دوتنې نوم

د فیلمین نوم څخه د سمبول نومونه او د دوی پتې ولولئ، مګر دا یې لیږد مه کوئ یا یې په محصول کې شامل کړئ. دا ستاسو د محصول فایل ته په سمبولیک ډول راجع کولو ته اجازه ورکوي چې په نورو پروګرامونو کې تعریف شوي مطمین ځایونه. تاسو کولی شئ دا انتخاب د یو ځل څخه زیات وکاروي.

د نورو ELF لینک کوونکو سره مطابقت لپاره، که د R-R اختیار د فایل نوم نوم، د لارښود نوم په ځای تعقیب شي، دا د رارسیشن په توګه ګڼل کیږي.

-s

- ټول - ټول

د محصول فایل څخه ټول سمبول معلومات پریږدي.

- ایس

- درشل - debug

د محصول د فایل څخه د debugger سمبول معلومات (مګر ټول سمبولونه نه پریږدئ) پریږدئ.

-

ټیټ

د انټرنټ نومونو نومونه د LD په څیر چاپ کړئ.

د ټي ټي اسالمي بڼه

- سکرېپټ = سکرېپټالي

د لټکر سکریپ په توګه د سکرټریټ کارول. دا سکریپټ د LD's default linker script بدلوي (د هغې په ځای یې زیاتول)، نو د کمانډ فیلټ باید د محصول فایل تشریح کولو لپاره هر اړین مشخص کړي. که په اوسني ډایرکټر کې سکریپټیل شتون نلري، "LD" د هغه مخکښو لارښوونو په لټه کې دی چې د مخکینۍ ایل - انتخابونو لخوا مشخص شوي. ګڼ شمیر TT انتخابات راټولوي.

- سمبول

- بنفید شوی = سمبول

د نښې نښانې په توګه د تڼۍ دوتنه کې د ځواک سمبول داخل شي. دا کول کولی شي، د مثال په توګه، د معیاري کتابتونونو څخه د اضافي ماډلونو سره نښلول. -u کیدای شي د بې ځایه شوي استدلال سره بیا تکرار شي ترڅو اضافي غیر معرفي شوي سمبولونه درج شي. دا اختیار د "EXTERN" لینکر سکریډ کمانډ سره برابر دی.

-

د C ++ پروګرامونو پرته بل څه لپاره، دا اختیار د -r سره برابر دی: دا د لیږد وړ وړ تولید رامنځته کوي --- لکه، د محصول محصول فایل چې کولی شي د انډول په توګه د LD لپاره خدمت وکړي. کله چې د C ++ پروګرامونو سره اړیکه ونیسي، - د ساختمانونو حواله حل کوي، د برعکس --r . دا کار نه کاروي - په دوتنو کې کارول شوي چې پخپل ځان سره تړل شوي وي . کله چې د ساختماني میز جوړ شو، نو دا نشي اضافه کیدی. کارول - یواځی د وروستی جزوی اړیکو لپاره، او د نورو لپاره.

--unique [= SECTION ]

د SECTION سره سم د هر انټرنېټ برخې لپاره جلا جلا برخه جوړوي، یا که اختیاري وحشی کارت SECTION دلیل ورک شوی وي، د هر يتيم د ان برخې لپاره. د يتيمانو يوه برخه ده چې په خاصه توګه په لينکر لپي کې يادونه نه ده شوې. تاسو کولی شئ دا انتخاب په څو ځله د کمانډ کرښه کې کاروئ؛ دا د انټرنیټ عادي ضمیمه د ورته نوم سره مخ کوي، د لینکر سکرپٹ کې د محصول سیکشن تفتيشونو باندې تیریږي.

-v

- بدلون

- وی

د نسخه شمېره د LD لپاره وښایه . د V وی اختيار هم د ملاتړ تخصیص لیست کوي.

-x

- توپیر - ټول

ټول محلي نښانې حذف کړئ.

-X

- توپیر - سیمه ایز

ټول لنډمهاله سیمبولونه ړنګ کړئ. د ډیری موخو لپاره، دا ټول محلي نښانې دي چې نومونه یې د L سره پیل کوي.

- علامه

- ټیټ - سمبول = نښه

د هر تړل شوې دوتنې نوم چاپ کړه چې په کوم کې سمبول . دا اختیار کېدای شي هر وخت ورکړ شي. په ډیری سیسټمونو کې دا اړینه ده چې یو مخ په وړاندې ودرول شي.

دا اختیار ګټور دی کله چې تاسو په خپل لینک کې یو ناپیژندل شوی سمبول ولرئ مګر نه پوهيږئ چې حواله له کوم ځای څخه راځي.

-Y لاره

د ډیزاین د کتابتون لټون لاری ته لار ومومئ. دا انتخاب د سولیس مطابقت لپاره موجود دی.

لټون

پېژندل شوې کلیدي "غیر فعال" دي، "مفکوره"، "بوټ فلټر"، "نډوفلاټیلب"، "نوډالیلټ"، "نوډلوپ"، "نوډمپ"، "اوس"، "اصلي"، "combreloc"، "nocombreloc" او "نوکوپیلیلکو" ". نور کلیدي توکی د سولیس مطابقت لپاره بې برخې شوي دي. "داخلي" هغه څيز نښه کوي چې لومړی د بل شيانو څخه مخکې په دويم پړاو کې په لمړني ډول پيل شي. "نقشه" هغه نښه نښه کوي چې د هغه سمبول جدول د ټولو سمبولونو څخه مخکې مداخله کوي مګر د اصلي اجرا وړ وړ. "loadfltr" هغه څیز نښه کوي چې د هغې فایلونه د رنځ په وخت کې په چټکۍ سره پروسس کیږي. "nodefaultlib" هغه څیز نښه کوي چې د دې اعتراض پورې تړاو لري د هرډول اصلي کتابتون لټون لاریونه. "nodelete" نښه کوي چې اعتراض باید د رنځ په وخت کې ړنګ نشي. "nodlopen" هغه څيز نښه کوي چې "ډاونپ" ته لاسرسی نلري. "نډمپ" نښه نښه کوي "اعتراض" نشي کیدی. "اوس" اعتراض د غیر سست رنګه وخت سره پابندوي. "اصلي" نښه په نښه کېدای شي $ ORIGIN. "دفاع" غیر نامناسب سمبولونه منع کوي. "ملګري" ګڼ شمیر تعریفونو ته اجازه ورکوي. "combreloc" د څو لیږد برخو سره یوځای کوي او دوی ته د ډیزاین سمبول کتنه ممکن ممکنه کوي ترڅو د امکان تر سره شي.

"nocombreloc" د یوځای کولو څو برخې برخې معرفي کوي. "نيکوپايريکوکو" د کاپي رېکس توليد توليدوي.

- ( ارشیفونه -)

- د ډلې ګروپ آرشیفونه - وروستي ګروپ

آرشیف باید د ارشیف فایلونو لیست وي. دا ممکن د یا واضح څرګندو نومونه، یا -l اختیار وي.

ټاکل شوې آرشیفونه په تکرار سره پلټل کیږي تر څو چې نوې ناباوره شوې حوالې جوړې شي. عموما، آرشیف یواځې یو ځل پلټنه شوې چې په ترتیب کې دا د کمانډ کرښه کې مشخص شوې. که چېرې په دې آرشيف کې یو سمبول ته اړتیا وي چې یو نا نښه شوي سمبول حل کړي چې په یوه آرشیف کې د اعتراض لخوا ورته اشاره کیږي چې وروسته د کمانډ کرښه کې ښکاري، لینک به ونشي کولی چې دغه حواله حل کړي. د آرشیفونو په ډله ایزولو سره، دوی ټول په تکرار سره پلټل کیږي تر هغه چې ټولې ممکنه حوالې حل شي.

د دې اختیار څخه کار اخیستل د فعالیت د پام وړ لګښت لري. دا غوره ده چې دا یوازې هغه وکاروي کله چې د دوه یا ډیرو آرشیفونو ترمنځ د نه منلو وړ سرلیکونو شتون شتون لري.

- منظور - نامعلوم - انټرنیټ آرک

--no-accept-unknown-input-arch

د انټ فایلونو د منلو لپاره لینکر ته ګوته نیسي چې جوړښت یې پیژندل کیدی نشي. انګیرنه دا ده چې کاروونکي پوهيږي چې دوی څه کوي او په عمدي توګه غواړي د دې ناپېژندل شوي فایل فایلونو سره نښلوي. دا د لینډر ډیزاین سلوک دی، مخکې له دې چې 2.14 خلاص کړي. د 2.14 خوشې کولو څخه ډډه کونکي چلند د دې انټرنټي فایلونو ردول دي، او همداسې د زاړه چلند د بیا رغولو لپاره د منلو غیر نامعلوم انټرنیټ اختیار اضافه شوی.

د پټنځای کلیدي

دا اختیار د SunOS مطابقت لپاره سترګې پټې شوې.

- فعال

- وی

-

د متحرک کتابتونونو سره اړیکې. دا یواځې په پلیټونو باندې معنی دی چې لپاره یې کتابتونونه ملاتړ کیږي. دا انتخاب معمولا په داسې ډول پلی کونکو باندې دی. د دې اختیار بیلابیل ډولونه د مختلف سیسټمونو سره مطابقت لپاره دي. تاسو کولی شئ دا اختیار په څو ځله د کمانډ کرښه په کار واچوئ : دا د کتابتون لپاره د لټون په لټونونو تاثیر کوي چې دا یې تعقیبوي.

- ډله

په "متحرک برخه" کې "DF_1_GROUP" ننوت "DT_FLAGS_1" ننوتۍ کې وټاکئ. دا د رنځممیر لینک کونکی د دې اعتراض په لټه کې ساتلو او د هغه انحصارونو لپاره چې یوازې د ډلې دننه ترسره کیدی. - نه - منفی شوی دی. دا اختیار یوازې د ELF پلیټونو کې معنی دی چې د شریک کتابتونونو ملاتړ کوي.

- بیټیسټ

-dn

نانځیدلی

اړیکی

د ګډ کتابتونونو سره اړیکه مه کوئ. دا یواځې په پلیټونو باندې معنی دی چې لپاره یې کتابتونونه ملاتړ کیږي. د دې اختیار بیلابیل ډولونه د مختلف سیسټمونو سره مطابقت لپاره دي. تاسو کولی شئ دا اختیار په څو ځله د کمانډ کرښه په کار واچوئ : دا د کتابتون لپاره د لټون په لټونونو تاثیر کوي چې دا یې تعقیبوي.

بسمبولیک

کله چې یو ګډ کتابتون جوړ کړئ، نړیوالو سمبولونو ته حوالې شریکې ګډ کتابتون کې تعریف ته، که چیرې وي. عموما، دا د هغه پروګرام لپاره ممکنه ده چې د یو ګډ کتابتون سره تړلې وي ترڅو د ګډ تعریف کې دننه تعریف تعدیل کړي. دا اختیار یوازې د ELF پلی کونکو په اړه معنی دی چې د شریک کتابتونونو مالتړ کوي.

- برخی برخې

- نه پلټونکي برخې

لینک کوونکی وټاکي چې د برخې پتې وګورئ وروسته له دې چې ګومارل شوي وو وګورئ وګورئ چې ایا کوم تبلیغات شتون لري. په عموما ډول لینک به دا چک ترسره کړي، او که چیرې کوم اضافي تاوان پیدا کړي نو د مناسبو غلطي پیغامونو تولید به وکړي. لینک د دې په اړه پوهیږي، او په عینلي برخو کې د برخو لپاره تخصیص کوي. د کمانډی لینچ سوئچ - چک - برخې برخې کارولو لخوا اصلي بڼې بیا رغول کیدای شي.

- سیف

د کراس حواله جدول وټاکئ. که د لینکر نخشو فایل تولید شي، د کرښې حواله میز د نخشو فایل ته چاپ شوی. که نه نو، دا په معیاري محصول باندې چاپ شوی.

د جدول بڼه په عمدي ډول ساده ده، نو ځکه چې دا اړینه ده که چیرې اړتیا وي نو د سکرپٹ لخوا په اسانۍ سره پروسس کیږي. سمبولونه چاپ شوي، د نوم په اساس. د هر سمبول لپاره، د فایل نومونو لیست ورکړل شوی. که سمبول تعریف شي، لومړنی فایل لست شوی د تعریف ځای دی. پاتې فایلونه سمبول ته اشاره لري.

--no-define-common

دا اختیار عمومي پښو ته د پته تفریحات منع کوي. د سکرېپټ قومانده "INHIBIT_COMMON_ALLOCATION" ورته اغیزه لري.

د --no-define-common-option اجازه ورکوي چې د محصول د فایل ډول غوره کولو څخه د عام علامو سره د پتې د ځای کولو لپاره پریکړه وغواړي؛ په بل ډول د غیر استوګنې وړ محصول ډول ډول ځواکونه د عمومي سمبولونو پتې وړاندې کوي. کارول --no-define-common عمومي عمومي علامې ته اجازه ورکوي چې د ګډ ګډ کتابتون څخه حواله شوي وي چې یواځې په اصلي پروګرام کې پته په نښه کوي. دا غیر مشتری دوتنې ځای په ګډ کتابتون کې له مینځه وړی، او د ناسم نقل په حل کولو کې د کومې ممکنه ګډوډۍ مخنیوی کوي کله چې د رنیم ټیم سمبول حل لپاره ډیری متحرک ماډلونه د ځانګړ پلټونکو لارو سره شتون لري.

- د ماډیم سمبول = اظهار

د محصول فایل کې یو نړیوال سمبول جوړ کړئ، د بیان لخوا د ورکړل شوي پته شامل وي. تاسو کولی شئ د دې انتخاب کارول د اړتیا په صورت کې څو ځله د کمانډ کرښه کې د څو سمبولونو تعریفولو لپاره. په دې شرایطو کې د بیان محدود حد لپاره ملاتړ شوی: تاسو کولی شئ د هایډایډایټیلټ ثابت یا د اوسني سمبول نوم ورکړئ، یا د "ایکس" او "-" کاروونکي د هایډایډایډیلټ محدودېتونو یا سمبولونو د اضافولو یا کارولو لپاره وکاروئ. که تاسو ډیری پراخو څرګندونو ته اړتیا لرئ، د لینډر کمانډ ژبه د متن له لاری غور وکړئ. یادونه: باید د سمبول ، مساوي نښه (`` = '') او بیان په منځ کې سپینه ځای نه وي.

--ډمینل [= style ]

--no-demangle

دا اختیارونه کنترولوي که آیا د غلطو پیغامونو او نورو محصولاتو په نښه کولو سمبول نومونه خراب کړي. کله چې لینک کوډ کولو ته ویل کیږي، نو هڅه کوي چې د لوستلو وړ فامیل کې د سمبول نومونه وړاندې کړي: که دا د اعتراض فایل فارمټ څخه کارول کیږي، نو د انډروزونو لیږدول پټوي، او د Cable په نوم د پیژندل شوي سمبول نومونه په کارونکي نومونو کې بدلوي. مختلف محاسبې مختلف بیلابیل ډولونه لري. د اختیاری بې وسلې کولو طرزالعمل دلیل ستاسو د کمپیلر لپاره د بې وسلې کولو طرزالعمل غوره کولو لپاره کارول کیدی شي. لینک کونکي به د چاپیریالي بدلون سره COLLECT_NO_DEMANGLE تر هغه وخته چې د چاپیریالي بدلون وړ وي ډډه کوي . دا اختیارونه کیدی شي د ډیزاین د اندازې کولو لپاره کارول کیدی شي.

- ډنمارک - لینکر فایل

د متحرک لینکر نوم وټاکئ. دا یواځې معنی دی کله چې د ELF اجراییوي فعالیتونو رامینځته کول رامنځته کوي. اصلي ډیزاینیک لینکر معمولا درست دی؛ دا کار مه اخلئ تر څو چې تاسو پوه شئ چې تاسو یې کوئ.

- لرې شوي رپوګونه

دا اختیار یواځې معنی دی کله چې د MIPS سره نښلول د PIC کډوال سره اړیکه ونیسي، د لیډیو پک اپیکشن لخوا د GNU کمپائلر او راټولونکي لخوا تولید شوی. دا د لینډر المل کیږي چې یو میز جوړ کړي کوم چې ممکن د دویم پړاو په بدل کې د کارولو لپاره کارول کیدی شي کوم چې په عارضي ډول د شاخصونو ارزښتونو ته لیږل شوی و. د جزیاتو لپاره کوډیټیوټ / ld-empic کې کود کوډ وګورئ.

د مړینې خبرداری

د ټولو خنډونو په توګه د غلطۍ په توګه درملنه وکړئ.

- ځواک - exe-suffix

ډاډ ترلاسه کړئ چې د محصول فایل یو .exe فایل دی.

که په بریالیتوب سره د تړل شوي تړل شوي فایل فایل جوړ شوی نه وي "" exe "یا" dll "suffix، دا اختیار لینک کونکي ځواکوي چې د محصول فایل د" .exe "suffix سره یو ورته نوم ته کاپي کړي. دا اختیار ګټور دی کله چې د مایکروسافټ ونډوز په کوربه کې د انډول شوي یونیسیکس جوړونې کارولو څخه کار واخیستل شي، ځکه چې د وینډوډ ځينې ځینې نسخې به یو انځور چل نه کړي مګر دا چې ".exe" کې پای ته ورسیږي.

- نه - Gc-برخې

- Gc - برخې

د غیر استفادې برخې برخې برخې د کثافاتو راټولول فعال کړئ. دا په هغو اهدافو باندې غورځول کیږي چې د دې اختیار ملاتړ نه کوي. دا اختیار د -r سره مطابقت نلري، او نه باید دا د متحرک لینک کولو سره کارول کیږي. اصلي ڈیفالټ) د دې کثافاتو راټولولو کار نه کول (کیدلی شي د بیاکتنې - نو - Gc-برخو د کمانډ کرښه کې.

--مرسته

په معیاري محصول باندې د کمانډیشن انتخابونو لنډیز چاپ کړئ او وتل.

- هدف - مرسته

د معیاري محصول په اړه د ټولو ځانګړو ځانګړو انتخابونو لنډیز چاپ کړئ او وتل.

د نقشه نقشه

د فایل نقشه د فایل فایل فایل ته چاپ کړئ. د M- پورته تشریح تفصیل، پورته وګورئ.

- نه ساتل - یاد ساتل

په عام ډول په حافظه کې د فایل فایلونو د سمبول میزونو په واسطه د حافظې کارولو سرعت چټک کوي. دا اختیار LD ته وایي چې د حافظې کارولو لپاره اصلاحات کول، د اړتیا په صورت کې د سمبول جدولونو په واسطه. دا کیدی شي اړین وي که چیرې LD د یادولو وړ وي چې د لوی اجرائیوي شبکې سره تړاو لري.

- نه - ناباوره شوی

-Z defs

عموما کله چې یو غیر سمبولیک ګډ کتابتون رامینځته شي، بې ځایه شوي سمبولونه اجازه لري او پریښودل شي چې د دویم ځل لپاره د لینټ لوټر لخوا حل شي. دا اختیارونه د داسې بې ځایه شویو سمبولونو څخه بې برخې کوي.

- هر څو ډیزاین

- مولوي

عموما کله چې یو سمبول څو ځله تعریف شوی وي، لینک به د تلفاتي تېروتنې راپور ورکړي. دا اختیارونه ډیرو تعریفونو ته اجازه ورکوي او لومړی تعریف یې کارول کیږي.

- هر ډول شیلاب نه

بې ځایه شوي سمبولونه په ګډو شیانو کې حتی که کله نه وي ټاکل شوي. خالصه پایله به دا وي چې په منظمه توکیو کې نامناسب سمبولونه به لاهم یو خنډ رامینځ ته کړي، مګر په ګډو شیانو کې نامناسب سمبولونه به په پام کې ونیول شي. د ناتار شوي تطبیق پلي کول داسې انګیرل کوي چې د رنځ پیوستون سره په غیر نامتو سمبولونو باندې غلا کوي. په هرصورت لږترلږه یو سیسټم) BEOS (چیرته چې په ګډو کتابتونونو کې نامناسب سمبولونه معمول وي ځکه چې کیڼل دوی د وخت په وخت کې د ټاکلو لپاره غوره کوي د اوسني جوړښت لپاره کوم کار مناسب دی. IE په منظم ډول د مناسبو حافظې فعالیت غوره کړئ. په ښکاره توګه دا د HPPA لپاره عادي خبره ده چې کتابتونونه یې شریک کړي ترڅو غیر نامناسب سمبولونه ولري.

- نه - ناکاره شوی نسخه

عموما کله چې یو سمبول یو ناباوره نسخه ولري، لینک به یې په پام کې ونیسي. دا اختیار د نامناسب نسخو سره سم سمبولونه نه مني او د تلفاتو تېروتنه به یې خپره شي.

- نه خبرداری - میلمستون

عموما LD به یو غلطي درکړي که تاسو هڅه وکړئ د انټرنېټونو سره یوځای شي کوم چې د ځینو علتونو لپاره بې ځایه شوي دي، ښایي ځکه چې دوی د بیلابیلو پروسوسرونو لپاره یا د مختلفو افراطونو لپاره راټول شوي دي. دا اختیار دا دی چې دا باید په خاموشۍ سره د داسې ممکنه غلطو اجازه اجازه ورکړي. دا اختیار باید یوازې د پاملرنې سره وکارول شي، په هغه حالتونو کې چې تاسو ځینې ځانګړي ګامونه پورته کړي دي چې دا ډاډه کوي چې د لینکرین غلطي نامناسب دي.

- نه - ټول - آرشيف

د راتلونکی آرشیف فایلونو لپاره د ټولپوښتنې اختیار انتخاب.

- نانایشه باندی اجرا کول

کله چې دا لا تراوسه هم کار وړ وي د اجرا وړ د پای کې دوتنې ساتل. عموما، لینک به د محصول فایل تولید نکړي که چیرې دا د لینک په بهیر کې غلطی ګوري؛ دا د محصول محصول فایل لیکلو پرته لرې کیږي کله چې دا کومې غلطۍ مسله کوي.

- نهست

یوازې د لټون کتابتونونو لارښوونې په واضح ډول د کمانډ کرښه کې مشخص شوې. د کتابتون کتابتونونه چې په لینکر سکرټونو کې مشخص شوي (پشمول د لینکرین لیکونه چې د کمانډ کرښه کې مشخص شوي) په پام کې نیول شوي.

- د سمون محصول تولید - بڼه

LD کېدای شي د یو ډول څخه د اعتراض ډول دوتنې ملاتړ وکړي. که ستاسو د LD دا ډول ترتیب شوی وي، تاسو د آؤٹولو اعتراض فایل لپاره د بڼې فارمیټ مشخص کولو لپاره --formform اختیار کارولی شئ. حتی کله چې LD د بدیلو اعتراضونو فارمونو ملاتړ کولو لپاره ترتیب شوی، تاسو عموما دا مشخص کولو ته اړتیا نلرئ، ځکه چې د LD باید د هرډول ماشین ترټولو معمول بڼه بڼه د ڈیفالټ محصول شکل بڼه تولید کړي. د محصول بڼه بڼه د متن تار دی، د ځانګړي بڼه بڼه چې د BFD کتابتونونو لخوا یې ملاتړ کیږي. (تاسو کولی شئ د شته بکسري فارمټس سره د objdump -i سره لیست). د سکریټ قوماند "OUTPUT_FORMAT" کولی شي د محصول فارمیټ هم مشخص کړي، مګر دا اختیار یې له منځه یوسي.

- قماک

دا اختیار د لینکس مطابقت لپاره بې پروایږي.

-

دا اختیار د SVR4 مطابقت لپاره ناڅاپي شوی.

--ارام اوسه

د ماشین پورې اړوند اغیزو سره یو اختیار. دا اختیار یوازې په ځینو موخو باندې ملاتړ کوي.

په ځینو پلیټونو کې، د لینکسکس اختیار د نړیوالو اصلاحاتو ترسره کول دي چې کله چې لینک کونکي په پروګرام کې د حل کولو پریکړه کوي، لکه د آرامۍ پته طریقه او د محصول اعتراض اعتراض کې نوې لارښوونې synthesizing.

په ځینو پلیټونو کې دا لینک د وخت نړیواله اصلاحات ممکن د نتیجې اجرا کولو ممکنه ناڅاپي ډیبولیک جوړ کړي. دا د Matsushita MN10200 او MN10300 کورنۍ پروسس کوونکو لپاره قضیه ده.

په پلیټونو کې چېرته چې دا ملاتړ ندی شوی، - Relax قبول شوی، مګر په پام کې نه نیول شوی.

- نښې - سمبولونه - دوتنې دوتنه نوم

یوازې د هغه سمبولونو ساتل چې د دوتنې فایل نوم نوم کې لست شوي، نور ټول وځنډوي. د فایل نوم یوازې یو فلیټ فایل دی، په یوه لیک کې د یو سمبول نوم سره. دا اختیار په خاصه توګه په چاپیریال کې ګټور دی (لکه VxWorks) چېرته چې یو لوی نړیوال سمبول جدول په تدریجي ډول راغونډ شوی، د چلولو وخت حافظه ساتي.

- د نښو سمبول - دوتنې د نامناسب سمبولونو څخه ډډه نه کوي، یا د استوګنې لپاره اړین سمبولونه.

تاسو کولی شئ یوازې په ګوته کړئ - بیرته سمبولونه - یو ځل د کمانډ کرښه کې فایل . دا د السته راوړو او Ss -S .

-درډ ډری

د ریلیمټ کتابتون لټون لاری ته یو ډایټریټ اضافه کړئ. دا کارول کیږي کله چې د ELFexecutable سره شریک شوي شي سره شریک شي. د الرښود دلیلونه مطابقت شوي او د رنځمیک اړیکو سره یوځای شوي، چې دوی یې د رنځ په وخت کې ګډ شيان موندلو لپاره کاروي. د رارپ اختیار هم هغه وخت کارول کیږي کله چې ګډ شیان معلومه شي کوم چې د شریکو توکو لخوا اړتیا په واضح ډول په لینک کې شامل شوي؛ د رارسیډ لینک انتخاب تشریح کړئ. که چیرته د ELF اجرا وړ وړتیا سره اړیکه ونلري، نو د چاپیریال متغیر "LD_RUN_PATH" مواد به کارول کیږي که چیرې تعریف شوی وي.

د کرپشن اختیار هم په SunOS کې کارول کیدی شي. په ڈیفالټ سره، د SunOS په اړه، لینک به د All-L اختیارونو څخه چې د ورکړل شوي انتخابونو څخه د runtime وخت لټون جوړوي. که چیرته د سفر مداخله کارول کیږي، د ریلټیم د لټون لار به په ځانګړې توګه د رارسیشن اختیارونو په کارولو سره، د L-OP نظرونو څخه سترګې پټې شي. دا د Gcc کارولو په وخت کې ګټور وي، کوم چې ډیرو اضافه کوي - L هغه اختیارات چې کیدای شي په NFS کې د فايلونو سیسټمونو نصب شوي.

د نورو ELF لینک کوونکو سره مطابقت لپاره، که د R-R اختیار د فایل نوم نوم، د لارښود نوم په ځای تعقیب شي، دا د رارسیشن په توګه ګڼل کیږي.

د لارښود لینک DIR

کله چې د ELF یا SunOS کارولو سره، یو مشترکه کتابتون ممکن بل بل ته اړتیا ولري. دا واقع کیږي کله چې د "ld-shared" په تړاو کې یو ګډ کتابتون د انټرنیټ فایلونو په توګه شامل دی.

کله چې لینک د غیر مشترکه، غیر بې ځایه کېدونکي اړیکو په ترسره کولو سره داسې یو تړاو لري، نو دا به په اتوماتيک ډول د اړونده ګډ کتابتون پلټنه وکړي او دا په دې کې شامل وي، که دا په ښکاره توګه شامل نه وي. په داسې حالت کې، د رارسیډ اړیکه اختیار د پلټنې لپاره د لارښود لومړنی سایټ مشخص کوي. د رینډ-اړیکو اختیار کول کیدای شي د ډیری ډریو نومونو ترتیب یا توضیح د کلون لخوا جلا شوي نومونو لیست مشخص کړي، یا څو څو ځلې په ښکاره کولو سره.

دا اختیار باید د احتیاط سره کارول شي ځکه چې دا د لټون لاری تیریږي چې ممکن په یو ګډ کتابتون کې راټول شوی وي. په داسې حالت کې دا ممکنه ده چې د رنځیم لینک کونکي څخه پرته په غیرقانوني ډول د لټون مختلف الره کارول شي.

لینک د اړونده ګډ کتابتونونو د موندلو لپاره لاندې لټون لاری کاروي.

1.

هرډیر لارښوونې چې د لارښود لینکس غوره کوي.

2.

هر ډول لارښوونې چې د لارښوونو ټاکل شوې دي. د پالیس او رینډ اړیکو ترمنځ توپیر دا دی چې لارښوونې د سپارلو اختیارونو په ګوته کوي شامل دي په اجرا کولو وړ او د رنځ په وخت کې کارول شوي، پداسې حال کې چې د رینډ اړیکه اختیار یوازې د اړیکو په وخت کې اغیزمن دی. دا یواځې د اصلي پیوندر لپاره دی.

3.

د ELF سیسټم په صورت کې، که د پال او "رباډریشن اړیکه" کارول ونه کارول شوي، د چاپیریال متغیر مواد "LD_RUN_PATH" وپلټئ. دا یواځې د اصلي پیوندر لپاره دی.

4.

د SunOS په اړه، که چیرې د انتخاب اختیار ونه کارول شي، هغه لارښودونه وپلټوئ چې د ال انتخاباتو په کارولو سره مشخص شوي.

5.

د یو اصلي پیوندر لپاره، د چاپیریال متغیر مواد "LD_LIBRARY_PATH".

6.

د ELF لینک کونکي لپاره، په "DT_RUNPATH" یا "DT_RPATH" کې یو ګډ کتابتون کې لارښوونې د دې لخوا اړین شوي کتابتونونو پلټنه شوې. د "DT_RPATH" اندیښنې په پام کې نیسي که د "DT_RUNPATH" لاسوند شتون ولري.

7.

اصلي لارښوونې، معمولا / لیبیا او / USAID / lib .

8.

د ELF په سیسټم کې د اصلي پیوندر لپاره ، که فایل /etc/ld.so.conf موجود وي، په دې دوتنه کې د لارښودونو لیستونه شتون لري.

که اړین ګډ کتابتون ونه موندل شي، لینک به یو خبرداری خپور کړي او د اړیکو سره دوام وکړي.

شریک شو

- وړنده

یو ګډ کتابتون جوړ کړئ. دا مهال یواځې د ELF، XCOFF او SunOS پلیسونو کې مالتړ کوي. د SunOS په اړه، لینک کونکی به په خپل ځان سره یو ګډ کتابتون جوړ کړي که چیرې دا کار ونه کارول شي او په لینک کې نامناسب سمبولونه شتون نلري.

- په عمومی توګه

دا اختیار LD ته د اندازې له مخې عام علامات ترتیب کړي کله چې دوی دوی د مناسب محصول برخو کې ځای کوي. لومړی ټول ټول اړخیز علامتونه راځي، بیا وروسته ټولې دوه بټۍ، بیا ټول څلور بټۍ، او بیا نور هر څه. دا د سیدانو د محدودیتونو له امله د سمبولونو ترمنځ د نیمګړتیاوو مخه نیسي.

--split-by-file [ اندازه ]

لکه --split-by-reloc ورته بلکه مګر د اندازې د رسیدو پر مهال د هر انټ فایل لپاره د نوی محصول برخه جوړه کوي. د اندازه اندازه د یوې اندازې لپاره که چیرې نه ورکول کیږي.

--split-by-reloc [ شمېر ]

هڅه کوي چې د محصول فایل کې اضافي برخې رامینځته کړي ترڅو په فایل کې د محصولاتو هیڅ یوه برخه د شمېرنې استوګنځایونو څخه ډیروالی نلري. دا ګټور کار دی کله چې د COFF اعتراض د دوتنې بڼه سره د ځینې ټایمز وخت کټګوریو کې د ډلبلو لپاره د ډیرو لیږد وړ فایلونو پیدا کول؛ له کومې کبله چې COFFcannot په یوه برخه کې له 65535 څخه زیات استوګنځایونه وړاندې کوي. په یاد ولرئ چې دا به د اعتراض فايل فارمونو سره کار ونلري چې د خپل سرغړونې برخې ملاتړ نه کوي. لینک به د بیاکتنې لپاره د انفرادي انفرادي برخې ویشلو، نه وي، که چیرته د انډول یو واحد برخه د شمېرنې د ځایونو څخه زیات وي، نو د یوې برخې برخې به دا ډیانګړتیاوې ولري. د 32768 ارزښت ارزښت ته د ګوتو شمیرل.

-

د لینک د عملیاتو په اړه د ارقامو راټولول او خپرول، لکه د تطبیق وخت او د یادولو کار.

- منځنی بڼه - بڼه

د ځینو موخو لپاره، د لیډ محصول د ځینې موجوده لینکر د تولید څخه په ځینو لارو کې توپیر لري. د سویډن دا غوښتنه غوښتنه کوي چې د دې پر ځای د دودیز شکل بڼه وکاروي.

د مثال په توګه، په SunOS کې، LD د نښې نښانې سره د سمبول تار په میز کې راټولوي. دا کولی شي د محصولاتو فایل اندازه د بشپړ ډیجیګ معلوماتو سره 30 سلنې څخه کم کړي. له بده مرغه، د SunOS "Dbx" پروګرام نشي کولی د پایلې نتیجې پروګرام (GDb) کومه ستونزه ونه لري). د - تڼیالي بڼه بڼه بدلوي LD ته د دوه ځلي ثبتونو سره یوځای کولو لپاره نه ورکوي.

- د پیل کولو شروع سیکشن نوم = org

د انټرنیټ لخوا په بشپړ پته کې د محصول فایل کې یوه برخه وګورئ . تاسو کولی شئ دا انتخاب د ډیرو څو ځلې لپاره د کمانډ کرښه کې د ډیرو برخو د موندلو لپاره وکاروي. org باید د واحد هیکسډایډیلټ انټرنټ وي. د نورو لینک کونکو سره مطابقت لپاره، تاسو ممکن د ایکس ایکسډیکیل ارزښت سره تړل شوي 0x عموما له منځه یوسي. یادونه: باید د سایټ نوم په منځ کې سپینه ځای ونه وي، مساوي مساوي (`` = '')، او org .

ټګونه org

- ټاتاټا org

ټکي org

org - په ترتیب سره --- د "Bss"، "ډاټا"، یا د محصولاتو فایل د "متن" برخې لپاره د پیل شوي پته په توګه کاروئ. org باید د واحد هیکسډایډیلټ انټرنټ وي. د نورو لینک کونکو سره مطابقت لپاره، تاسو ممکن د ایکس ایکسډیکیل ارزښت سره تړل شوي 0x عموما له منځه یوسي.

- د ټولو لغتونو

- ځورول

د نسخه شمیره د LD لپاره وښایاست او د لینک کولو جذبات لیست لیست کړئ. ښودل چې د انټ فایلونه کولی شي او پرانيستل نشي. لینکر سکرپٹ د لینک لخوا کارول کیږي.

- ویډیو - سکرپٹ = نسخه - سکرټیل

لینکر ته د نسخه سکریپ نوم نوم ورکړئ. دا په عموما ډول د کتابتونونو جوړولو لپاره د نسخو د وراثت په اړه د اضافي معلوماتو مشخص کولو لپاره ګډ کتابتونونه جوړوي. دا اختیار یوازې د ELF پلیټونو کې معنی دی چې د شریک کتابتونونو ملاتړ کوي.

- واټن - عام

کله چې یو عام سمبول د بل عام سمبول سره یا د سمبول تعريف سره یوځای شي خبرداری ورکړئ. د یونس لینک کونکي دا ځینې ناڅاپي عمل ته اجازه ورکوي، مګر د ځینې نورو سیسټمونو لینک کونکي ندي. دا اختیار تاسو ته اجازه درکوي چې د نړیوالو سمبولونو راټولولو احتمالي ستونزې ومومي. له بده مرغه، ځینې C کتابتونونه دا عمل کاروي، نو تاسو کولی شئ په کتابتونونو او همدارنګه ستاسو په پروګرامونو کې د سمبولونو په اړه ځینې اخطارونه ترلاسه کړئ.

د نړۍ درې ډوله علامتونه شتون لري چې د C مثالونو لخوا ښودل شوي دي:

int i = 1

A تعریف، کوم چې د محصول فایل د لومړنیو ډاټا برخې کې ځي.

extern int i؛

یوه ناباوره حواله، چې د ځای تخصیص نه کوي. دلته د متغیر ځای لپاره یو تعریف یا یو عام سمبول وي.

int i؛

یو عام نښه. که د یو متغیر لپاره یوازې یو یا څو نور عام علامات وي، دا د محصول د فایل فایل فایل فایل کې واقع کیږي. لینک په یو واحد سمبول کې د ورته متغیر لپاره ګڼ شمیر عام سمبولونه سره مل کوي. که دوی د مختلفو اندازو څخه وي، نو دا ترټولو لویه اندازه غوره کوي. لینک په یو اعلامیه کې یو عام سمبول بدلوي، که چیرې د ورته متغیر تعریف تعریف وي.

د واورن - عام انتخاب کولی شي پنځه ډوله اخطارونه تولید کړي. هر خبردارۍ د یو لینونو څخه جوړه شوې ده: لومړی یې سمبول تشریح کړی، او دوهم یې پخوانی سمبول تشریح کوي د ورته نوم سره مخ شوی. د دوو سمبولونو یو او یا به یو عام سمبول وي.

1.

په یوه حواله کې یو عام سمبول بدلول، ځکه چې مخکې د سمبول لپاره تعریف شتون لري.

<دوتنه> (<برخه>): خبرداری: د <<سمبول> عام تعریف د تعریف له مخې پورته شوی (<برخه>): خبردارۍ: دلته تعریف شوې

2.

په یوه حواله کې یو عام سمبول بدلول، ځکه چې د سمبول لپاره وروسته تعریف تعریف شوی. دا د پخوانی قضیې په څیر دی، پرته له دې چې سمبولونه په یو بل ترتیب سره مخ شوي.

(<برخه>): خبرداری: د <<سمبول> تعریف تعریف <عامې <فایل> (<برخه>): خبردارۍ: عام دی

3.

د پخوانۍ ورته عمومي سمبول سره یو عام سمبول راټولول.

خبرتیا: د «<سمبول> <دوتنې» <دوتنې> (<برخه>): خبردارۍ: پخوانی معمول دلته دی

4.

د پخوانۍ لوی عمومي سمبول سره یو عام سمبول راټولول.

<دوتنه> (<برخه>): خبرداری: د «<سمبول> عام» عام د لوی فايل لخوا تیریږي <دوتنې> (<برخه>): خبرداری: لوی عام دلته دلته دی

5.

د پخوانیو کوچني عام سمبول سره یو عام سمبول بدلول. دا د پخوانی قضیې په څیر دی، پرته له دې چې سمبولونه په یو بل ترتیب سره مخ شوي.

<دوتنې> (<برخه>): خبرداری: د «<سمبول> عام» معمول <عام> دوتنې (<برخه>): خبرداری: معمولا لږ دی

- واور جوړونکي

خبرداری ورکړئ که کوم نړیوال جوړونکي کارول کیږي. دا د ځینو اعتراضونو دوتنې فارمونو لپاره یوازې ګټور دی. د COFF یا ELF په بڼه فارمټیو لپاره، لینک کول نشي کولی د نړیوالو ودانیو کارولو کشف کړي.

--warn-multiple-gp

خبرداری ورکړئ که چیرې د نړیوالو قطعاتو ارزښتونه د محصول فایل کې اړین وي. دا یوازې د ځینو پروسوسرانو لکه الفا الفاهیم وړ دی. په ځانګړې توګه، ځینې پروسس کونکو لوی ارزښت لرونکي محصوالت په ځانګړي برخه کې ساتل. یو ځانګړی راجستر (نړیوال لیکونکی) د دې برخې په منځ کې اشاره کوي، نو دا چې محافظین د بیس بیس راجستر کولو سره د پته کولو په اړه موثره طریقه کیدای شي اغیزمن شي. له دې امله چې د بیس راجستر په نسبتا مودې کې مقرر شوی وي او نسبتا کوچنۍ (د مثال په توګه، 16 بټونه)، دا د مسلسل پول تر ټولو لوړه اندازه محدودوي. لدې کبله، په لویو پروګرامونو کې، دا اړینه ده چې د ډیرو نړیوالو شاخصونو ارزښتونه وکاروي ترڅو د ممکنه محدودې محدودېتونو په نښه کولو توان ولري. دا اختیار د یو خبرداری سبب کیږي چې هرکله چې دا قضیه واقع شي.

- یو ځل

یواځې یو ځل د هرې بې ځایه شوي سمبول لپاره خبرداری ورکوي، مګر د هرې مودې لپاره د ماډل هر هغه څه چې دې ته اشاره کوي.

- واړه برخه - ترتیب کړئ

خبرداری ورکړئ چې د تفتیش برخې پته د قطار له امله بدله شوې. عموما، دا مسیر به د انټرنېټ برخې لخوا وټاکل شي. پته به یواځې بدلون ومومي که چیرې دا په واضح ډول مشخص نشي؛ دا دی، که د "برخې" قومانده د برخې لپاره د پیل پیل پته نده مشخص کړي.

- ټولپوښتنه

د هر آرشيف لپاره د کوډ - آرشیف انتخاب وروسته د کمانډ کرښه کې ذکر شوې، په آرشيف کې د هر اعتراض فولډ کې د اړتیا وړ منډو فایلونو لپاره د ارشیف لټون کولو پرځای شامل دي. دا عموما د آرشیف فایل په یو ګډ کتابتون کې بدلوي، او هر هغه اعتراض چې نتیجه شوي ګډ کتابتون کې شامل وي مجبوروي. دا اختیار ممکن د یو ځل څخه زیات وکارول شي.

د GCC څخه د دې اختیار کارولو په وخت کې دوه یاداښتونه: لومړی، GCC د دې اختیار په اړه نه پوهیږي، نو تاسو باید ولټوئ - -whole-archive . دوهم، د آرشیفونو له لیست وروسته، د GL به ستاسو آرکیو ته د ارشیفونو لیست اضافه کولو څخه وروسته - ټول، آرشيف - نه کار مه اخلئ او تاسو نه غواړئ دا بيرغ د هغو کسانو په اړه هم اغیزه وکړي.

د سرلیک نښه

د سمبول لپاره ناباوره فعالیت وکاروه. د نښه کولو هر ډول نښې نښانې به "__ wrap_symbol" ته حل شي. د "__real_symbol" لپاره کوم بې ځایه شوي حواله به سمبول ته حل شي.

دا د سیسټم د فعالیت لپاره یو پوښښ چمتو کولو لپاره کارول کیدی شي. د انګورو کار باید "__wrap_symbol" وبلل شي. که غواړئ د سیسټم فعالیت وغوښتل، نو باید "__ real_symbol" ته وایم.

دلته یو کوچنی مثال دی:

باطل * __wrap_malloc (int c) {چاپف ("ملګری د٪ ld \ n"، c)؛ بیرته راستون __real_malloc (c)؛ }

که تاسو له دې فایل سره د ویر مېګکوکو په کارولو سره نور کوډ ولیکئ نو بیا به "malloc" ته ټول غږونه به د "__wrap_malloc" فعالیت ته بلنه ورکړئ. "__real_malloc" ته "__wrap_malloc" کې ټلیفون به د اصلي "ماللکو" فعالیت وکاروي.

تاسو کولی شئ د "__real_malloc" فعالیت هم چمتو کړئ، نو د دې لپاره چې د لیرې کولو اختیار پرته لینک بریالي شي. که تاسو دا کار کوئ، نو تاسو باید د "__ real_malloc" تعریف په ورته فايل کې "__wrap_malloc" نه تعریف کړئ؛ که تاسو وکړئ، جمع کول کولی شي مخابراتي سیسټم حل کړي مخکې له دې چې لینک د "مالیلکو" لرې کولو لپاره یو فرصت ولري.

- وړونکي-نوي-ډاټګونه

- د وړ وړ-نوي-ډاټاګانې

دا لینک کولی شي په ELF کې نوي متحرک ټیکونه جوړ کړي. مګر د ELF لوی سیسټمونه دوی په دې نه پوهیږي. که تاسو مشخص کړئ - نوي - ډاټګټونه ، ډیری متحرک ټګ به د اړتیا په صورت کې رامینځ ته شي. که تاسو مشخص کړئ - نوي کېدونکي-ډاټګګګونه ، نو نوي متحرک ټګونه به رامینځته نشي. د ډیزاین په اساس، نوي متحرک ټګونه ندی رامینځته شوي. په یاد ولرئ چې دا انتخابونه یوازې د FELF سیستمونو لپاره شتون لري.

د I386 PE د اړیکو مالتړ د شریک شوي اختیار مالتړ کوي، کوم چې د دې لپاره المل کیږي چې د عادي اجرا وړ وړ ځای پرځای د فعاله تړل شوي کتابتون) DLL (وي. تاسو باید د "* .dll" محصول نوم واخیست کله چې تاسو دا اختیار وکاروئ. سربېره پر دې، لینک کوډ د معیاري "*dedef" فایلونو بشپړ ملاتړ کوي، کوم چې کیدای شي د لینکرین کمانډ لین په څیر مشخص شي لکه د اعتراض فایل (په حقیقت کې، دا باید ارشیف مخکې له دې چې د سمبول صادرات وکړي، ډاډ ترلاسه کړي چې دوی ورسره تړاو لري، لکه د عادي اعتراض دوتنې په څیر).

د ټولو اهدافو لپاره معمول د ګډونو برسیره، د I386 پی پی اړیکه د اضافي قوماندې لیکو انتخابونو مالتړ کوي کوم چې د I386 PE د نښه کولو لپاره ځانګړي دي. هغه انتخابونه چې ارزښتونه یې اخیستل کیدای شي د خپلو ارزښتونو څخه د یو ځای یا د مساوي نښه سره جلا شي.

--ډیډیډال-عرف

که ورکړل شوي وي، د سټاک کلیټ (@ nn ) سره سم سمبولونه به صادر شي لکه څنګه چې د پایپ پاڼې سره هم.

د بکس فایل فایل

دوتنه د یوې فایل نوم په توګه وکاروي چې په هغه کې د ټولو لیږدونو بیس اډیټونه د Dlltool سره تولیدولو لپاره اړین دي.

--dll

د منظم عمل کولو پر ځای DLL جوړه کړئ. تاسو ممکن د "" ".def" دوتنه کې د "کتابتون" مشخص کړئ یا مشخص کړئ.

- وړونکي - stdcall-fixup

- وړتیا - stdcall-fixup

که لینک یو سمبول پیدا کړي چې دا حل نشي کولی، نو دا به د "فجی اړیکو" کولو هڅه وکړي چې د بل تعریف شوي سمبول په لټه کې وي چې یوازې د سمبول نوم (cdecl vs stdcall) کې توپیر لري او د نښلولو له لارې به سمبول حل کړي. لوبه ته د بیلګې په توګه، نامناسب سمبول "_foo" کېدای شي د "_foo @ 12" سره اړیکه ونیسي، یا بې ځایه شوی سمبول "_bar @ 16" کېدای شي د "_bar" سره اړیکه ونیسي. کله چې لینک کوونکي دا کار کوي نو دا یو انتبایل چاپوي، ځکه چې په نورمال ډول باید ونښلول شي، مګر کله ناکله د دریمې ډلې ډیلیو څخه تولید شوي کتابتونونه وارزوي ممکن دا کاروونکي د کار وړ وي. که تاسو مشخص کړئ - د کار وړ - stdcall-fixup ، دا فیچر په بشپړ ډول فعال شوی او خبردارۍ چاپ شوی ندي. که تاسو مشخص کړئ - د کار وړ - stdcall-fixup ، دا فیچر غیر معیوب شوی دی او داسې ډولیزونه غلطي ګڼل کیږي.

- صادرات - سمبولونه

که ورکړل شوی، د DLL د جوړولو لپاره کارول شویو توکو کې ټول نړیوال سمبولونه به د DLL لخوا صادر شي. په یاد ولرئ چې دا دا سمه ده که چیرې هلته بل صادرات سمبول ونه شي. کله چې سمبولونه د DEF د فایلونو له لارې په ښکاره توګه صادر شوي یا د فعالیت د ځانګړتیاوو له لارې په مستقیم ډول صادر شوي، دا اصلي دی چې دا اختیار نه دی ورکړل شوی. په ياد ولرئ چې سمبولونه "DllMain @ 12"، "DllEntryPoint @ 0"، "DllMainCRTStartup @ 12"، او "impure_ptr" به په اتوماتيک ډول صادر نشي. همدارنګه، د نورو DLL څخه واردې شوي نښانې به بیا صادر نشي، او نه به سمبولونه د DLL داخلي لیږد مشخص کړي لکه د "_head_" سره پیل او یا "_iname" سره پای ته ورسیږي. برسېره پردې، د "لیګ ګاک"، "libstd ++"، "libmingw32"، یا "crtx.o" څخه هیڅ ډول شواهد صادر نه شي. هغه نښانې چې نومونه یې "__rtti_" یا "__builtin_" سره پېل کیږي، نه صادر کیږي، د C ++ DLLs سره مرسته کولو لپاره. په پای کې، د سایګون- شخصي سمبولونو پراخه لیست شتون لري چې صادر نه دي) په څرګند ډول، دا د سایګون د موخو لپاره د DLL جوړولو پر مهال کارول کیږي (.

دا سایګون - په دې کې شامل دي: "- کرینګین_ ډایلینټریټ 12"، "_cygwin_crt0_common @ 8"، "_ cygwin_noncygwin_dll_entry @ 12"، "_fmode"، "_impure_ptr"، "cygwin_attach_dll"، "cygwin_premain0"، "cygwin_premain1"، "cygwin_premain2"، "cygwin_premain3" "او" چاپیریال ".

- ضمیمه - سمبولونه سمبول ، نښه ، ...

د سمبولونو یو لړ مشخصوي چې پخپله پخپله صادر نه شي. د سمبول نومونه کیداې شي د کمونو یا کلونونو له خوا جال وټاکل شي.

- ضمیمه - آزادی آزادی ، آزادی ، ...

د ارشیف کتابتونونو لیست مشخص کوي چې له کومې څخه سمبولونه باید په اتوماتيک ډول صادر نشي. د کتابتون نومونه کیداې شي د کمونو یا کلونونو له خوا تعقیب شي. د "ضمیمه - لیبیا ټول" مشخص کول "د اتوماتیک صادراتو څخه په ټولو ارشيف کتابتونونو سمبولونو کې شامل نه دي. په واضح ډول د .def فایل کې لیست شوي علامې لاهم د دې اختیار پرته پرته، صادرېږي.

- په نښه کول

د دوتنې پواسطه مشخص کړئ. په فايل کې برخې به تل د فايل سایټونو کې پیل شي چې د دې شمیرې ډیری برخې دي. دا دا 512 کډوال دي.

د غنمو ذخیره

د شتمنیو ذخیره ، ژمنتیا

د یادولو لپاره د یادولو یادښت مشخص کړئ (او اختیاري ژمنې) چې د دې پروګرام لپاره د څارویو په توګه کارول کیږي. اصلي بڼه 1Mb دی، 4K ژمن دی.

--image - بنسټ ارزښت

ارزښت د خپل پروګرام بنسټیز پته یا د dll په توګه وکاروئ. دا د ټیټې حافظې ځای دی چې تاسو به ستاسو د پروګرام یا ډیل ډک شي کله به وکارول شي. د لیږد لپاره اړتیا کمولو او د DLL فعالیتونو کې ښه والی لپاره، هر یو باید د ځانګړی بیس پته ولرئ او هیڅ بل ډیلي نور هم نه اضافه کړئ. اصلي بڼه د executables لپاره 0x400000 او د dlls لپاره 0x10000000 ده.

- کلو - کې

که ورکړل شوي وي، د ستاسې اسناد (@ nn ) به د سمبولونو څخه لرې شي مخکې له دې چې دوی صادر شي.

- د پخواني تصویر بڼه - بڼه ارزښت

د 'عکس نسخه' لوی نمبر نیسي. 1 ته بدلونونه.

- د اصلي - اوسمهال ارزښت

د `os ورژن 'لوی نمبر نیسي. 4 ته سپارل

- د فرعي سب سیسټم - نسخه ارزښت

د "سب سیسټم نسخه" لوی نمبر نیسي. 4 ته سپارل

- د ماین انځور - نسخه ارزښت

د معمولی شمیر د `تصویر نسخه 'نیسي. 0 ته بدلونونه.

- د مایکورډ نسخه ارزښت

د `os ورژن 'لږه اندازه ټاکي. 0 ته بدلونونه.

- د مین - سب سیسټم - نسخه ارزښت

د 'سب سیسټم نسخه' لږه شمیره نیسي. 0 ته بدلونونه.

- د ټیکټ - دفاع فایل

لینک به د دوتنې فایل جوړ کړي چې په کې به د DEF فايل ولري چې د DLL سره ورته وي لینکر راځي. د DEF دوتنه (چې باید "* .def" نومیږي) کیدی شي د "ډاټولو" سره د وارداتي کتابتون جوړولو لپاره وکارول شي او یا هم په اتوماتیک ډول یا په مستقیم ډول د سمبولونو صادرولو لپاره د یوې سرچینې په حیث کارول کیږي.

- د امپلب دوتنه

لینک به د دوتنې فایل جوړ کړي چې په کې به د وارد لیګ پورې د DLL سره تړاو ولري لینکر راځي. دا وارد لیګ (چې باید ورته "* .dll.a" یا "* .a" نومول کیدی شي د مشتریانو DLL په مقابل کې د مشتریانو سره اړیکه ونیسي؛ دا چلند ممکن د جلا "Dlltool" د واردولو کتابتون جوړولو مرحله پریږدي.

- د کار وړ وړ انځور انځور

په ډاګه کړئ د DLL لپاره د انځور بیس غوره کړئ، مګر دا چې یو یې د "--image-base" دلیل څخه کار ندی مشخص کړی. د DllName څخه جوړ شوی د HH کارولو له لارې د هر DLL لپاره انفرادي عکس بیسونه جوړ کړي، د انډیز انډولونه او لیږدونه چې د پروګرام اجرا کولو ځنډول ممکن وي.

- د کار وړ وړ - انځور - اساس

پخپله ځانگړي انفرادي انځور بیس نه جوړوي. که چیرته د کاروونکي مشخص مشخص انځور بیس ("--image-base") شتون نلري نو بیا د پلیټ ډیزاینټ کارول.

- د لټون پلټنه - مخففونکي سټراټیټ

کله چې په Dynamically ډول د DLL سره د واردولو کتابتون پرته ونومولئ، "لیګ .dll" ته ترجیح ورکول " .dll" لټون وکړئ. دا چلند د DLL په مینځ کې د مختلفو `subplatforms ': اصلي، سائګون، uwin، Pw، او داسې نور سره اسانتیا توپیر ته اجازه ورکوي چې د مثال په توګه، cygwin DLLs په عمومي ډول" - Dll-search-prefix = cyg "کاروي.

- وړ وړ واردات

د "ایس ایسبولبول" سره د DATA څخه د ډاټا واردولو لپاره "__imp__symbol" ته منفي تړاو لري، او د ډاټایکسپورټ سره د وارداتي کتابتونونو جوړولو په وخت کې د اړتیا وړ نښې نښانې چمتو کړئ. دا عموما به 'یوازې کار وکړي' --- مګر کله ناکله تاسو دا پیغام وګورئ:

"متغیر" 'د وارداتو لپاره نشي کیدای. د لاریون لپاره د "د کار وړ وړ" واردولو لپاره د LD's اسنادو لپاره لوستل ولولئ. "

دا پیغام پېل کیږي کله چې ځینې (فرعي) بیان په پای کې د دوو محدودو مجموعو لخوا ورکړل شوي پتې ته رسېږي (د Win32 وارداتو میزونه یوازې یو ته اجازه ورکوي). هغه بیلګې چې کېدای شي دا پیښ شي په ګډون کې د ساختماني متغیرونو غړي غړي ته لاس رسی چې د DLL څخه وارد شوي، او همدارنګه د مسلسل زیربنا کارول په یوه متغیر متغیر سره چې د DLL څخه واردیږي. هر څو متغیر متغیرات (arrays، جوړښتونه، اوږدې اوږدې، او نور کولی شي د دې غلطۍ حالت پیل کړي. په هرصورت، د تیریدو صادر شوي متغیر دقیق معلوماتو ډول پرته، LD به تل دا وپیژني، خبرداري، او وتلو مسله حل کړي.

د دې ستونځې حل کولو لپاره ډیری لارې شتون لري، د صادر شوي متغیراتو د ډاټا ډول څخه پرته:

یو لاری دا دی چې د کار وړ د ځغلولو وخت - د سیدو - رینچ سوئچ کارول. دا د دندې د چاپیریال لپاره ستاسو د مراجعینو په کوډ کې د حوزو تنظیمولو دنده پریږدي، نو دا طریقه یوازې هغه وخت کار کوي کله چې د رنټ ټیم چاپیریال دا خصوصیت ملاتړ کوي.

دویم حل دا دی چې یو له "خنډونو" څخه یو متغیر وي --- دا، د مطابقت وخت په وخت کې ناپېژندل شوی او نااشنا دی. د بندیزونو لپاره، دوه امکانات شتون لري: الف (د شاخص پواسطه (د سر پته) یو متغیر، یا ب) د 'ثابت' لیست جوړ کړئ یو متغیر. په دې ډول:

بهرنی ډول extern_array []؛ extern_array [1] -> {بې ثباته ډول * t = extern_array؛ t [1]}

یا

بهرنی ډول extern_array []؛ extern_array [1] -> {بې ثباته int = 1؛ extern_array [t]}

د جوړښتونو لپاره (او د ډیری ډیری ډیری معلومات ډاټا ډولونه) یوازینۍ لاره دا ده چې پخپله جوړښت جوړ کړئ (یا اوږد اوږد، یا ...) متغیر:

خارجي جوړښت s extern_struct؛ extern_struct.field -> {بې ثباته جوړښت S * t = & extern_struct؛ جدول}

یا

د اوږدې مودې اوږدې extern_ll؛ extern_ll -> {بې ساري اوږد * local_ll = & extern_ll؛ * local_ll}

د دې ستونزې سره د معاملو دریمه طریقه دا ده چې د ناڅاپي سمبول لپاره 'د واردولو' پریښودلو پریښودل او د "__declspec (dllimport)" سره نښه کړئ. په هرصورت، په عمل کې چې د Compile-time # څخه کار اخیستلو ته اړتیا لري ترڅو دا معلومه کړي چې آیا تاسو د DLL جوړونه کوئ، د مراجعینو کوډ جوړول چې د DLL سره یا یا یوازې د یو مستحکم کتابتون سره اړیکه ونیسي. د تلپاتې سیالیو سره د مستقیم پته د حل کولو د مختلفو لارو تر مینځ غوره کولو کې، تاسو باید د حقیقي نړیوالې ګټې په پام کې نیولو سره:

اصلي:

--foo.h extern int arr []؛ "foo.h" باوري اصلی (int argc، char ** argv) {printf ("٪ d \ n"، نیول [1])؛ }

حل 1:

--foo.h extern int arr []؛ --foo.c # شامل کړئ "foo.h" باطل اساسي (انټرنټ، چارټ ** argv) {/ * دا اندیښنه د Win32 او سایګون لپاره ده؛ مه کوئ "optimize" * / volatile int * parr = arr؛ printf ("٪ d \ n"، parr [1])؛ }

حل 2:

--foo.h / * یادونه: د صادراتو صادرول فرض دي (هیڅ __declspec (dllexport)) * / #if (define (_WIN32) || تعریف شوی (__ CYGWIN__)) && \! (تعریف شوی (FOO_BUILD_DLL) || تعریف شوی (FOO_STATIC ) (# د FOO_IMPORT __ ډاډسل (ډاټیمپورټ) ډډه کول # ډاډه کړئ FOO_IMPORT # د پایلوف خارجه FOO_IMPORT int نیول []؛ "foo.h" باوري اصلی (int argc، char ** argv) {printf ("٪ d \ n"، نیول [1])؛ }

د دې ستونزې څخه د مخنیوي لپاره څلورم لار دا ده چې خپل کتابتون بیا ځل لپاره د فعال فعالیت لپاره کارولو لپاره د بدلیدونکو متغیرونو لپاره) د مثال په توګه set_foo () او ترلاسه_foo (( لاسرسي فعالیتونو لپاره د ډاټا انٹرفیس په پرتله).

- د کار وړ وړ واردات

د DSLIM څخه د DATAIMports لپاره "__imp__symbol" ته "_symbol" د سوفیستیکي تړل کولو هڅه مه کوئ.

- د وړ وړ چلولو - پیسودو لیږد

که ستاسو د کوډ کې شامل وي - د واردولو وړ - د وارداتو برخې برخه کې بیان شوي، دا دی، د نه صفر ټیسټ سره د DATAIMports څخه د DLL څخه، دا دا سیسټم د 'رنځته پسې بې ځایه لیږدونو' ویټور رامینځته کوي چې د رنځ موټی چاپیریال لخوا د حوزو اصولو لپاره کارول کیدی شي ستاسو د مراجعینو په کوډ کې داسې ډاټا ته.

- د توان وړ چلولو - پیسودو لیږد

د غیر صفر د پیل لپاره د سوندو لیږد جوړول نه د DLL څخه د DATA واردات. دا اصلي دی.

- د کار وړ اضافه پلوه

د وارداتو د سمبول نښه کولو پورې اړوند د ډیب ډوب معلومات ښکاره کړئ.

- د لیږد کولو مسیر

د برخې ساحه ترتیبوي. په یادولو کې برخې به په پته پته پیل شي چې دا د دې شمیر ډیری دي. 0x1000 ته بدلونونه.

د ذخیره کولو ذخیره

- ذخیره ساتل ، ژمنې

د دې پروګرام لپاره د سټینټ په توګه د کارولو لپاره د یاد ساتلو اندازه (او اختیاري ژمنې) مشخص کړئ. ڈیفالټ دوه میګاټ دی، 4K ژمن دی.

- د سیسټم سیسټم

- سیسټم چې کوم : لوی

- سیسټم چې کوم : لوی . کوچني

هغه فرعي سیسټم مشخص کوي چې ستاسو پروګرام یې پلي کوي. قانوني ارزښتونه چې "اصلي"، "کړکۍ"، "کنسول"، او "پوینکس" دي. تاسو ممکن په اختیاری توګه د سب سیسټم بڼه هم وټاکئ.

مهم: د انسان قوماندې ( ٪ man ) کاروئ ترڅو وګورئ چې ستاسو په ځانګړی کمپیوټر کې کوم قوماندې کارول کیږي.