لينڪس / يونڪس حڪم: آئي

نالو

ld - LD استعمال ڪندي ، اين آر جي لنڪ ڪندڙ

SYNOPSIS

ld [ اختيارن ] objfile ...

DESCRIPTION

ld ھڪڙي اعتراض ۽ آرٽيڪل فائلن کي گڏ ڪري ٿو، انھن جي ڊيٽا کي ۽ پنھنجي علامت کي ظاھر ڪري ٿو. عام طور تي هڪ پروگرام گڏ ڪرڻ ۾ آخري قدم آيل آهي.

LD لنڪر حڪم ڪمان زبان کي قبول ڪري ٿو، ڳنڍيل عمل تي واضح ۽ مڪمل ڪنٽرول مهيا ڪرڻ لاء، اي ٽي ۽ ٽينڪ ايڊٽ ايڊيٽر ڪمن زبان زبان نحو جي وڏي ٻوليء ۾ لکيل آهي.

ھن ماڻھو صفحي کي حڪم ٻوليء جو بيان نه ڪندو آھي. مڪمل ڄاڻ لاء، ڄاڻ واري ٻوليء تي ۽ اين اين آر جي لنڪ جي ٻين حصن تي.

اي ايل ڊي جو نسخو عام فائلن تي هلائڻ لاء عام مقصد BFD لائبريري استعمال ڪندو آهي. اهو LD جي پڙهڻ، گڏوگڏ، ۽ فائلن جي لکڻين کي ڪيترن ئي مختلف شڪلن ۾ ڏيڻ جي اجازت ڏيندو آهي مثال طور، COFF يا "a.out". ڪنهن به قسم جي اعتراض فائل پيدا ڪرڻ لاء مختلف فارمن سان گڏ هڪٻئي سان ڳنڍيل هوندا.

ان جي لچڪدار کان علاوه، اين آر اين لنڪ ڪندڙ تشخيص معلومات مهيا ڪرڻ ۾ ٻين لنڪرز کان وڌيڪ مددگار آهي. ڪيترا ئي ڳنڍيندڙن کي غلطي سان منهن ڏيڻ تي فوري طور تي روڪي ڇڏيندا آهن؛ جڏهن ممڪن هجي، ld جاري رهندي، توهان کي ٻين غلطين جي نشاندهي ڪرڻ جي اجازت ڏئي ٿي (يا ڪجهه صورتن ۾، غلطي جي باوجود فارميٽ فائيل حاصل ڪرڻ).

GNU لنڪر LD جي حالتن جي وسيع رينج کي ڍڪڻ ۽ انهي کي ممڪن طور تي ٻين لنڪرز سان گڏ ڪرڻ جو مطلب آهي. انهي جي نتيجي ۾، توهان جا رويي کي ڪنٽرول ڪرڻ لاء توهان جا ڪيترائي انتخاب آهن.

OPTIONS

لنڪر کي ڪنڊ لائن لائن جي اختيارن جي حمايت ڪري ٿو، پر حقيقي عملن ۾ انهن مان ڪجھه ڪنهن خاص مقصدن ۾ استعمال ڪيا ويا آهن. مثال طور، لڊ جو اڪثر استعمال جديد يونڪس اعتراض فائلن کي هڪ معياري، ايڪسڪس واري سسٽم تي ڳنڍيل آهي . اهڙي سسٽم تي، فائل کي لنڪ ڪرڻ لاء "هيلو.o":

ld -o /lib/crt0.o هيلو.o -lc

اهو ايل ڊي ٻڌائي ٿو ته فائل کي ڳنڍيل نتيجو جو نتيجو ڪڍيو "/lib/crt0.o" سان "هيلو.o" ۽ لائبريري "libc.a" سان، جيڪو معياري تلاش ڊائريڪٽرن مان ايندو. (بحث کي هيٺ ڏنل ليليٽ ڏسو.)

ڪجهه لڪير واري آپشن کي LD تائين ڪري سگهجي ٿو. بهرحال، اختصاص جيڪي فائلن جو اشارو ڏيندا آهن، جهڙوڪ -L يا -T ، انهي نقطي تي فائيل پڙهي سگهجي ٿو، جنهن ۾ اختيارن کي فائلن ۽ ٻين فائيل جي اختيارن جي نسبت، ڪمانڊر لائن ۾ ظاهر ٿئي ٿو. انهي اختيارن سان غير فائيل اختيارن کي ٻيهر ڏئي سگھو ٿا جيڪي مختلف دليلن سان يا ته ڪو به اثر نه ٿيندو، يا انهي کان اڳ واريون اڳوڻي واقعن (جيڪي ڪنڊ لائين تي کاٻي پاسي کان وڌيڪ) ختم ٿي ويندا آهن. انھن جا اختيار جيڪي معقول طور تي بيان ڪيا ويا آھن ھڪڙي کان وڌيڪ بيان ڪيل آھن.

غير اختيار جو دليلون فائلون يا آرٽائيو کي اعتراض ڪن ٿا جن کي گڏجي ڳنڍيو وڃي ٿو. اهي پيروي ڪن اختيارن سان گڏ، اڳ ۾، يا گڏ ڪري سگھجن ٿيون، سواء ان جي اعتراض هڪ دليل ۽ ان جي دليل جي وچ ۾ فائل جو دليل نه رکيل آهي.

عام طور تي لنڪر گهٽ ۾ گهٽ هڪ اعتراض فائل سان سڏبو آهي، پر توهان بائنري ان پٽ فائلن جي -ايل ، -R ، ۽ اسڪرپٽ ڪنڊر ٻولي استعمال ڪري سگھو ٿا. جيڪڏهن ڪو به بائنري ان پٽ فائلن ۾ وضاحت نه ڪئي وئي آهي، اهو لنڪ ڪنهن به پيداوار پيدا نه ڪندو آهي، ۽ پيغام جو ڪو به ان پٽ فائلن جي مسئلي جو مسئلو ناهي .

جيڪڏهن لنڪر اعتراض فائل جي شڪل کي تسليم نٿو ڪري سگهي، اهو فرض ڪندو ته اهو هڪ لنڪر لپي آهي. هن طريقي سان ٺهيل هڪ رسم الخط لنڪ لاء استعمال ڪيل مکيه لنڪر لپي (يا ڊيموڪريٽ لنڪر لپي يا اسڪرپٽ استعمال ڪندي هڪ ٽي ) کي استعمال ڪري ٿي. ھن خاصيت جي لنڪ کي ھڪڙي اعتراض يا آرٽيڪل ظاھر ٿيڻ واري فائل جي لنڪ ڪرڻ جي اجازت ڏئي ٿو، پر اصل ۾ صرف ھڪڙي نموني قدر کي بيان ڪري ٿو، يا ٻين شين کي لوڊ ڪرڻ لاء "INPUT" يا "GROUP" استعمال ڪندو آھي. نوٽ ڪيو ته هن طريقي سان هڪ رسم الخط کي خاص طور تي مکيه لنڪيڪڪر اسڪرپٽ کي وڌايو آهي. استعمال ڪري سگھندڙ ڊڪٽيٽر سکرپٹ کي مڪمل طور تي -T اختيار استعمال ڪريو.

اختيارن لاء انھن جا نالا ھڪڙو اکر آھن، اختيارن جي دليلن کي يا اسپائيٽ جي مداخلت کان سواء ھڪ اختيار جي پيروي ڪرڻ گھرجي، يا انھن کي اختيار ڪرڻ جي فوري طور تي الڳ دلائل ڏني وڃي.

اختيارن لاء انھن جا نالا ڪيترائي اکر آھن، ھڪڙي ھڪڙي ڊيش يا ٻنھي جو نالو اختيار ڪري سگھن ٿا. مثال طور، -تعمل ۽ اچار جي علامت برابر آهن. نوٽ - ھن قاعدي ۾ ھڪ استثنا آھي. خط واريون اختيارن سان هڪ ننڍڙي صورت سان شروع ٿئي ٿي او صرف ٻن ڊاڪٽرن جي اڳيان چئي سگهجي ٿو. هي اختيار سان مونجهارو کي گهٽائڻ آهي. تنهنڪري مثال طور -اميڪڪ جادو ڪرڻ لاء انٽيڊ فائيل جو نالو مقرر ڪري ٿو - ايمگيڪڪ انٽرويو تي NMAGIC پرچم ٺاهي ٿو.

ڪيترن ئي خطن جي اختيارن تي دليلن کي هڪ برابر نشاني جي ذريعي يا اختيار جي نالي کان الڳ هجڻ گهرجي، يا انهن کي فوري طور تي الڳ الڳ دلائل ڏني وڃي. مثال طور، - ڇڪڻ جي علامت foo ۽ -ترڻ علامت = foo برابر آهن. گھڻن خطن جا نالا جي نالن جي منفرد عڪاسي قبول ڪيا ويا آهن.

نوٽ - جيڪڏهن لنڪ اڻ سڌي طرح سڏيل آهي، هڪ مرڪلي ڊرائيور (مثال طور سي سي سي ) جي ذريعي، سڀني لنڪ ڪنڊر لائن جا اختيار -WL، (يا جيڪو خاص گڏ ڪندڙ ڊرائيور ڊرائيور لاء مناسب آهي) کان اڳ ڏنل هجڻ گهرجي.

gcc-wl، - شروعاتي گروپ foo.o بار.o -Wl، - آخر گروپ

اهو اهم آهي، ڇاڪاڻ ته ٻي صورت ۾ گڏ ڊرائيور ڊرائيور پروگرام خاموشيء سان لنڪ جا اختيار ڇڏيندي، بدترين لنڪ ۾.

هتي عام حڪم جي لڪير واري ميز تي مشتمل آهي GNU ڳنڍيندڙ طرفان قبول ٿيل:

لفظي

هي اختيار HP / UX مطابقت لاء حمايت ڪئي آهي. لفظي دليلن مان ھڪڙي جڳھ آرڪٽ، حصيداري ، يا ڊيمن مان ھڪ ھئڻ گھرجي. -آراشيڪ فعال طور تي -بسٽيڪٽ جي برابر آهي، ۽ ٻئي ٻن لفظي طور تي فعال طور تي -بدياتياتي جي برابر آهي. ھي اختيار ڪنھن وقت جو استعمال ڪري سگھي ٿو.

هڪ فن تعمير

آرڪٽيڪل = فن تعمير

ld جي موجوده راڻي ۾، ​​هي اختيار صرف آرٽيڪلچرز جي Intel 960 خاندانن لاء آهي. انهي ايل ڊي جوڙجڪ ۾، آر تعميراتي دليلن 960 خاندانن ۾ خاص تعميرات جي سڃاڻپ ڪري ٿو، ڪجهه حفاظت ڪري سگهي ٿو ۽ آرٽيڪل لائبريري جي ڳولا واري طريقي کي تبديل ڪري ٿو.

مستقبل جي ڊي جي جاري ڪيل دستاويز ٻين فن تعميراتي خاندانن لاء ساڳئي ڪارڪردگي جي حمايت ڪري سگهي ٿي.

-ب انٽيفڪيٽ ۾

--format = انسٽنٽ فارميٽ

ld ھڪڙي ھڪڙي اعتراض اعتراض فائل کي مدد ڏيڻ لاء ترتيب ڏني وئي آھي. جيڪڏهن توهان جو LD هن طريقي سان ترتيب ڏني آهي، توهان اختيار کي آئوٽ شئي فائلن لاء هي اختيار جي پيروي ڪرڻ لاء بائنري فارميٽ کي استعمال ڪرڻ لاء استعمال ڪري سگهو ٿا. جيتوڻيڪ جڏهن LD متبادل متبادل فارميٽ کي سپورٽ ڪرڻ لاء ترتيب ڏني وئي آهي، توهان عام طور تي هن کي وضاحت ڪرڻ جي ضرورت نه هوندي آهي، ڇو ته LD کي ڊفالٽ انفٽ فارم جي توقع ڪرڻ لاء ترتيب ڏيڻ گهرجي، هر مشين تي تمام عام نمونہ. انپٽ جي شڪل ۾ ٽيڪسٽ سسٽم آهي، جيڪو هڪ خاص شڪل جيڪا BFD لائبريري جي حمايت ڪئي وئي آهي. (توهان objdump -i جي دستيابين بائنري فارمٽس کي لسٽ ڪري سگهو ٿا)

توهان شايد هن اختيار کي استعمال ڪرڻ چاهيندا جيڪڏهن توهان غير معمولي بائنري فارميٽ سان فائلون ڳنڍينديون آهن. توهان شايد استعمال ڪري سگھون ٿا خاص طور تي فارمن کي سوئچ ڪرڻ (جڏهن اعتراض مختلف شڪلن جي فائلن کي ڳنڍيندي)، بشمول -b انسٽاليشن جي هر گروپ کي خاص شڪل ۾.

ڊفالٽ فارميٽ ماحولياتي متغير "GNUTARGET" مان ورتو ويو آهي.

توهان "TARGET" جي حڪم سان استعمال ڪندي هڪ رسم الخط مان انٽ فارمٽ کي وضاحت ڪري سگھو ٿا.

سي سي ايم آر- حڪم واري فائيل

- ميمري اسڪرپٽ = ايم ايل-ڪمانڊر

ايم آر پاران ٺاهيل لنڪرز سان مطابقت حاصل ڪرڻ لاء، ڊي ڊي قبول ڪري ٿو رسم الخط فائلن کي متبادل، محدود ڪيل ٻوليء جي ٻوليء ۾ لکيل آهي، جيڪا اين آر آئي ايل ايل ڊي دستاويزن جي ايم آر اسپيڊ اسڪرپٽ فائل سيڪشن ۾ بيان ڪيل آهي. اختيارن سان ايم آر آئي اسڪرپٽ فائيل متعارف ڪرايو -c ؛ استعمال ڪندڙ لنٽر اسڪرپٽ کي عام-مقصدن واري لڊ اسپيڊنگ ٻولي ۾ لکڻ لاء -T اختيار استعمال ڪريو. جيڪڏهن ايم آر-سي ايم پي ڊيليائل موجود ناهي، اي ايل ايل جي اختيارات طرفان ڏنل ڊيريزائنز ۾ ان کي ڏسڻ لاء.

سي

ڊي سي

ڊي ڊي

اهي ٽي اختيار برابر آهن؛ گهڻن صورتون ٻين لنڪرز سان مطابقت لاء سهڪار آهن. انهن کي عام طور تي عام نشانين جي جڳهه فراهم ڪندو جيتوڻيڪ هڪ ريڪارڊڪبل ٻاڦ واري فائيل بيان ڪئي وئي آهي ( -r ) سان. اسڪرپٽ حڪم "FORCE_COMMON_ALLOCATION" ساڳيو اثر ڪيو.

-اڙي داخل ٿيڻ

داڻا. داخل ٿيڻ

توهان جي پروگرام جي عمل جي شروعات لاء، مڪمل طور تي داخلا داخل ٿيڻ واري نقطي جي طور تي واضح علامت طور استعمال ڪريو. جيڪڏهن ڪو علامت نامزد نالا نه آهي، لنڪر نمبر وانگر داخلا نراس ڪرڻ جي ڪوشش ڪنداسين، ۽ انهي جو پتو (داخلا نمبر 10 ۾ تشريح ڪئي ويندي؛ توهان بنيادي 16، يا هڪ معروف 0 فوجي 0x لاء استعمال ڪري سگهندا. بنيادي طور تي 8).

اي

پاسپورٽ متحرڪ

جڏهن متحرڪ طور تي منسلڪ ڪندڙ قابل بڻائڻ ٺاهڻ، سڀني نشانين کي متحرڪ علامت جي جدول ۾ شامل ڪندا. متحرڪ علامت جدول جي علامتن جو سيٽ آهي جيڪو هلندڙ وقت تي متحرڪ شين مان نظر اچن ٿيون.

جيڪڏهن توهان هن اختيار کي استعمال نٿا ڪيو، متحرڪ علامت جي ٽيبل تي عام طور تي رڳو انهن علامتن تي مشتمل هوندي جنهن ۾ لنڪ ۾ ذڪر ڪيل ڪجهه متحرڪ اعتراض جو حوالو ڏنل آهي.

جيڪڏهن توهان متحرڪ اعتراض کي لوڊ ڪرڻ لاء "ڊلوپن" استعمال ڪندا آهيو جيڪو پروگرام ذريعي بيان ڪيل نشانين کي واپس ڏيڻ جي ضرورت آهي، بلڪه ٻين ٻئي متحرڪ اعتراض کان سواء، انهي پروگرام کي پاڻ ۾ ڳنڍڻ وقت، توهان کي شايد هن استعمال کي استعمال ڪرڻ جي ضرورت پوندي.

توهان پڻ هن نسخي واري اسڪرپٽ کي استعمال ڪرڻ لاء استعمال ڪري سگهو ٿا ته ڇا نشانين کي متحرڪ علامت جي جدول ۾ شامل ڪيو وڃي ٿو. تفصيل سان ڏسو - ويڪرائيڊ اسڪرپٽ @ رجوع {VERSION} ۾.

-EB

لنڪ وڏن جي آرٽيڪل. اهو اڳوڻي ڊيٽابيس فارميٽ تي اثر انداز ڪري ٿو.

-يل

لنڪ ٿوري ايڏوڙي شين جوڙيو. اهو اڳوڻي ڊيٽابيس فارميٽ تي اثر انداز ڪري ٿو.

-f

ويجهڙائي جو نالو

جڏهن ELF شيئر ٺاهي اعتراض ٺاهي، اندروني DT_AUXILIARY فيلڊ کي مخصوص نالو مقرر ڪريو. اهو هڪ متحرڪ ڪنيڪٽر ٻڌائي ٿو جيڪو گڏيل شئي واري علامت ميز کي شئي اعتراض شئي جي نالي جي جدول تي معاون فلٽر طور استعمال ڪيو وڃي.

جيڪڏهن توهان هن فلٽر اعتراض جي خلاف هڪ پروگرام سان ڳنڍيل آهيو، پوء جڏهن توهان پروگرام کي هلائيندا آهيو، متحرڪ ڪڙيڊر DT_AUXILIARY فيلڊ ڏسڻ ايندي. جيڪڏهن متحرڪ ڳنڍيندڙ فلٽر اعتراض کان ڪنهن به علامن کي حل ڪري ٿو، اهو پهريون ڀيرو پڙهي سگهندو ته ڇا ڪنهن شئي واري شئي جو نالو ۾ معياري آهي. جيڪڏهن هڪ آهي، اهو فلٽر اعتراض ۾ وضاحت جي بدران استعمال ڪيو ويندو. گڏيل اعتراض جو نالو لازمي نه آھي. اهڙيء طرح گڏيل شئي جو نالو نالو شايد ڪجهه ڪارڪردگي جي متبادل عمل جي لاء، شايد ڊبلنگ يا مشين مخصوص ڪارڪردگي لاء.

هي اختيار هڪ ڀيرو کان وڌيڪ بيان ڪئي وئي آهي. DT_AUXILIARY انسٽاليشن انهي ترتيب ۾ پيدا ڪئي ويندي جنهن ۾ اهي حڪم واري لائن تي ظاهر ٿيندا آهن.

ايف جي نالي

خط جو نالو

جڏهن ELF شيئر ٺاهڻ واري اعتراض کي ٺاهيو، اندروني DT_FILTER فيلڊ کي مخصوص نالو مقرر ڪريو. اهو هڪ متحرڪ لنڪيندڙ ٻڌائي ٿو جيڪو مشترڪ شئي جو ٺهيل جدول جو ٺهيل آهي انهي کي استعمال ڪيل اعتراض جي نالي جي جدول تي فلٽر طور استعمال ڪيو وڃي.

جيڪڏهن توهان هن فلٽر اعتراض جي خلاف هڪ پروگرام سان ڳنڍيل آهيو، پوء جڏهن توهان پروگرام کي هلائيندا آهيو، متحرڪ ڪڙيڊر DT_FILTER فيلڊ ڏسڻ ايندي. متحرڪ لنڪر هميشه عام طور تي فلٽر اعتراض جي علامت جدول جي مطابق علامات کي حل ڪندو، پر اهو اصل ۾ مشترڪ اعتراض نام ۾ مليو جي معنائون سان ڳنڍيل هوندو. اهڙيء طرح فلٽر اعتراض اعتراض جي نالي سان مهيا ڪيل علامت جي سبسٽ کي چونڊڻ لاء استعمال ڪري سگهجي ٿو.

ڪجهه پراڻن لنڪرز ايف اي ايف کي استعمال ڪيو پيو وڃي، مجموعي طور تي انٽيليشن ۽ آئوٽ اعتراض فائلن لاء اعتراض-فائل فارمائيٽ جي وضاحت ڪرڻ لاء. GNU لنڪر هن مقصد لاء ٻين ميڪانيزم کي استعمال ڪري ٿو: -b ، -format ، --oformat اختيارن، "TARGET" جوڙي لنڪر اسڪرپٽ ۾، ۽ "GNUTARGET" ماحولياتي متحرڪ. GNU لنڪر کي ايف اي اختيار کي نظر انداز نه ڪندي جڏهن ELF شيئر اعتراض ٺاهي نه سگهندي.

-فيني نالو

جڏھن ايل ايف عملدار يا قابل اعتراض اعتراض ٺاھيو، NAME کي جڏھن قابل اطلاق يا ونڊوز اعتراض غير فعال ٿي ويو آھي، ڊي جي ٺاھ جوڙ DT_FINI فنڪشن جو پتو. ڊفالٽ طرفان، لنڪر "فائيل" کي فنڪشن جي طور تي استعمال ڪري ٿو.

وندر. ٻين اوزار سان مطابقت حاصل ڪيل.

جی جي قيمت

--gpsize = قيمت

GP جي رجسٽريشن جي ماپ کي استعمال ڪرڻ ۾ وڌيڪ شين جي شڪل مقرر ڪريو. اهو صرف اعتراض فائل فائلون جهڙوڪ MIPS ECOFF ۾ آهي جيڪو مختلف ۽ ننڍن شين کي مختلف حصن ۾ رکڻ ۾ مدد ڏئي ٿو. اهو ٻين اعتراض فائل جي شڪل لاء نظرانداز ڪيو ويو آهي.

نالو

-سنام = نالو

جڏهن ELF شيئر ٺاهي اعتراض ٺاهي، داخلي DT_SONAME فيلڊ کي مخصوص نالو مقرر ڪريو. جڏهن هڪ قابل عمل قابل حصيداري اعتراض سان ڳنڍيل آهي جنهن کي DT_SONAME فيلڊ هوندو آهي، پوء جڏهن فنڪشنل کي هلائي رهي آهي متحرڪ ڪڙير کي به ڳنڍيندڙ شيئر کي DT_SONAME فيلڊ جي طرفان ڏنل لنڊ نالي واري فائيل نالي کي استعمال ڪرڻ جي ڪوشش ڪندي.

-i

ھڪ وڌندڙ لنڪ انجام ڏيو (اختياري طور تي -r ).

رستو نام

جڏھن ايل ايف عملدار يا قابل اعتراض اعتراض ٺاھڻ تي، NAME کي جڏھن قابل اطلاق يا ونڊل اعتراض لوڊ ڪيو ويو آھي، سيٽنگ جي پتو کي DT_INIT سيٽ ڪندي. ڊفالٽ طرفان، لنڪر "فنڪشن ڪال" جي طور تي "_init" استعمال ڪري ٿو.

-يل آرٽيڪل

.library = آرٽيڪل

آرڪائيو فائل فائلون فائلن جي لسٽ ۾ لنڪ کي شامل ڪريو. ھي اختيار ڪنھن وقت جو استعمال ڪري سگھي ٿو. ld هر آرڪائشي لاء "libarchive.a" جي واقعن جي لاء ان جي رستي جي لسٽ ڳولهيندي.

اهي سسٽم جيڪي شيئر لائبريري جي حمايت ڪن ٿيون، ld شايد ".a" کان سواء ٻئي داڻا سان گڏ لائبريرين جي ڳولا ڪري سگھن ٿيون. خاص طور تي، ELF ۽ SunOS سسٽم تي، LD لائبريري لاء ھڪ ڊائريڪٽري ڳولھيو ويندو. "Aa" جي واڌ سان گڏ ڳولڻ کان پھريان ".so" جي واڌ جي واڌ سان. ڪنوينشن ذريعي، ".so" جي واڌاري سان هڪ گڏيل لائبريري ظاهر ڪري ٿي.

لنڪ جي جڳهه تي هڪ آرڪائيو صرف هڪ ڀيرو ڳولهيندو، جتي اهو حڪم واري هنڌ تي ڏنل آهي. جيڪڏهن آرٽيڪل هڪ علامت کي واضع ڪري ٿو جيڪو ڪجهه اعتراض ۾ ظاهر ڪيو ويو آهي جيڪو ڪنڊ لائن تي آرٽيڪل کان اڳ ظاهر ٿيو هو، لنڪ ۾ آرٽيڪل کان مناسب فائل شامل ڪندو. بهرحال، هڪ اعتراض ۾ اڻ وڻندڙ ​​علامت جيڪو حڪم جي لائين تي دير سان ظاهر ٿيندو اهو آرڪٽري کي ڳولڻ لاء ڳنڍيندڙ نه ٿيندو.

ڏسو - ( اختياري طريقي سان آرٽيڪل کي ڳولڻ لاء لنڪر کي مجبور ڪرڻ جو طريقو آهي.

توهان ساڳئي آرٽيڪل ڪيترن ئي دفن کي حڪم لائن تي لسٽ ڪري سگهو ٿا.

هن قسم جو آرٽيڪل ڳولڻ يونڪس جي لنڪرز لاء معيار آهي. بهرحال، جيڪڏهن توهان LA تي AIX استعمال ڪري رهيا آهيو، نوٽ ڪريو ته اهو AIX لنڪر جي رويي کان مختلف آهي.

ايل ايل ڳولها

ايل ايل جي رستي جو رستو ڳولڻ

رستي جي لسٽ ۾ رستو ڳولها شامل ڪريو جيڪا LD آرشيف لائبريري ۽ LD ڪنٽرول سکرٽس جي ڳولا ڪندو. توھان ڪجھھ ڀيرا ھن اختيار کي استعمال ڪري سگھو ٿا. ڊائريڪٽريشنز انهي جي ڳولا ۾ آهن جن ۾ اهي حڪم ڏنل لائن تي ڏنل آهن. ڊائريڪٽريٽ ۾ ڏنل حڪم واري لائن واري ڊفالٽ ڊائريڪٽرن کان اڳ ڳولها آهن. All -L اختيارن سڀني اختيارن تي لاڳو ٿئي ٿي، انهن جي ترتيب کان سواء انهن اختيارن ۾ ويهڻ جو.

جيڪڏهن ڳولا جي شروعات "=" سان ٿيندي آهي، انهي کان پوء "=" سسروٽ پريفڪس جي طرفان تبديل ڪيو ويندو، جيڪو لنڪر ترتيب ڏنل آهي جڏهن مخصوص بيان ٿيل آهي.

رستون جو ڊفالٽ سيٽ ڳولها (اڻ ڄاڻايل -ايل سان بغير ڄاڻايل آهي) تي منحصر هوندو آهي جنهن تي جذباتي طريقي سان استعمال ڪيو ويندو آهي، ۽ ڪجهه حالتن ۾ پڻ اهو ڪيئن ترتيب ڏني وئي هئي.

رستن کي لنڪ اسڪرپٽ ۾ "SEARCH_DIR" حڪم سان پڻ متعين ڪري سگهجي ٿو. ڊائريڪٽريٽ هن طرح انداز سان ڳولي رهيا آهن جن ۾ لنڪر لپي واري حڪم جي لائن ۾ ظاهر ٿئي ٿي.

ايم

جذباتي لنڪر کي جذب ڪريو . توهان --وربس يا -V اختيارن سان دستياب ڪيل دستيابين کي فهرست ڪري سگھو ٿا.

جيڪڏهن ايم اي اختيار استعمال نه ڪئي وئي آهي، ته اهو ٺاهيل "لمموليشن" ماحول جي ڪيفيت مان ورتو ويو آهي، جيڪڏهن اهو وضاحت ڪيو ويو آهي.

ٻي صورت ۾، ڊفالٽ ايجاد تي منحصر آهي ته ڪڙي ترتيب ترتيب ڏني وئي هئي.

ايم

ٽپال جو نقشو

ھڪڙو پيٽ نقشي کي معياري ٻاھر ڏانھن ڇپايو. ڪڙي جو نقشو لنڪ جي باري ۾ معلومات مهيا ڪري ٿي، جنهن ۾ هيٺيان شامل آهن:

*

ڪٿي ڪٿي فائلون ۽ علامت اعتراض جي حافظي ۾ نقشو آھن.

*

ڪيترا عام علامتون مختص ڪيا ويا آهن.

*

سڀني آرٽيڪل ميمبرن ۾ لنڪ شامل آهن، انهن جي علامت سان ذڪر ڪيو ويو آهي جنهن جي نتيجي ۾ آرٽيڪل ميمبر ڪتب آندو وڃي.

-n

ڦٽي

اگر ممڪن هجي ته سيڪشن جي صفحي جي قطار کي بند ڪريو، ۽ ٻاھر ڪڍو "NMAGIC" جي طور تي.

اين

سونام

درسي ۽ ڊيٽا حصن کي پڙھندا ۽ قابل تحرڪ مقرر ڪريو. انهي سان گڏ، ڊيٽا جي ڀاڱي کي صفا نه ڏيکاريندا آهن، ۽ گڏيل لائبريرين جي لنڪ کي غير فعال ڪرڻ. اگر ٻاڪس پيٽ فارميٽ يونڪس انداز جي جادو انگن کي مدد ڪندي، ٻاھر کي پوائنٽ "OMAGIC" طور نشان لڳايو.

--no-omagic

هي اختيار -اين اختيارن جي گهڻن اثرن کي رد ڪري ٿو. اهو صرف متن پڙهي سگهجي ٿو صرف پڙهي سگهجي ٿو، ۽ ڊيٽا جي ڀاڱي کي سيڪنڊ ۾ لڳائي سگھندو آهي. نوٽ - هي اختيار حصيداري لائبريرين جي ڪڙي سان ڳنڍڻ نٿو ڏئي. استعمال ڪريو. ھن لاء.

محصول

- آؤٹپي = ٻاھر

پي ايل ايل طرفان تيار ڪيل پروگرام لاء نالو استعمال ڪريو. جيڪڏهن هي اختيار بيان نه ڪيو ويو آهي، نالو a.out ڊفالٽ ذريعي استعمال ٿئي ٿو. اسڪرپٽ حڪم "OUTPUT" پڻ ٻاھرين فائل جو نالو ڄاڻائي سگھي ٿو.

ايڇ جي سطح

جيڪڏهن سطح صفن جي ڀيٽ ۾ هڪ عددي قيمت کان ٻاڦ پيدا ڪري ٿي. اهو شايد گهڻو ڪري وٺندو آهي ۽ تنهنڪري شايد حتمي بائنري لاء صرف فعال ٿي وڃي.

ايمٽيڪل ريڪارڊ

مڪمل طور تي ڳنڍيل exececutables ۾ لڏپلاڻ وارا حصا ۽ مواد ڇڏي ڏيو. پوسٽ جي تجزيي ۽ اصلاح واري اوزار، پوسٽن جي صحيح ترميمن کي ڏيڻ لاء هن معلومات جي ضرورت هجي. هي نتيجا وڏن عملدارن ۾.

هي اختيار هن وقت ELF پليٽ فارم تي صرف حمايت ڪئي آهي.

ري

ويندڙ

ريڪوٽوٽبل ٻاھر پيدا ڪريو --- يعني، ھڪڙو ٻااني فائل ٺاھي سگھي ٿو جيڪو موڙ ۾ ڪري سگھي ٿو ان ڪري ان پھ جي طور تي خدمت ڪري ٿو. اهو اڪثر طور تي جزوي سلسلي سان ڳنڍيل آهي . ھڪ طرفي اثر جي طور تي، ماحول ۾ جيڪي يونيڪڪس يونڪس جي جادو نمبرن کي سپورٽ ڪن ٿا، ھي اختيار پڻ "OMAGIC" کي انٽرفيس فائل جي جادو نمبر کي مقرر ڪري ٿو. جيڪڏهن هي اختيار بيان نه ڪيو ويو آهي، هڪ مطلق فائل پيدا ڪئي آهي. جڏهن C ++ پروگرامن سان ڳنڍيندي، هن اختيار کي تعمير ڪندڙن جي حوالن کي حل نه ڪندي . ڪرڻ لاء، استعمال ڪرڻ وارا آهن .

جڏهن هڪ انسٽاليشن فائل ۾ ساڳي فارميٽ فارميٽ فائيل طور تي ناهي، جزوي لنڪنگ صرف ان صورت ۾ آهي جڏهن ته انسٽال فائل ۾ ڪوبه نقل نه آهي. مختلف فارميٽ فارميٽ ۾ وڌيڪ پابنديون هونديون آهن؛ مثال طور ڪجهه "a.out" -based فارمينٽس سڀني شڪلن ۾ ان پٽ فائلن سان جزوي لنڪنگ جي حمايت نه ڪندا آهن.

هي اختيار ساڳئي شيء وانگر آهي.

آر ايل جو نالو

- صحيح-علامت = نامناسب

علامه ۽ انهن جي ايڊريس کي فائيل نالي مان علامه پڙهو، پر ان کي نقل نه ڪريو يا ان کي ٻاولي ۾ شامل ڪريو. هي توهان جي ٻاولي فائل کي علامتي طور تي رجوع ڪرڻ جي اجازت ڏئي ٿي ته ٻين پروگرامن ۾ بيان ڪيل ياداشتن جي جاء کي مطلق ڪرڻ لاء. توهان هڪ دفعو کان وڌيڪ هن اختيار کي استعمال ڪري سگهو ٿا.

ٻين ELF لنڪرن سان مطابقت حاصل ڪرڻ لاء، جيڪڏهن آر-اي اختيار جو هڪ فائيل نالي جي بدران ڊائريڪٽري جي نالي پٺيان هوندو، اهو رڙ اختيار اختيار ڪيو ويندو آهي.

سي

سڀ جوڙ

ٻاھرين فائل مان سڀني علامن جي معلومات کي ختم ڪريو.

سي

اسسٽنٽ ڊيبگ

ٻاڪس واري فائيل کان ڊيگرگر جي نشاني جي معلومات (پر سڀئي علامات نه) ختم ڪريو.

ٽ

ڪشادو

ان پٽ کي فائلن جا نالا پرنٽ ڪريو جيئن لڇ ان کي عمل ڪن.

ٽي ٽي اسپيڊ فائيل

اسڪرپٽ = اسڪرپٽ

ڪچهري اسڪرپٽ وانگر اسڪرپٽ فائيل استعمال ڪريو. هي رسم الخط LD جي ڊڪٽي لسٽر اسڪرپٽ کي تبديل ڪري ٿو (ان کي شامل ڪرڻ کان سواء)، انهي ڪنڊ فائيل کي ٻاولي فائل جي وضاحت ڪرڻ لاء هر شيء کي واضع ڪرڻ گهرجي. جيڪڏهن رسم الخط موجوده ڊائريڪٽري ۾ موجود ناهي، "ايل ڊي" ان جي اڳوڻي -ايل اختيارن پاران ڏنل ڊائريڪٽرن ۾ ان لاء ڏسڻ لڳندي آهي. گھڻن اختيارن جا اختيار

علامت

سھولتيل = علامت

ھڪڙي ظاھر ٿيل علامت جي طور تي ظاھر واري فائل ۾ قوت داخل ٿيڻ جي قوت آھي. اهو ٿي سگهي ٿو، مثال طور، معياري لائبريري مان اضافي ماڊل جي ڳنڍڻ کي. -u کي بار بار مختلف اختيارن سان بار بار ٿي سگهي ٿو جيڪي اضافي غير ترتيب وارا نشان داخل ڪرڻ لاء. هي اختيار "EXTERN" سان لنڪر اسڪرپٽ حڪم جي برابر آهي.

-اڙ

سي ++ پروگرامن کان سواء ٻيو ڪجهه به لاء، هي اختيار آر- برابر جي برابر آهي: اهو ريڪوٽوٽبل ٻاڦ پيدا ڪري ٿو. يعني يعني هڪ ٻاڪس فائيل جيڪو موڙ ۾ آڻي سگھي ٿو ان ۾ ان پٽ جي طور تي. جڏهن C ++ پروگرامن سان ڳنڍيندي آهي، -اڙي رينجرز جي حوالن کي حل ڪري ٿو ، جهڙوڪ -r . اهو استعمال ڪرڻ جي ڪم نه ڪندو آهي- اهي فائلون جيڪي پاڻ سان ڳنڍيل هيون اهي آهن. هڪ دفعو ٺاهڻ واري ٽيبل جي تعمير ڪئي وئي، ان ۾ شامل نه ٿي ڪري سگھجي. استعمال ڪريو- صرف آخري جزوي لنڪ لاء، ۽ ٻين لاء.

--ونڪ [= SECTION ]

هر ان پٽي سيڪشن جي نموني SECTION لاء هڪ الڳ انٽرويو سيڪشن ٺاهيو ، يا هر يتيم ان پٽ جي حصي لاء، اختياري وائلڊ ڪارڊ SECTION دليل غائب آهي. هڪ يتيم سيڪشن هڪ خاص طور تي لنڪر لپي ۾ موجود نه آهي. توهان هن اختيار کي ڪيترائي دفعا حڪم واري لائن تي استعمال ڪري سگهو ٿا. اهو عام طور تي انٽيشن جي عام حصن کي بند ڪري ٿو ساڳي نالي سان، ٻاڪرڪ اسڪرپٽ ۾ ٻاڦ واري سيڪشن تفسير مٿان اوٽ ڪري رهيو آهي.

-v

وڇڻ

-وي

نسخن لاء ڊائون لوڊ ڪريو. AV اختيارن کي معاونت جي تقاضا پڻ ٻڌائي ٿي.

-x

سڀ کان وڏو

سڀ مقامي علامتون ختم ڪريو.

-X

ڪاوڙيندڙ-مقامي

سڀ عارضي مقامي علامت ختم ڪريو. گهڻو مقصد لاء، هي سڀني سمورن علامي نشانين آهي جن جا نالا آيل سان شروع ٿين ٿا.

اوڪي علامت

اچار جي علامت = علامت

هر ڳنڍيل فائيل جو نالو پرنٽ ڪريو جنھن ۾ نشان ظاهر ٿئي ٿو. هي اختيار شايد ڪڏهن ڀيرا ڏنو ويندو. ڪيترن ئي سسٽم تي ضروري آهي ته ان کي اڻ وڻندڙ ​​پيش ڪرڻو پوندو.

هي اختيار مفيد آهي جڏهن توهان پنهنجي لنڪ ۾ اڻڄاتل علامت آهي پر ڄاڻ نه آهي ته ريفرنس مان اچي رهيو آهي.

ايائي رستو

ڊفالٽ لائبريري ڳولا واري رستي تي رستو شامل ڪريو. هي اختيار شمسيس مطابقت لاء آهي.

-ز جا لفظ

تسليم ٿيل لفظ "initfirst"، "انٽرويو"، "loadfltr"، "nodefaultlib"، "nodelete"، "nodlopen"، "nodump"، "now"، "origin"، "combreloc"، "nocombreloc" and "nocopyreloc" ". ٻين لفظن کي شمسيس مطابقت لاء نظر انداز ڪيو ويو آهي. "initfirst" شين کي ابتدائي طور تي ڪنهن ٻئي شيون کان پهرين تي هلڻو پوندو. "نقطي جو اعتراض اهو آهي ته ان جي علامت جدول سڀني سمجهه کان اڳ ۾ رڪاوٽ آهي. پرائمري عملدار." loadfltr "اعتراض اهو آهي ته ان جي شڪل کي فوري طور تي هلائي ڇڏيندي آهي." nodefaultlib "اهو اعتراض آهي ته اها اعتراض انهي شئي جي انحصار کي نظرانداز ڪندو. ڪوبہ ڊفالٽ لائبريري ڳولا جا رستو. "nodelete" نشان ھڻڻ واري وقت تي ختم نه ٿي ڪري سگھجي. "nodlopen" نشان ھڻڻ لاء "ڊليپ" کي دستياب ناھي. "nodump" لفظ کي اعتراض "dldump" ذريعي ڊمپ نه ٿو ڪري سگھجي. "هاڻ" اعتراض ان اعتراض کي غير لسي واري رنٽ سان پابند ڪندو. "اصل" نشانن جي جڳھ تي $ ORIGIN تي مشتمل هوندو. "محس" ناپسند ٿيل علامتن کي ناپسند ڪري ٿو. "گڏيل ڀاڱو" ڪيترن ئي ريڪارڊ حصن کي گڏ ڪري ٿو ۽ ان کي ممڪن بڻائي سگڻ ممڪن بڻائڻ ممڪن آهي ته ممڪن هجي.

"nocombreloc" سان لاڳاپيل ڪيترن ئي ريڪو سيڪشن کي بند ڪري ٿو. "nocopyreloc" ڪاپي ريڪارڊ جي پيداوار کي ناھي.

- ( آرڪائيوز )

اسسٽنٽ گروپ آرڪائيوز -جوٽ ٽيم

آرڪائيو آرشيف فائلن جي هڪ فهرست هجڻ گهرجي. اهي يا ته واضع فائل جا نالا يا، يا - اختيارن جا هجن.

بيان ڪيل آرڪائيوز بار بار ڳولهايو ويندو آهي جيستائين نئين نوڪري وارو حوالو پيدا نه ڪيو وڃي. عام طور تي، آرٽيڪل رڳو هڪ ڀيرو ڳولا جي ڳولا ۾ آهي انهي کي حڪم ڪيو ويو آهي ته اها حڪم لائن تي ڏنل آهي. جيڪڏهن اڻ وڻندڙ ​​علامه ٺهيل هڪ آرٽيڪل لسٽ ۾ ڏنل آرٽيڪل لائن ۾ ظاهر ڪيل اعتراض کي حل ڪرڻ لاء انهي آرٽيڪل کي گهربل هجي، جيڪڏهن لنڪر انهي ريفرنس کي حل ڪرڻ جي قابل نه هوندا. آرڪائيو کي گڏ ڪندي، اهي سڀ ڪجهه بار بار ڳوليا ويندا آهن جيستائين سڀني ممڪن اشارو ختم ٿي وڃي.

ھن اختيار کي استعمال ڪندي ھڪڙي ڪارڪردگي جي قيمت آھي. اهو بهترين طريقو آهي اهو صرف ان وقت استعمال ٿيندو جڏهن اتان کان سواء ٻه يا وڌيڪ آرڪائيوز کان ناگزير سربلر حوالن موجود آهن.

- قبول ٿيل اڻڄاتل ان پٽ-آرٽ

-no-قبول-اڻڄاتل-ان پٽ-آرٽ

ان پني فائلن کي قبول ڪرڻ لاء لنڪر ٻڌائي ٿو جن جي فن تعمير کي تسليم نه ٿو ڪري سگھجي. فرض اهو آهي ته صارف جيڪي ڄاڻي رهيا آهن انهن ڄاڻي ٿو ۽ عمدا ان اڻڄاتل ان پٽ فائلن ۾ لنڪ ڪرڻ چاهي ٿو. اهو لنڪ جي ابتدائي طريقي سان، 2.14 ڇڏڻ کان اڳ. 2.14 ريزليٽ کان ڊفالٽ رويي اڳوڻي رويي کي بحال ڪرڻ لاء اهڙي طرح ان پٽ فائلن کي رد ڪرڻ، ۽ پوء - - قبول ٿيل اڻڄاتل-انپ-آرڪٽ اختيار شامل ڪيو ويو آهي.

-اسڪريٽ لفظ

هي اختيار سنيس مطابقت لاء نظرانداز ڪيو ويو آهي.

هلائڻ وارو

-دي

-ڪيل_شيئر

متحرڪ لائبريرين جي ڪڙي سان ڳنڍيو. اهو صرف پليٽ فارم تي آهي معني جنهن ۾ ترجمو ٿيل لائبريرين حمايت ڪئي آهي. هي اختيار عام طور تي اهڙي پليٽ فارم تي ڊفالٽ آهي. هن اختيار جي مختلف ورشن مختلف سسٽم سان مطابقت لاء آهن. توهان هن اختيار کي ڪيترا ئي ڀيرا حڪم ڪمان تي استعمال ڪري سگهو ٿا: اهو لائبريري جي ڳولا جي ڳولا ڪري ٿو. اختيارن کي ان جي پيروي ڪري.

بي بي گروپ

"DF_1_GROUP" پرچم کي "DT_FLAGS_1" داخل ڪريو متحرڪ سيڪشن ۾ داخل. هي رنٽ ٽائم لنڪر کي هن اعتراض ۾ ڏسندڙن کي سنڀالڻ ۽ ان جي انحصار کي صرف گروپ جي اندر انجام ڏيڻ لاء بنائي ٿو. --no اڻ کليل آهي هي اختيار صرف ELF پليٽ فارمن تي معنى آهي جيڪا شيئر لائبريري جي سهولت رکن ٿا .

ڄاڻايل

سي

-non_shared

غائب

حصيداري لائبريري جي خلاف ڪڙي نه ڪريو. اهو صرف پليٽ فارم تي آهي معني جنهن ۾ ترجمو ٿيل لائبريرين حمايت ڪئي آهي. هن اختيار جي مختلف ورشن مختلف سسٽم سان مطابقت لاء آهن. توهان هن اختيار کي ڪيترا ئي ڀيرا حڪم ڪمان تي استعمال ڪري سگهو ٿا: اهو لائبريري جي ڳولا جي ڳولا ڪري ٿو. اختيارن کي ان جي پيروي ڪري.

بيسڪوليڪ

جڏهن هڪ گڏيل لائبريري ٺاهڻ تڏهن، عالمي علامتن جي حوالي سان ڳنڍيل لائبريري ۾، جيڪڏهن ڪنهن جي وضاحت جي پابند ڪن. عام طور تي، اهو ممڪن آهي ته هڪ پروگرام هڪ گڏيل لائبريري جي خلاف منسلڪ ٿيل لائبريري جي اندر وضاحت کي رد ڪرڻ لاء ڳنڍيل آهي. هي اختيار صرف ELF پليٽمنٽس تي معنى آهي جيڪا شيئر لائبريري کي سپورٽ ڪندي.

. چڪاس جا حصا

- آفيس جا نشان

لنڪر کي ڍڪڻ جي طور تي سيڪشن پتي جي چڪاس نه ڪرڻ کان پوء انهن کي ڏسڻ ۾ اچي چڪو آهي جيڪڏهن ڪو به ختم ٿي ويندو آهي. عام طور تي لنڪر هن چڪاس کي انجام ڏيندو، ۽ جيڪڏهن اهو ڪنهن به اوپلوپ ملندو ته اهو مناسب غلطي پيغام پهچندو. لنڪر جي باري ۾ ڄاڻ آهي، ۽ سيڪشن لاء اوزليس ۾ اجازت ڏيندو آهي. ڪمانڊ واري رويي کي استعمال ڪري سگهجي ٿو آرڊيڪل لائن سوئچ استعمال ڪندي بحال ڪري ٿو - چيڪ سيڪشن .

- سيف

ھڪ ڪراس جي حوالي سان جدول. جيڪڏهن هڪ لنڪ نقشي جو نقشو ٺاهيل آهي، ڪراس ريفرنس جي جدول نقشي جي فائل ڏانهن ڇپيل آهي. ٻي صورت ۾، اهو معياري محصول تي ڇپيل آهي.

ٽيبل جي تقاضا ڄاڻڻ سان آسان آهي، تنهنڪري جيڪڏهن ضروري هجي ته هن کي سکرٽ سان آسانيء سان عمل ڪيو وڃي. علامتن کي ڇڪايو ويو آهي، نالو سان ترتيب ڏنل هر علامت لاء، فائيل نالا جي هڪ فهرست ڏنل آهي. جيڪڏهن علامت بيان ڪئي وئي آهي، ته پهريون فائيل فهرست ڏنل تعريف جي جڳهه آهي. باقي فائلون علامت جي حوالي سان مشتمل آهن.

--no-define-common

هي اختيار عام پڪن جي پتي جي تفويض کي منع ڪري ٿو. اسڪرپٽ حڪم "INHIBIT_COMMON_ALLOCATION" ساڳيو اثر ڪيو.

--no-define-عام اختيار جي ٻاائيگي مان فائل جي چونڊ مان عام علامتن جي پابندي کي فيصلي جو فيصلو ڪرڻ جي اجازت ڏئي ٿو. ٻي صورت ۾ هڪ غير رسيدليبل ٻاڦ جو قسم قوتن کي عام علامتن جي پتي تي تفويض ڪري ٿو. استعمال ڪندي - عام-بيان-عام طور تي عام علامتن جي اجازت ڏئي ٿو جيڪو هڪ گڏيل لائبريري مان حوالي ڪيو ويو آهي انهن کي صرف انهن مکيه پروگرام ۾ پتو لڳايو ويو آهي. اهو غير استعمال ٿيل ورجايل اسپيل کي حصيداري لائبريري ۾ ختم ڪري ٿو، ۽ غلط نقل واري حل کي به ممڪن آهي ته ڪنهن به ممڪن طريقا روڪيو وڃي جڏهن خاص طور تي تلاش جي رستا سان گڏ متحرڪ ماڊل شامل آهن.

--defsym علامت = اظهار

انعامن جي فائيل ۾ هڪ گلوبل علامت ٺاهيو، جيڪو بيان طرفان مطلق ايڊريس شامل آهي. توهان شايد هي اختيار ڪيترا ئي ڀيرا استعمال ڪري سگهجن جيئن ڪنڊ لائن ۾ ڪيترن ئي علامتن کي بيان ڪرڻ لاء. رياضي جي هڪ محدود روپ هن مقصدن جي لاء حمايت ڪئي آهي: توهان هن کي هيڪاڊيڪايمل مسلسل يا موجوده عڪس جو نالو ڏئي، يا هيڪساديڪل ٻوٽين يا علامت کي شامل ڪرڻ يا جمع ڪرڻ لاء "+" ۽ "-" استعمال ڪري سگهو ٿا. جيڪڏھن توھان وڌيڪ تفصيلات جي ضرورت پوندي، ھڪڙي لکيت مان لنڪر ڪمان ٻولي استعمال ڪرڻ تي غور ڪريو. نوٽ: ان جي وچ ۾ ڪوبه سفيد خلا نه هجڻ گهرجي، برابر مساوات (`` = '')، ۽ اظهار .

--demangle [= طرز ]

--no-demangle

انهن اختيارن کي قابو ڪرڻ جي تائيد ڪن ٿو ته غلط پيغامن ۽ ٻين پيٽن ۾ نالن جي نالن. جڏهن اهو لنڪ ڊيمنگ ڏانهن ٻڌايو ويندو آهي، اهو هڪ قابل پڙهيل نام ۾ علامات جا نالا پيش ڪرڻ جي ڪوشش ڪندو: اهو اعتراض، यदि उनि वस्तु फाइल ढाँचा द्वारा प्रयोग गरिन्छ भने पूर्वनिर्धारितहरूको स्ट्रिप गर्दछ، र C ++ असंगत प्रतीक नामहरूलाई प्रयोगकर्ता पढ्न योग्य नामहरूमा कनवर्ट गर्दछ. مختلف قسم جا مختلف نمونا مختلف انداز ۾ آهن. اختياري ڊيمنگنگ طرز اسلوب دليل کي توهان جي گڏ ڪرڻ لاء مناسب ڊيمنگنگ طرز چونڊڻ لاء استعمال ٿي سگهي ٿو. ڳنڍيندڙ ڊفالٽ جي ڊيمن کي رد ڪندي جيستائين ماحول جي تبديلي کان سواء COLLECT_NO_DEMANGLE مقرر ٿيل آهي. اهي اختيارات ڊفالٽ کي مٿي ڪرڻ لاء استعمال ڪري سگهجن ٿيون.

--dynamic-linker file

متحرڪ ڳنڍيندڙ جو نالو مقرر ڪريو. هي رڳو معني وارو آهي جڏهن متحرڪ طور تي ڳنڍيل اي ايل ايف ايگزيڪليبلبل ٺاهڻ. ڊفالٽ متحرڪ ڳنڍيندڙ عام طور تي صحيح آهي؛ انهي کي استعمال نه ڪريو جيستائين جيستائين توهان ڪم ڪري رهيا آهيو.

ڀريل ريڪارڊ

هي اختيار صرف معقول آهي جڏهن MIPS سان ڳنڍيل پيڪ ايڪسڊڊ کي شامل ڪيو ويو آهي، جيڪا ٺاهيل ٿيل-پي اين آر جي گڏوگڏ ۽ گڏوگڏ کي فوٽو اختيار سان ٺاهي وئي. اهو لنڪ ٺاهي ٿو ٽيبل ٺاهڻ لاء جيڪو ڪنهن به ڊيٽا کي منتقل ڪرڻ لاء رنٽ ٽائم تي استعمال ڪيو وڃي ٿو جيڪا جامد طور تي ڪنٽرولن کي پرنٽر ڪرڻ جي شروعات ڪئي وئي هئي. تفصيل لاء تجربو / ld-empic ۾ ڪوڊ ڏسو.

وڇايل انتباہ

سڀ ڊيڄاريندڙ کي غلطي جي حيثيت ڏيو .

گهمڻ-ٻاٻيٽ

پڪ ڪريو ته ھڪڙو ٻاڪس فائل آھي .exe suffix.

جيڪڏھن ڪاميابيء سان مڪمل طور ڳنڍيل ڳنڍيل بزنس ٺاھيو ويو ڪونھي ". exe " يا " .dll " suffix ڪونھي ، ھي اختيار کي لنٽر کي ٻاھر ڪڍڻ واري فائل کي ".exe" سان گڏ ھڪڙي ھڪڙي کي نقل ڪرڻ لاء فورسز کي طاقت ڏئي ٿو. هي اختيار مفيد ٿيندو جڏهن غير موڊيد ٿيل يونڪس استعمال ڪندي Microsoft Windows ميزبان تي ٺاهيل آهي ، ڇاڪاڻ ته ونڊوز جي ڪجهه نسخن کي هڪ تصوير هلائي نه سگھندي جيستائين اهو ".exe" ڪافي ۾ ختم نه ٿيندو.

--no-gc سيڪشن

.gg سيڪشن

ناپسنديده ان پٽ حصن جي گودام گڏ ڪرڻ ۾ مدد ڪريو. اهو انهن تي نظر انداز ڪيو ويو آهي جيڪي هن اختيار کي سهڪار نه ڏيندا آهن. هي اختيار آر آر سان مطابقت ناهي، ۽ نه ئي اهو متحرڪ ڪڙي سان استعمال ڪرڻ گهرجي. ڊيموڪريڪ رويي (هن ردن جي جمع ڪرڻ جي ڪارڪردگي نه) جي وضاحت ڪندي بحال ڪري سگهجي ٿو --no-gc-sections کي حڪم لائن تي.

ھيل

معياري آئوٽ ۽ ٻاهر نڪرڻ تي حڪم-لڪيل اختيارن جو هڪ خلاصا ڇپايو.

رستو. مدد

معياري محصول تي تمام حدف ٿيل مخصوص اختيارن جو هڪ خلاصو ڇپايو ۽ نڪرڻ.

نقشي جو نقشو

فائل نقشي جي شڪل ۾ لنڪ نقشي کي ڇپايو . اي ايم اختيار جو تفصيل ڏسو.

- ڪونهي ڇڏيو هلو

عام طور تي عام طور تي ميموري ميموري جي استعمال جي رفتار کي استعمال ڪرڻ جي رفتار ۾ ان پٽ فائلن جي ميز جي ترتيب ۾ واڌارو ڪري ٿو. هي اختيار ليڊ کي ٻڌائي ٿو ته بدران ياداشت جي جدول کي ترتيب ڏيڻ جي بدران ياداشت جي استعمال لاء اصلاح. اهو شايد گهربل هجي جيڪڏهن لڊ ميموري جي جاء تي هلندو هجي جڏهن وڏي اعلى سان ڳنڍيل هجي.

نه

-اڪ دفاع

عام طور تي هڪ غير علامتي ٿيل لائبريري تيار ڪرڻ جڏهن، اڻ نمايان علامات اجازت ڏني وينديون آهن ۽ بائيڪاٽ کي هلائڻ واري لوڊ ٿيل طرف حل ڪيو وڃي ٿو. انهن اختيارن جهڙوڪ اڻ وڻندڙ ​​علامات کي ناپسند ڪن ٿا.

گهڻائي گهڻائي جي چڪاس

-ڳ وڌائين

عام طور تي جڏهن هڪ علامت ڪيترا ڀيرا بيان ڪيو ويو آهي، اهو لنڪ هڪ موذي غلطي جي رپورٽ ڪندو. هنن اختيارن کي ڪيترن ئي معنائون ڏنيون آهن ۽ پهرين معياري استعمال ڪئي ويندي.

رستو ڏيکارڻ وارو

حصيداري شيون ۾ تبديل ٿيل علامتن جي اجازت ڏيو جيتوڻيڪ جڏهن به - اڻ اڻ سڌريل نه آهي. خالص نتيجو اهو ٿيندو ته باقاعده اعتراضن ۾ اڻڄاتل علامات اڃا تائين غلطي پيدا ڪندو، پر گڏيل شيون ۾ اڻڄاتل علامتون نظرانداز ڪيا ويندا. no_undefined جي عمل جي ڀروسي کي اهو فرض بڻائي ٿو ته ٽائيم ٽڪيٽ لنڪ اڻڄاتل علامن تي چٽ ڪندو. جيتوڻيڪ اتي گهٽ ۾ گهٽ هڪ سسٽم (BeOS) آهي جتي ڪٿي ٿيل لائبريري ۾ اڻڄاتل علامات معمول آهي ڇاڪاڻ ته ڪنيلي ان وقت لوڊ وقت تي چونڊڻ لاء چونڊيندو آهي، جيڪا موجوده فن تعمير لاء گهڻو مناسب آهي. آء متحرڪ طور هڪ مناسب يادگار ڪم چونڊيو. خاص طور تي HPPA لاء غير معمولي علامتن جي لاء لائبريرين سان حصيداري ڪئي وئي آهي.

اڻ-اڻ سڌريل نسخو

عام طور تي جڏهن هڪ علامت اڻ نمونو ٿيل نسخ آهي، اهو لنڪ ان کي نظر انداز ڪندو. هي اختيار ناپسنديده ورزن سان علامت کي رد ڪري ٿو ۽ هڪ غلط غلطي جي بدران جاري ڪئي ويندي.

- نئون خبردار ٿيل

عام طور تي LD هڪ غلطي ڏيندس جيڪڏهن توهان گڏجي هڪٻئي جي فائلن سان ڳنڍڻ جي ڪوشش ڪندا آهن جيڪي ڪجهه سببن لاء مچايو آهي، شايد ڇاڪاڻ ته اهي مختلف پروسيسرس يا مختلف انٽرنيٽائيز لاء. هي اختيار ٻڌائي ٿو ته اهو ممڪن آهي ته ممڪن طور تي اهڙن غلطيون هجڻ گهرجي. هي اختيار صرف صرف خيال سان استعمال ڪيو وڃي، ڪيسن ۾ جڏهن توهان ڪجهه خاص عمل ڪيو آهي ته انهي کي يقيني بڻائي وڃي ته لنڪر غلطيون غير مناسب آهن.

- ڪام-سڄو آرٽيڪل

بعد ۾ آرڪائيو فائلن لاء جوول-آرٽيڪل اختيار جو اثر بند ڪريو.

- ناينلائٽي-عمل

جڏهن به اڃا تائين استعمال لائق آهي تڏهن عملدار آئوٽ فائيل کي برقرار ڪريو. عام طور تي، لنڪ هڪ انوائس فائل پيدا نه ڪنداسين جيڪڏهن اهو ڪڙي جي عمل دوران غلطي کي ڪٽيندو؛ هي انٽرويو فائل کي لکڻ کان بغير ويندو آهي جڏهن ته اهو ڪنهن غلطي جو مسئلو آهي.

-nostdlib

صرف سرچ لائبريري ڊائريڪٽريشنز واضح طور پر کمانڈ لائن تي وضاحت ڪئي وئي. لائبريري ڊاريڪٽري ۾ لنڪر رکندڙ اسڪرپٽ (بشمول ڪمرڊر اسڪرپٽ تي ڏنل حڪم لائن تي بيان ڪيل) نظرانداز ٿيل آهن.

آئوٽ فارٽ فارميٽ فارميٽ

ld ھڪڙي ھڪڙي اعتراض اعتراض فائل کي مدد ڏيڻ لاء ترتيب ڏني وئي آھي. جيڪڏهن توهان جي LD کي اهڙي طريقي سان ترتيب ڏني وئي آهي، ته توهان آئوٽ اعتراض فائل لاء بائنري فارميٽ کي واضع ڪرڻ لاء --oformat اختيار استعمال ڪري سگهو ٿا. جيتوڻيڪ جڏهن LD متبادل متبادل فارميٽ کي سپورٽ ڪرڻ لاء ترتيب ڏني وئي آهي، توهان عام طور تي هن کي وضاحت ڪرڻ جي ضرورت نه هوندي آهي، ڇو ته LD هر ڊيم تي هر ڊيموڪريٽ فارمڊ ڊفالٽ ڊيٽابيس جي طور تي پيدا ڪرڻ لاء ترتيب ڏيڻ گهرجي. ٻاڪس-فارميٽ هڪ ٽيڪسٽ اسٽرائڪس آهي، جيڪو بي بي ڊي لائبريري جي حمايت ٿيل هڪ خاص فارميٽ جو نالو آهي. (توهان objdump -i سان دستيابين بائنري فارمٽس کي ترتيب ڏئي سگهو ٿا) لکيت جو حڪم "OUTPUT_FORMAT" شايد انٽرويو فارميٽ جي وضاحت ڪري سگھن ٿا، پر هي اختيار هن کي ختم ڪري ڇڏيندو آهي.

ايم

هي اختيار لينڪس مطابقت لاء نظرانداز ڪيو ويو آهي.

ايم ڪيو ايم

هي اختيار SVR4 مطابقت لاء نظرانداز ڪيو ويو آهي.

اسريلڪس

مشين جي انحصار اثرات سان هڪ اختيار. ھي اختيار صرف چند ھدف تي ئي سپورٽ آھي.

ڪجهه پليٽ فارمن تي، فارلڪس اختيار عالمي آڪسائيزيشنز کي انجام ڏئي ٿي، ممڪن ٿيندو جڏهن لنڪر پروگرام ۾ خطاب ڪندي، مثلا پتو پتي جي طريقيڪار ۽ آئوٽ اعتراض فائل ۾ نئين هدايتون گڏ ڪرڻ.

پر هنن ڪجهه لنڪ فارمن تي لنڪ عالمي عالمي اصلاحات جو نتيجو قابل ناممڪن نامناسب ممڪن آهي. اهو پروسيسر جي مٽسشيتا MN10200and MN10300 خاندان جي صورت ۾ معلوم ٿئي ٿو.

پليٽ فارم تي جتي هي سهڪار نه آهي، --لڪسڪس قبول ٿيل آهي، پر نظر انداز ڪيو ويو آهي.

فرحت جو نشان، فائيل فاڪس نام

صرف فائيل فائل نام ۾ ڏنل علامات کي برقرار رکجو، ٻين سڀني کي رد ڪرڻ. نالي وارو نالو ھڪڙو فائيل فائل آھي، ھڪڙي ھڪڙي نالو جي نالي سان. هي اختيار خاص طور تي ماحول (جهڙوڪ VxWorks) ۾ مفيد آهي جتي هڪ وڏو گلوبل علامت ميز سست رفتار سان گڏ آهي، هلائڻ واري وقت ياد رکڻ لاء.

فرحت-علامت-فائل فائلن کي تبديل ڪرڻ لاء اڻڄاتل علامت، يا علامت کي ختم نٿو ڪري.

توهان صرف صرف وضاحت ڪري سگھو ٿا -retain-symbols-a command command line ۾. ان جي مٿان اوزارن ۽ - ايس .

-درپ ڊائون

رن ٽئبريري لائبريري ڳولا واري رستي ۾ ڊائريڪٽري شامل ڪريو. اهو استعمال ڪيو ويو آهي ELFexecutable سان حصيداري ڪيل شيون سان ڳنڍيندي. سڀ رڪاوٽ متفق آهن ۽ رنٽ ٽائم لنڪٽر تي گذري ويا آهن، جيڪي رن ٽئم تي حصيداري ڪيل شيون ڳولڻ لاء انهن کي استعمال ڪندا آهن. جڏهن حصيداري ڪيل شيون ڳولڻ تي -پراپي اختيار پڻ استعمال ڪيو وڃي ٿو جنهن ۾ ڪڙي سان حصيداري ڪيل شيون خاص طور تي شامل آهن. رارڊ لنڪ آپشن جي تفصيل ڏسو. جيڪڏهن ايلف جي قابل عمل سان ڳنڍيل هجي ته جيڪڏهن رعيت استعمال نه ڪيو ويو آهي، ماحول جي مواد جو متغير "LD_RUN_PATH" استعمال ٿيندو جيڪڏهن اهو وضاحت ڪيو ويندو.

سنسڪشن اختيارن کي پڻ SunOS تي استعمال ڪري سگهجي ٿو. ڊفالٽ طرفان، SunOS تي، لنڪر سڀني -L اختيارن مان اهو ڏني وئي آهي ته هڪ رنٽ ڳولڻ پيچ ٺاهيندو. جيڪڏهن ڪو رستو اختيار ڪيو ويندو آهي، ٽائيم ٽائيم جو رستو مڪمل طور تي -rpath اختيارن کي استعمال ڪندي، ايل - اختيارن کي نظرانداز ڪيو ويندو. اهو سيٽ استعمال ڪندي تڏهن مفيد ٿي سگهي ٿو، جنهن ۾ ڪيتريون ئي شامل ڪيون آهن -L اختيارن جو شايد اين ايف ايس فائيل سسٽم سسٽم تي هوندو.

ٻين ELF لنڪرن سان مطابقت حاصل ڪرڻ لاء، جيڪڏهن آر-اي اختيار جو هڪ فائيل نالي جي بدران ڊائريڪٽري جي نالي پٺيان هوندو، اهو رڙ اختيار اختيار ڪيو ويندو آهي.

رستي وارو لنڪ DIR

جڏهن ايل ايف يا SunOS استعمال ڪندي، هڪ گڏيل لائبريري هڪ ٻئي جي ضرورت هجي. اهو ٿي ويندو آهي جڏهن "هڪڙو" حصيداري "لنڪ ۾ هڪ گڏيل فائلن مان هڪ گڏيل لائبريري شامل آهي.

جڏهن لنڪر اهڙي غير انفرادي طور تي غير ونڊٽ، غير رزقاتي واري لنڪ ڪري رهي آهي، اهو خودڪار طور تي ضروري شيئر لائبريري کي ڳولڻ جي ڪوشش ڪندو ۽ انهي کي لنڪ ۾ شامل ڪرڻ جي ڪوشش ڪنداسين، اگر اها واضح طور پر شامل نه آهي. اهڙي حالت ۾، رڍ-لنڪ آپشن ڳولڻ لاء ڊائريڪٽرن جو پهريون سيٽ بيان ڪري ٿو. آرڪائيو-لنڪ آپشن کي شايد ڊائريڪٽرن جي نالن جي ترتيب جي مطابق هجي يا ڪولن طرفان جدا ٿيل نالن جي فهرست، يا ڪيترائي ڀيرا ظاهر ڪندي.

اهو اختيار احتياط سان استعمال ڪيو وڃي جيئن اهو ڳولي جي رستي تي هڪ سيڪيورٽي لائبريري ۾ سخت مرتب ٿي چڪي آهي. انهي صورت ۾ اهو ممڪن آهي ته هڪ غير معمولي طور تي مختلف ڳولا واري رستي کي استعمال ڪرڻ کان سواء رنٽ ٽائم لنڪر کي.

لنڪ ڪندڙ ضروري شيئر لائبريري کي ڳولڻ لاء هيٺيان ڳولها رستا استعمال ڪري ٿو.

1.

رائيڊ-لنڪ جي اختيار جي طرفان ڏنل ڊائريڪٽريون.

2.

رائڊ آپشن جي طرفان ڏنل ڊائريڪٽريون. -rpath and -rpath-link جي وچ ۾ اهو فرق آهي ته رائڊ آپشن پاران ڏنل ڊائريڪٽرن تي عملدار ۽ شامل هوندا آهن، ۽ رن ٽائم تي استعمال ٿيل هونديون آهن، پر -ڦڦٽ-لنڪ اختيار صرف لنڪ ٽائيم تي مؤثر آهي. اهو ئي مقامي ڄاڻيندڙ آهي.

3.

هڪ ELF سسٽم تي، جيڪڏهن -ڦڦ ۽ "رستي وارو لنڪ" اختيارن جو استعمال نه ڪيو ويو، ماحول جي مواد جي قابل ڳولها "LD_RUN_PATH". اهو ئي مقامي ڄاڻيندڙ آهي.

4.

پر SunOS، جيڪڏهن رستي جو اختيار استعمال نه ڪيو ويو هو، -L اختيارن جي استعمال سان ڪنهن به ڊائريڪٽريٽ جي ڳولا ڪريو.

5.

هڪ مقامي لسٽر لاء، ماحول جي مواد جو متغير "LD_LIBRARY_PATH".

6.

مقامي ELF لنڪ جي لاء، "DT_RUNPATH" يا "DT_RPATH" ۾ هڪ گڏيل لائبريري واري ڊائرين ۾ ڳوليل آهي طرفان ان جي حصيداري ٿيل لائبريرين لاء ڳولا ٿيل آهن. "DT_RPATH" انٽرويو کي نظرانداز ڪيو ويو آهي جيڪڏهن "DT_RUNPATH" انٽرويو موجود ناهي.

7.

ڊفالٽ ڊائريڪٽريشنز، عام طور تي / ليب ۽ / اي ايل آر / لي .

8.

اي ايل ايف سسٽم تي هڪ مقامي لسٽر لاء ، جيڪڏهن فائل /etc/ld.so.conf موجود آهي، त्यो फाइलमा डाइरेक्टरीहरूको सूची भेटिन्छ .

جيڪڏهن گهربل گهربل لائبريري نه مليو آهي، لنڪر هڪ انتباہ جاري ڪندو ۽ لنڪ سان جاري رهندو.

ونڊيو ويو

برائوزر

هڪ گڏيل لائبريري ٺاهيو. هن وقت صرف ELF، XCOFF ۽ SunOS پليٽ فارم تي صرف سپورٽ ڪئي وئي آهي. پر SunOS، لنڪ خود بخود هڪ گڏيل لائبريري ٺاهي ڇڏيندو جيڪڏهن -e विकल्प استعمال نه ڪيو ويو آهي ۽ لنڪ ۾ اڻ کليل علامات موجود آهن.

عام طور تي

هن اختيار کي عام شڪلن کي ترتيب ڏيڻ لاء LD ٻڌائي ٿو جڏهن انهن انهن کي مناسب ٻاڦن جي حصن ۾ شامل ڪندو آهي. سڀ کان پهرين سڀ هڪ باء علامتي نشانيون اچن، پوء اهي ٻه ٻه قطعا، سڀ چار چار ۽ پوء سڀ ڪجهه. اسٽرڪشن جي رڪاوٽن جي سبب علامن جي وچ ۾ فرق کي روڪڻ آهي.

.salit-by-file [ size ]

ساڳئي طرح --split-by-reloc پر ٺاهي ٿو پر هر هڪ ان پٽ جي فائيل لاء نئين ٻاڦ واري حصي ٺاهي ٿي جڏهن سائيز پهچي وڃي ٿي. جيڪڏهن سائز نه ڏني وئي ته سائيزن جي ماپ ۾ هڪ ماپ 1 تائين.

-split-by-reloc [ count ]

انهي ٻااني فائل ۾ اضافي حصن کي پيدا ڪرڻ جي ڪوشش ڪري ٿو ته فائل ۾ ڪوبه هڪ واحد سيڪشن جي ڳڻپ جي رٿا کان وڌيڪ شامل آهي. اهو مفيد آهي جڏهن ايفف ايف جي شئي فائل فائل جي شڪل سان ڪيئي ريئل ريٽيڪوٽ ڪائيليز ۾ ڊائون لوڊ ڪرڻ لاء وڏن ريڪوٽوٽبل فائل ٺاهڻ. ڇاڪاڻ ته COFFcannot هڪ واحد حصي ۾ 65535 ريلويشن کان وڌيڪ نمائندگي ڪندو آهي. نوٽ ڪريو اهو اعتراض فائل فائلن سان ڪم ڪرڻ ۾ ناڪام ٿيندو جيڪو پنهنجي مادري حصن جي حمايت نه ڪندو آهي. ريڪرر ريزسٽريشن لاء انفرادي ان پٽ حصن کي ورهائي نه سگهندو، تنهنڪري جيڪڏهن هڪ ان پٽ ان حصي جي ڳڻپ ريڪارڊن کان وڌيڪ هوندي آهي، هڪ ٻاڦ واري حصي ۾ ڪيترا ئي ريگليشن. ڳڻپيوڪر کي هڪ قدر 32768 تائين ڏئي ٿو.

ٻيڙيون

لنڪر جي آپريشن بابت انگن اکرن کي گڏ ڪريو ۽ ڊسپلي ڪندا، جيئن اعدام جو وقت ۽ ميموري استعمال.

.traditional-format

ڪجهه مقصدن لاء، LD جو نتيجو ڪجھ موجوده لنڪر جي ٻاھران کان ڪجهه طريقن سان مختلف آهي. هي سوئچ درخواستن کي LD روايتي نمونن جي استعمال ڪرڻ لاء.

مثال طور، SunOS تي، LD علامت سمارنگ سسٽم ٽيبل ۾ نقل ٿيل نگارن کي گڏ ڪري ٿو. اهو مڪمل ڊيبنگنگ معلومات سان 30 سيڪڙو کان مٿي واري فائيل جي سائيز کي گھٽ ڪري سگهي ٿو. بدقسمتي سان، سنس "ڊي بيڪس" پروگرام جو نتيجو پروگرام نه پڙهي سگهي ("gdb" کي ڪا ڏکيائي نه آهي). --traditional-formatted سوئچ کي ٻڌائي ٿو ته ايل ڊاليڪ ورجائن کي گڏ نه ڪرڻ لاء.

- سيڪشن جو آغاز سيڪشن نام = اوارڊ

ٻاھر ٻاھرين فائل ۾ ھڪڙي حصي کي جڳھ ۾ ٻاھر ٿيل ايڊريس کي ڄاڻ ڪريو. توهان شايد هي اختيار ڪيترا ڀيرا استعمال ڪري سگهجن جيئن لازمي طور تي ڪنڊ لائن ۾ ڪيترن ئي حصن کي ڳولڻ لاء. آرڪ هڪ هيڪڪسڊيڪل ايڪسجر هجي. ٻين لنڪرز سان مطابقت لاء، توهان عام طور تي هيڪساديڪيل ويلڊ سان لاڳاپيل ڪائنات 0x کي ختم ڪري سگهو ٿا. نوٽ: سيڪشن نام ، برابر مساوات (`` = '')، ۽ اوج جي وچ ۾ ڪوبه اڇو جڳهه نه هجڻ گهرجي.

ٽئبس انجني

-Tdata org

org ٽٽي

آرڪٽ استعمال ڪندڙ پتي جي طور تي --- باقاعده --- "بي ايس سي"، "ڊيٽا"، يا ٻاڪس واري فائيل جي "ٽيڪسٽ" جو ڀاڱو استعمال ڪريو. آرڪ هڪ هيڪڪسڊيڪل ايڪسجر هجي. ٻين لنڪرز سان مطابقت لاء، توهان عام طور تي هيڪساديڪيل ويلڊ سان لاڳاپيل ڪائنات 0x کي ختم ڪري سگهو ٿا.

.dll verbose

--وروازي

LD لاء نسخن جو ڏيک ڏيکاريو ۽ لسٽر جي ٺاھ جوڙ جي فهرست کي ترتيب ڏيو . ظاهر ڪريو جيڪي ان پٽ ڊوائيسز کوليون ۽ کوليون نه ٿي سگھن. ڏيکاريندڙ لنڪر اسڪرپٽ لنڪر طرفان استعمال ڪيو پيو وڃي.

اوور اسڪرپٽ = نسخ-اسڪرپٽ

لنڪر کي ڪنهن نسخي اسڪرپٽ جي نالي جي وضاحت ڪريو. اهو عام طور تي استعمال ٿيل آهي جڏهن حصيداري لائبريري ٺاهڻ جڏهن لائبريري لاء پيدا ٿيل وارثيريشن بابت اضافي معلومات کي واضع ڪرڻ لاء. هي اختيار صرف ELF پليٽ فارمن تي معنى آهي جيڪا شيئر لائبريري جي سهولت رکن ٿا.

- عام طور تي عام

جڏهن هڪ عام علامت ڪنهن ٻئي عام علامت سان گڏ يا علامت جي نموني سان گڏ آهي. يونڪس لنڪرز هن کي ڪجهه ميلاپ پروسيس جي اجازت ڏئي ٿو، پر ڪجهه به آپريٽنگ سسٽم تي لنڪرز نٿا ڪن. هي اختيار توهان کي گلوبل علامتن جي گڏ ڪرڻ کان امڪاني مسئلا ڳولڻ جي اجازت ڏئي ٿو. بدقسمتي سان، ڪجهه سي لائبريري هن مشق کي استعمال ڪندا آهن، تنهنڪري توهان لائبريرين ۽ انهن جي پروگرامن ۾ علامت جي باري ۾ ڪجهه انتباہ حاصل ڪري سگهو ٿا.

اتي ٽي قسم جي عالمي نشانيون آھن، سي سي مثالن پاران هتي بيان ڪيل آھن:

int i = 1؛

ھڪڙي بيان، جيڪو ٻاھرين فائل جي شروعاتي ڊيٽا سيڪشن ۾ ھجي.

ٻاهر نڪرڻ

هڪ اڻ سڌريل حواله، جنهن کي خلائي مختص نٿو ڪري. ڪنهن به قسم جي ڪيفيت جي لاء هڪ تعريف يا هڪ عام علامت هجڻ گهرجي.

int I؛

هڪ عام علامت. جيڪڏهن ڪي اهڙا آهن (هڪ يا وڌيڪ) هڪ متغير لاء عام علامت، ان کي ٻاڪس ڪڍڻ واري فائل جي اڻ شروعاتي ڊيٽا جي علائقي ۾ وڃي ٿو. ڪڙيسر ساڳئي ئي هڪ واحد علامت جي لاء ڪيترن ئي عام علامتن کي ملائي ٿو. جيڪڏهن اهي مختلف قسمن جا آهن، اهو سڀ کان وڏي سائيز چونڊيندو آهي. لنڪر هڪ اعلان ۾ هڪ عام علامت بدلائيندو آهي، جيڪڏهن اتي ساڳيو متغير جو هڪ تعريف آهي.

واورن جي عام اختياري پنجن قسمن جي ڊيڄاري پيدا ڪري سگهي ٿي. هر خبرداريون قطار جو هڪ ٺاهيل هوندو آهي: پهرين وضاحت کي وضاحت سان ٺهڪي اچي ٿي، ۽ ٻيو نالو اڳئين علامت کي ساڳيو نالو سان بيان ڪري ٿو. هڪ يا ٻه ٻنهي نشانين جي هڪ عام علامت هوندي.

1.

هڪ حوالي سان هڪ عام علامت ڇڪائيندي، ڇاڪاڻ ته اتي ئي علامت لاء هڪ تعريف آهي.

<فائيل> (<سيڪشن>): ڊيڄاريندڙ: عام مان `<علامت> سمجھاڻي مان رد ڪيو ويو <فائل> (<سيڪشن>): خبردار

2.

هڪ ريفرنس ۾ هڪ عام علامت ڦيرايو آهي، ڇاڪاڻ ته ڪنهن بعد جي علامت جي وضاحت جي وضاحت ڪئي وئي آهي. هي پوئين صورت وانگر ساڳيو آهي، سواء سواء اهو نشان مختلف حڪم ۾ اچي ويو آهي.

<فائيل> (<سيڪشن>): ڊيڄاريندڙ: تعريف جي تعريف `<علامت> 'عام کان مٿي وڌايو <فائل> (<سيڪشن>): ڊيڄاريندڙ: عام آهي هتي

3.

پوئين ساڳئي-ٺهيل عام علامت سان هڪ عام علامت ملائي رهيو آهي.

<فائيل> (<سيڪشن>): ڊيڄاريندڙ: عام طور تي عام آھي <<علامت> 'فائيل' (<سيڪشن>): ڊيڄاريندڙ: پوئين عام ھتي آھي

4.

اڳوڻي وڏي عام علامت سان هڪ عام علامت ملائي رهيو آهي.

<فائيل> (<سيڪشن>): ڊيڄاريندڙ: عام مان `<علامت> 'وڏي عام کان مٿي کان ٻاھر ٿيندو <فائيل> (<سيڪشن>): ڊيڄاريندڙ: وڏي عام ھتي آھي

5.

اڳوڻي ننڍڙي عام علامت سان هڪ عام علامت ملائي رهيو آهي. هي پوئين صورت وانگر ساڳيو آهي، سواء سواء اهو نشان مختلف حڪم ۾ اچي ويو آهي.

<فائيل> (<سيڪشن>): ڊيڄاريندڙ: عام مان `<علامت> 'عام عام کان مٿي وڌايو <فائيل> (<سيڪشن>): ڊيڄاريندڙ: هتي ننڍڙو عام آهي

گهرن جي تعمير

جيڪڏهن ڪو گلوبل تعمير ڪندڙ استعمال ڪيو وڃي. اهو صرف ڪجهه اعتراض فائل فارميٽ لاء مفيد آهي. COFF يا ايل ايف جي شڪلين لاء، لنڪ گلوبل عمارتون جي استعمال کي ڳولي نٿا سگهن.

-اوارن-گهڻ-پي

خبردار ڪريو ته گھڻي عالمي پوائنٽر قدر ٻاھرين فائل ۾ گھربل آھي . اهو صرف ڪجهه پروسيسرن وانگر آهي، جهڙوڪ الفا. خاص طور تي، ڪجهه پروسيسر وڏي قدر قيمتي ٻوٽين کي خاص حصي ۾ رکيا آهن. ھڪ خاص رجسٽرٽ (گلوبل پوائنٽر) ھن حصي جي وچ ۾ پوائنٽ ڪن ٿا، تنھنڪري اھم رڪاوٽ مائٽن جي رجسٽريشن جو پتو لڳائڻ واري موڊ ذريعي حاصل ڪري سگھجي ٿو. جيئن ته آفسیٹ بنيادي رجسٽريشن واري موڊل ۾ مقرر ڪئي وئي آهي ۽ نسبتا ننڍڙو (مثال طور، 16 بٽ)، هي محدود پول جي وڌ ۾ وڌ حد تائين محدود هوندي آهي. ان ڪري، وڏي پروگرامن ۾، عام طور تي ڪيترن ئي عالمي پوائنٽر جي قيمت کي استعمال ڪرڻ لاء ضروري آهي ته جيئن سڀني ممڪن خطن کي پتو پئجي سگھندا. هي اختيار جاري ڪيو وڃي جڏهن جاري رهي ٿي ته اهو معاملو ٿئي ٿي.

گهرن ۾ هڪ ڀيرو

رڳو ھڪڙي ھڪڙي منڊل علامت لاء ھڪڙي ڊيڄاريندڙ ھڪ ڀيرا ھڪڙي ماڊل جي ڀيٽ ۾ ان کي رد ڪري ٿو.

-اوٽي-ڀاڱو

فھرست جي ڪري ھڪڙي ٻاھر واري سيڪشن جو پتو تبديل آھي. عام طور تي، ترتيب ڏنل هڪ ان پائپ سيڪشن جي ذريعي مقرر ڪئي ويندي. پتو صرف تبديل ٿي ويندو جيڪڏهن اها واضح طور تي بيان ٿيل نه هجي. اهو آهي، ته "SECTIONS" جو حڪم سيڪشن لاء شروعاتي پتي بيان نٿو ڪري.

محفوظ ٿيل ڪتاب

هر آرڪيڪل لاء آرٽيڪل فائلن جي آرٽيڪل ڳولڻ جي بدران، آرٽيڪل ايڪليڪشن کان پوء آرٽيڪل لائن تي ٻڌل هر اعتراض کي ڳنڍيل ۾ آرٽيڪل ۾ فائل شامل آهي. عام طور تي عام طور تي هڪ آرٽيڪل فائل کي هڪ گڏيل لائبريري کي ڦيرايو ويندو آهي، انهي جي نتيجي ۾ هر اعتراض کي نتيجن ۾ شامل ٿيل لائبريري ۾ شامل ٿيڻ کي. اهو اختيار هڪ ڀيرو کان وڌيڪ استعمال ٿي سگهي ٿو.

هي اختيار گيڪٽ مان استعمال ڪندي ٻه نوٽس: پهريون، جي سي سي اس اختيارن بابت نه ڄاڻن، تنهنڪري توهان کي استعمال ڪرڻو پوندو . -Wole-archive . ٻيو، توهان جي آرڪائيو جي فهرست بعد -و-سڄي-آرٽ-آرٽيڪل استعمال ڪرڻ نه وساريو آهي، ڇو ته گي سي توهان جي ڪڙي سان آرڪيز کي پنهنجي لسٽ کي شامل ڪندو ۽ توهان نٿا چاهيو ته هي پرچم انهن کي متاثر ڪرڻ لاء پڻ.

- لکت جي علامت

علامت لاء هڪ چادر ڪار استعمال ڪريو. علامت جي لاء ڪنهن به غير معياري حوالي سان "__ wrap_symbol" کي حل ڪيو ويندو. "__real_symbol" جي ڪنهن به غير متعين ڪيل حوالي سان علامت ڏانهن حل ڪيو ويندو.

اهو هڪ سسٽم فنڪشن لاء پرچم مهيا ڪرڻ لاء استعمال ڪري سگهجي ٿو. انگور جي فنڪشن کي "__wrap_symbol" سڏيو وڃي ٿو. جيڪڏهن اهو خواهش جو سسٽم فنڪشن سڏيندو آهي، اهو "__ real_symbol" سڏيندو.

هتي هڪ ننڍڙو مثال آهي:

void * __wrap_malloc (int c) {printf ("٪ ld \ n" भनिन्छ، c)؛ واپسي __real_malloc (c)؛ }

جيڪڏهن توهان هن فائل سان ٻي ڊيگٽ لنڪ ميلاڪو استعمال ڪندي ڳنڍيو ٿا ، پوء "مallڪو" ۾ سڀئي ڪالون هن فنڪشن کي "__wrap_malloc" بدران سڏيندو. "__wrap_malloc" ۾ "__real_malloc" کي سڏي "حقيقي" فنڪشن سڏيندو.

توهان شايد "__real_malloc" جي فنڪشن مهيا ڪرڻ چاهيندا، انهي ڪري ته لسٽ جو اختيار بغير لنڪ ڪامياب ٿي ويندا. جيڪڏهن توهان هي ڪريو ٿا، توهان کي "__wrap_malloc" جي ساڳي فائل ۾ "__ real_malloc" جي تعریف نه هجڻ گهرجي. جيڪڏهن توهان ڪندا آهيو، اهي لنڊر لنڪ کي حل ڪرڻ کان اڳ شايد "مولليڪ" تي لفافي ڪرڻ جو هڪ موقع آهي.

تمام نئون

ڊيٽابيل نوان ڊي ٽيگ

هي لنڪ ELF ۾ نئين متحرڪ ٽيگ ٺاهي سگھي ٿو. پر پراڻي اي ايف ايف سسٽم ان کي سمجهي نٿا سگهن. جيڪڏهن توهان وضاحت ڪري سگهو ٿا - نئون-ٽي-ڊيٽگڏ ، متحرڪ ٽيگ ٺاهڻ جي ضرورت هوندي. جيڪڏهن توهان وضاحت ڪريو --disable-new-dtags ٺاهي ، نئين نئين متحرڪ ٽيگ پيدا نه ٿيندي. ڊفالٽ طور، نئين متحرڪ ٽيگ ٺاهي نه آهن. نوٽ ڪريو جيڪي انهن اختيارن صرف FORELF سسٽم موجود آهن.

i386 پي پي لنڪر کي حصيداري اختيار جي حمايت ڪندو آهي، جيڪا انٽرويو کي عام طور تي قابل عمل جي بدران متحرڪ طور پر منسلک لائبريري (ڊي ايل ايل) بنائي ٿي. توھان کي ھن اختيار کي استعمال ڪرڻ گھرجي "* .dll" ان جي نالي کي نامزد ڪرڻ گھرجي. اضافي طور تي، لنڪر مڪمل طور تي "* .def" فائلن کي سپورٽ ڪري ٿو، جيڪا لنڪ ڪنڊر لائن تي اعتراض فائل وانگر ظاهر ٿي سگهي ٿي (حقيقت ۾، اهو آرٽيڪيشن کي ان کان برآمد ڪرڻ کان اڳ ۾ رکڻ گهرجي، انهي کي يقيني بڻائي وڃي ته اهي ڳنڍيل، عام طرح جي عام اعتراض جي فائيل وانگر).

سڀني مقصدن لاء عام اختيارن جي علاوه، i386 پي پي لنڪ جي اضافي اضافي لائن جي اختيارن جو سهڪار ڏئي ٿو جيڪا i386 پي اي جي حد تائين مخصوص آهي. جيڪي اختيار ڪندا آهن انهن جي قيمتن کي انهن جي قيمتن کان الڳ ڪري ڪنهن طرف يا اسپين جي سگهه سان الڳ ٿي سگهي ٿو.

--ڊ-اسٽڊيڪل عرف

جيڪڏهن ڏنو ويو آهي ته ڪوڊڪيل ڪافي (@ nn ) سان علامت نامي طور تي برآمد ڪئي ويندي آهي ۽ اهو ڪافي بيڪ سان گڏ هوندو.

فيڪس فائيل فائل

فائل جو نالو فائل جي طور تي استعمال ڪريو جنھن ۾ سڀني نقلن جي بنيادي پتي کي محفوظ ڪرڻ لاء ڊيلي ڊيز ٺاھڻ جي ضرورت آھي.

- ڊي

باقاعده عملدرآمد جي بدران ڊي ڊي ايل ٺاهيو. توهان شايد ڏنل ڏنل ".def" فائل ۾ "لائبريري" استعمال ڪيو يا ڄاڻايو.

سسٽم-اسٽيڊيڪل فيڪٽ اپ

ڊيڊيڪل اسٽيڪ جو فيڪل اپ

جيڪڏهن لنڪ هڪ علامت ڳولي ٿو ته اهو حل نه ڪري سگهي، اهو `` فريجي لننگ 'ڪرڻ جي ڪوشش ڪندو، هڪ ٻيو تعريف ٿيل علامت ڳولڻ جي ڪوشش ڪندي جيڪا صرف علامت نالي جي شڪل ۾ آهي (سي ڊي سيڪ اسٽيڊيڪل ۾). شاديء ۾. مثال طور، اڻڄاتل علامت "_foo" فنڪشن "_foo @ 12" سان ڳنڍيل هجي، يا اڻڄاتل علامت "_bar @ 16" فنڪشنل "_bar" سان ڳنڍيل هجي. جڏهن اهو ڳنڍيندڙ اهو نٿو پوي، اهو هڪ انتباهه پرنٽ آهي، ڇاڪاڻ ته عام طور تي لنڪ ڪرڻ ۾ ناڪام ٿي چڪا آهن، پر ڪڏهن ڪڏهن ٽئين پارٽي ڊي ڊي ڊيز مان ٺاهيل لائبريري کي درآمد ڪري سگھي ٿو اها خاصيت جي ضرورت هوندي. جيڪڏهن توهان وضاحت ڪري سگهو ٿا - قابل ٿي-اسٽيڊيڪل فيڪاپ اپ ، هي خاصيت مڪمل طور تي فعال آهي ۽ ڊيڄاريندڙ ڇپيل نه آهن. جيڪڏهن توهان وضاحت ڪريو --disable-stdcall-fixup ، هي خصوصيت معذور آهي ۽ اهڙي طرح بيماري غلطيون سمجهي وينديون آهن.

پاسپورٽ سڀني علامات

جيڪڏهن ڏنو ويو آهي، ڊي ڊي ايل تعمير ڪرڻ لاء استعمال ٿيندڙ شيون ۾ سمورا عالمي علامات ڊي ايل ايل طرفان برآمد ڪيا ويندا. نوٽ ڪيو ته اهو ڊفالٽ آهي جيڪڏهن ٻي صورت ۾ ڪا به برآمد ڪيل علامت نه هوندي. جڏهن علامتن سان واضح طور تي DEF فائلن جي ذريعي برآمد ڪيا ويا آهن يا فوري طور تي فنڪشنل صفتن ذريعي برآمد ڪيل آهن، اهو ڊفالٽ هي ٻيو ڏنو جيستائين جيستائين هن اختيار کي ڏني وڃي. ياد رهي ته "ڊيل مينائن 12"، "DllEntryPoint @ 0"، "DllMainCRTStartup 12"، ۽ "impure_ptr" پاڻمرادو برآمد نه ڪيو ويندو. انهي کان علاوه، ٻين ڊي ڊي ايل کان درآمد ٿيل علامت نه وري برآمد ڪري سگهندا، ۽ نه ڊيل جي داخلي جوڙجڪ جي نموني جي علامت ڪندو، جهڙوڪ جيڪي "_head_" يا ending with "_iname" سان شروع ڪندو. ان کان سواء، "لگ سي سي"، "libstd ++"، "libmingw32"، يا "crtX.o" مان ڪو نشان برآمد نه ڪيو ويندو. نشانين جن جا نالا "__rtti_" يا "__builtin_" سان شروع ٿي ويندا، سي ++ DLLs سان مدد ڏيڻ لاء، نه برآمد ڪري سگهندا. آخرڪار، سائگون-نجي سگنل جي هڪ جامع فهرست موجود نه آهي (ظاهر آهي ته، هي سائگون جي هدفن لاء ڊي ڊبليو تعمير ڪرڻ تي لاڳو ٿيندو آهي).

اهي سائگيون شامل آهن: "_cygwin_dll_entry @ 12"، "_cygwin_crt0_common @ 8"، "_ cygwin_noncygwin_dll_entry 12"، "_fmode"، "_impure_ptr"، "cygwin_attach_dll"، "cygwin_premain0"، "cygwin_premain1"، "cygwin_premain1"، "cygwin_premain2"، "cygwin_premain3" "، ۽" ماحول ".

- شامل ٿيل علامت علامت ، علامت ، ...

نشانين جي هڪ فهرست بيان ڪري ٿو جيڪو خودڪار طور تي برآمد نه ڪيو وڃي. نالا علامت جا شايد ڪاما يا ڪالون طرفان محدود ٿي سگهن ٿا.

مڪمل طور تي آزاد ، آزاد ، ...

آرڪائيو لائبريري جي ھڪڙي فهرست کي ظاھر ڪري ٿو جنھن مان نشانيون خودڪار طور تي برآمد ٿيل نه آھن. لائبريري جا نالا شايد commas يا colons طرفان محدود ٿي سگھي ٿو. خاص طور تي "اڻ شامل ٿيندڙ-ليز سڀ" کي شامل ڪيو ويو آهي "خودڪار برآمد ٿيل مان سڀني آرڪائري لائبريري ۾ علامات شامل آهن. واضح طور تي .def فائل ۾ درج ٿيل نشان اڃا تائين برآمد ٿيل آهن، هي اختيار جي بغير.

فائيل جو بنياد

فائل کي ترتيب ڏيڻ جي وضاحت ڪريو. فائل ۾ حصا هميشه فائلون سيٽ تي ٿينديون آهن جيڪي هن نمبر جا گهرا آهن. اهو ترجيح 512 تائين.

سٿري ريسڪشن

--پھڪ رزق ، واعدو

هن پروگرام لاء ريپريزينٽيشن جي ريميوٽ (۽ اختياري طور تي) استعمال ٿيڻ جي رقم مقرر ڪريو. ڊفالٽ 1Mb محفوظ آهي، 4 ڪڪو ڪيو ويو آهي.

- تصويري بنيادي قيمت

توھان جي پروگرام جي بنيادي ايڊريس يا ڊي ڊي جي طور استعمال ڪريو. اهو سڀ کان گهٽ واري جڳهه جي مقام آهي جيڪا توهان جي پروگرام يا ڊي ڊي لوڊ ڪئي ويندي استعمال ڪئي ويندي. منتقل ڪرڻ جي ضرورت کي گهٽائڻ ۽ پنهنجي ڊي ڊي جي ڪارڪردگي کي بهتر بڻائڻ لاء، هر هڪ الڳ ڌار ايڊريس هجڻ گهرجي ۽ ڪنهن ٻئي ڊي ڊي جي مٿان اوپلو نه هوندي. ڊفالٽ لاء ايڪسٽنٽ لاء 0x400000 آهي، ۽ ڊي ڊي لاء 0x10000000.

ڪيٽيٽر تي

جيڪڏهن ڏنو ويو آهي ته اسٽڊيڪل ڪافي (@ nn ) نشانين مان ڪڍڻ کان پهريان انهن واپارين مان ڪڍيو ويندو.

موصوف جي تصوير واري ورزن جي قيمت

`` تصويري ورزن '' جي وڏي نمبر کي مقرر ڪري ٿو. نتيجا 1 کان.

جديد موڊيڪل جي قيمت

`os os '' جي وڏي تعداد کي مقرر ڪري ٿو. نتيجا 4 کان.

موڊيڪل-سبسيٽنگ-ورزن جي قيمت

`` سبسيٽنگ نسخو 'جي وڏي انگ کي مقرر ڪري ٿو. نتيجا 4 کان.

- فيڪٽري-تصوير-ورزن جو قدر

هن ننڍڙي نمبر کي `` ورشن ورشن '' ڪيو. غلطي کي 0 تائين.

-انڊور-اس نسخي جي قيمت

سي "معمولي نسخ" جي معمولي نمبر کي مقرر ڪري ٿو. غلطي کي 0 تائين.

- ميموري-سبسسٽيشن-ورزن جي قيمت

کي `` سبسيٽنگ نسخو 'جي ننڍڙي نمبر کي مقرر ڪري ٿو. غلطي کي 0 تائين.

آئوٽ -ٽ فائيل فائل

لنڪر فائيل فائل ٺاهي ٿي جيڪا ڊي ڊي جي مطابق ڊيل ايف ڊي فائيل تي مشتمل هوندي آهي لنڪ ٺاهي رهي آهي. ھن DEF فائل (جنھن کي "" .deff "کي سڏيو وڃي ٿو") کي "ڊيٽلول" سان ھڪڙي لائبريري ٺاھڻ لاء استعمال ڪيو ويندو يا خود بخود يا ظاھر طور تي برآمد ڪيل علامت جي حوالي سان استعمال ڪيو ويندو.

- ٻاھر-ايپليبل فائل

لنڪر فائيل فائل ٺاهي ويندي جنهن ۾ ڳنڍيندڙ پيدا ٿيندڙ ڊي ايل تي ٻڌل ليگ شامل هوندا. اها درآمد ليلي (جنهن کي "سڏيو وڃي ٿو" کي استعمال ڪيو وڃي * * .dll.a "يا" * .a "استعمال ٿيل ٺاهيل ڊي ايل جي خلاف صارفين کي ڪڙي ڪرڻ لاء استعمال ڪيو وڃي؛ انهي رويي کي اهو الڳ" ڊٽل "درآمد لائبريري جي پيچليلي لائبريري کي ختم ڪرڻ ممڪن ڪري ٿو.

سسٽم خودڪار تصوير واري بنياد

خودڪار طور چونڊيو ڊي ايل ڊيز جي تصوير جو بنياد چونڊيو، جيستائين ڪو به "-image-base" دليل جو استعمال نه ڪيو ويو آهي. dllname مان ٺاهيل هڪ هڇ استعمال ڪندي هر ڊي ڊي لاء منفرد تصويري اڪيڊس ٺاهڻ، ان ۾ ميموري ميموري ڪائونسلن ۽ نقل و حمل جو پروگرام بند ڪرڻ کي دير کان بچايو وڃي ٿو.

ڊيٽابيس خودڪار تصوير واري بنياد

ڌار ڌار تصوير جو بنياد خودڪار نه ٺاھيو. جيڪڏهن ڪوبه استعمال ٿيل صارف جو مخصوص تصوير ("--image-base") نه ته پليٽ فارم ڊفالٽ استعمال ڪريو.

Dd-query-prefix string

جڏهن متحرڪ طور تي هڪ ڊيٽابيس جي ٺاهيل لائبريري سان ڳنڍيل هجي، "ڳوله" .dll "جي ترجيح ۾ ڳولها" lib .dll ". دا رويو مختلف `D subplatforms '' جي بنياد تي ڊي ڊي ڊي جي وچ ۾ آسان فرق ڏئي ٿو: مثال طور، cygwin DLLs عام طور تي" --dll-search-prefix = cyg "استعمال.

خودڪار ڪاروبار درآمد

"_symbol" جي نفسياتي ڳنڍيندي ڊي "ڊي" مان "ڊسڪ واردات" جي لاء "__imp__symbol" ۽ ان جي ڊاڪٽرن انٽرنيٽ سان درآمد لائبريريز جي عمارتن ۾ ضروري انگن اکرن ٺاهڻ. اهو عام طور تي 'رڳو ڪم ٿيندو' --- پر ڪڏهن ڪڏهن توهان هن پيغام ڏسي سگهو ٿا:

"متغير '' خودڪار درآمد نه ٿي ڪري سگھجي. تفصيل لاء.

اهو پيغام جڏهن ظاهر ٿئي ٿي ته ڪجهه (ذيلي) بيان آخري طور تي ٻه رڪاوٽون (ڏنل Win32 درآمد جي جدولن کي صرف هڪ اجازت ڏئي) جي ڏنل ڏني وئي طرفان پتو پوندي. مثالن ۾ اهو شايد ٿي سگھي ٿو، شامل ڪرڻ جي جوڙجڪ جي متغير جي ميمبرن جي فيلڊ تي پهچايل ڊي ايل مان درآمد ڪئي وئي آهي، انهي سان گڏ ڊيڊل مان درآمد ٿيل متحرڪ ۾ مسلسل انڊيڪس استعمال ڪندي. ڪنهن به لفظي متغير (arrays، structs، ڊگهو ڊگهو، وغيره) هن غلطي جي حالت کي ڇڪائي سگھي ٿو. بهرحال، بدعنواني برآمد ٿيل متغير جي درست ڊيٽا جي قسم کان سواء، LD هميشه هميشه ان جي سڃاڻپ ڪندي، انتباہ ۽ نڪرڻ مسئلو.

ھن مسئلي کي حل ڪرڻ لاء ڪيترائي طريقا آھن، برآمد ٿيل متغير جي ڊيٽا جي قسم کان سواء:

ھڪڙو رستو استعمال ڪرڻ لاء - استعمال ڪندڙ-رن ٽائم-سيسو-ريڪوچ سوئچ. اهو توهان جي ريموٽ واري ماحول لاء توهان جي ڪلائنٽ ڪوڊ ۾ حوالن کي ترتيب ڏيڻ جو ڪم ڇڏي ٿو، تنهن ڪري اهو طريقو صرف جڏهن ڪم ڪري رهي ٽائيم ٽائيم اس خصوصيت جي حمايت ڪندو آهي.

هڪ ٻيو حل اهو آهي ته هڪ 'محسن' کان هڪ متغير هجڻ جي قوت آهي --- اهو آهي، گڏوگڏ وقت تي نامعلوم ۽ اڻ سڌريل. arrays لاء، ٻه امڪانات موجود آهن: الف) indexee (پتو جو پتو) ھڪڙي متبل ٺاهيو يا ب) مسلسل 'انڊسٽري' ھڪ متغير بڻجندي. اهڙيء طرح:

خارجي قسم extern_array []؛ extern_array [1] -> {باطني قسم * t = extern_array؛ t [1]}

يا

خارجي قسم extern_array []؛ extern_array [1] -> {volatile int t = 1؛ extern_array [t]}

ساختن لاء (۽ ٻيا ٻيا ڪيترائي لفظ ڊيٽا جي قسمن) واحد واحد اهو ٺاهڻ وارو (يا ڊگهو ڊگهو، يا) متغير بڻائڻ آهي.

خارجي struct s extern_struct؛ extern_struct.field -> {volatile struct s * t = & extern_struct؛ t-> فيلڊ}

يا

وڌيڪ ڊگهو extern_ll؛ extern_ll -> {volatile long long * local_ll = & extern_ll؛ * local_ll}

هن مسئلي سان معاملو ڪرڻ جو ٽيون طريقو اختتام جي علامت لاء 'آڳاٽا درآمد' کي ختم ڪرڻ ۽ ان کي "__declspec (dllimport)" سان نشان لڳائڻو آهي. بهرحال، عملي طور تي اهو ضروري آهي ته Compile-time # استعمال ڪندي انهي جي نشاندهي ڪرڻ ته ڇا توهان ڊي ڊي ڊي تعمير ڪندا آهيو، کلائنٽ ڪوڊ تعمير ڪرڻ جو ڊي ايل سان ڳنڍڻو پوندو، يا केवल एक स्थिर पुस्तकालयको लिङ्क. توهان کي معمولي حقيقت جي استعمال تي غور ڪرڻ گهرجي ته "مسلسل لڳاتار جي سڌي سنئون" جي مسئلي کي حل ڪرڻ جي مختلف طريقن جي وچ ۾ انتخاب ڪرڻ گهرجي:

اصل:

-foo.h extern int arr []؛ --foo.c # "foo.h" صفا مين (انٽ argc، چار ** argv) {printf ("٪ d \ n"، arr [1])؛ }

حل 1:

-foo.h extern int arr []؛ -foo.c # "foo.h" خالي خانو (int argc، چار ** argv) {/ * ھي ڪماوڙ آھي Win32 ۽ سائگيون لاء. نه ڪريو "بهتر ڪريو" * / volatile int * parr = arr؛ printf ("٪ d \ n"، parr [1])؛ }

حل 2:

-foo.h / * نوٽ: خودڪار برآمد فرض ڪيو ويو آهي (نه. __declspec (dllexport)) * / #if (وضاحت ٿيل (_WIN32) || بيان ٿيل (__ CYGWIN__)) ۽ & \! (بيان ٿيل (FOO_BUILD_DLL) || وضاحت (FOO_STATIC )) عڪس FOO_IMPORT __ ڊيسلسڪ (dllimport) # فليس نمبر # FE_IMPORT # فرافف جي نمائش FOO_IMPORT int arr []؛ --foo.c # "foo.h" صفا مين (انٽ argc، چار ** argv) {printf ("٪ d \ n"، arr [1])؛ }

هن مسئلي کان بچڻ لاء چوٿون رستو توهان جي لائبريري کي ڪارڪردگي انٽررفيٽ استعمال ڪرڻ لاء ريڊيڪل ڪوڊ ڪوڊ ڪرڻ جي بدران بدعنوان चर ( जस्तै set_foo ()get_foo ()पहुँचकर्ता प्रकार्यहरूको लागि डेटा इन्टरफेस भन्दा सट्टा ).

ٽيبل جي خودڪار درآمد

"_symbol" جي ڊيفٽينيمٽس ڊائونڊٽس لاء "__imp__symbol" ڏانهن نفسياتي لنڪس ڪرڻ جي ڪوشش نه ڪريو.

سسٽم-ٽائيم ٽائم-سسودو ريڪو

جيڪڏهن توهان جي ڪوڊ ۾ شامل آهي - قابل استعمال-خودڪار درآمد واري حصي ۾ بيان ڪيل بيان، جيڪا آهي، ڊي صفائي آفسیٹ سان DATAimports ڊي ايل کان، انهي سوئچ کي 'رن ٽائيم رسوخ ريڪارڊز' جي ویکٹر ٺاهي سگهندو آهي جيڪو استعمال ڪري سگھجي ٽائيم ماحول کي ترتيب ڏيڻ لاء توهانجي کلائنٽ ڪوڊ ۾ انهي ڊيٽا کي.

ڊيٽابيس ٽائيم ٽائم-سسودو ريڪو

نشي کي صفائي جي نقل نه ٺاهي غير صفر آف سي ڊي ڊبليو ڊائون واردات کان ڊاتا واردات. اهو ڊفالٽ آهي.

سسٽم-اضافي-پاڙو ڊيبگ

آٹو درآمد درآمد جي علامت سان لاڳاپيل اضافي ڊيب جي معلومات ڏيکارڻ.

سٿري جو بنياد

سيڪشن جي ڦيٽي کي ترتيب ڏيو. ياداشت ۾ سيڪشن هميشه پتي تي شروع ٿينديون آهن جيڪي هن نمبر جي گهڻ آهن. گھڻن 0x1000 تائين.

اسٽيڪ محفوظ ڪرڻ

بچايو رزق ، واعدو

هن پروگرام لاء اسٽوريج جي طور تي استعمال ڪرڻ لاء ميموري جي رقم مقرر ڪرڻ (۽ اختياري طور پر) بيان ڪريو. ڊفالٽ 2Mb محفوظ آهي، 4 ڪڪو ڪيو ويو آهي.

ان جو ذيلي نظام

اسٽوبٽس : وڏي

اسٽوبٽس : وڏي . معمولي

سب سسٽم بيان ڪري ٿو جنهن جي تحت توهان جي پروگرام کي عملي ٿيندي. اهي قانوني قدر جيڪي "مادري"، "ونڊوز"، "کنسول"، ۽ "پوسٽ" آهن. توهان شايد اختياري نظام جي پڻ سيٽ ڪري سگھو ٿا.

اهم: توهان جي خاص ڪمپيوٽر تي ڪئين ڪئين استعمال ڪيو وڃي ڏسڻ لاء انسان حڪم ( ٪ مڙس ) استعمال ڪريو.