Skip to main content

كل شيء عن لينكس / قيادة يونكس: ld

Linux commands: id Command | print real and effective user and group IDs (يوليو 2026)

Linux commands: id Command | print real and effective user and group IDs (يوليو 2026)

جدول المحتويات:

Anonim

اسم

ld - باستخدام LD ، رابط GNU

موجز

ld خيارات objfile …

وصف

دينار يجمع بين عدد من ملفات الكائن والمحفوظات ، وينقل بياناته ويربط بين رموز الرموز. عادة ما تكون الخطوة الأخيرة في تجميع البرنامج هي التشغيلدينار.

دينار يقبل ملفات لغة الأوامر Linker المكتوبة في superset بناء جملة لغة الأوامر محرر ارتباط AT & T ، لتوفير تحكم صريح وشامل عبر عملية الارتباط.

لا تصف صفحة الرجل هذه لغة الأمر ؛ انظردينار دخول في "معلومات" ، أو الدليل اليدوي: رابط جنو ، للحصول على التفاصيل الكاملة عن لغة الأمر وعلى جوانب أخرى من رابط GNU.

هذا الإصدار مندينار يستخدم مكتبات BFD ذات الأغراض العامة للعمل على ملفات الكائن. هذا يسمحدينار لقراءة ، ودمج ، والكتابة ملفات الكائن في العديد من الأشكال المختلفة --- على سبيل المثال ، COFF أو "a.out". قد يتم ربط تنسيقات مختلفة معاً لإنتاج أي نوع من ملف الكائن.

وبصرف النظر عن مرونته ، فإن رابط جنو أكثر فائدة من الروابط الأخرى في توفير المعلومات التشخيصية. يترك العديد من الوصلات التنفيذ فورًا عند مواجهة خطأ ما ؛ متى أمكن،دينار يستمر التنفيذ ، مما يسمح لك بتحديد أخطاء أخرى (أو ، في بعض الحالات ، للحصول على ملف إخراج على الرغم من الخطأ).

رابط جنودينار يهدف إلى تغطية مجموعة واسعة من المواقف ، وأن تكون متوافقة قدر الإمكان مع روابط أخرى. نتيجة لذلك ، لديك العديد من الخيارات للتحكم في سلوكه.

خيارات

يدعم رابط عددًا كبيرًا من خيارات سطر الأوامر ، ولكن في الممارسة الفعلية يتم استخدام القليل منها في أي سياق معين. على سبيل المثال ، استخدام متكرر لدينار هو ربط ملفات كائنات Unix القياسية على نظام Unix قياسي معتمد. في مثل هذا النظام ، لربط ملف "hello.o":

أنا أفعل /lib/crt0.o hello.o -lc

هذا يحكيدينار لإنتاج ملف يسمى انتاج نتيجة لربط الملف "/lib/crt0.o" بـ "hello.o" والمكتبة "libc.a" ، والتي ستأتي من أدلة البحث القياسية. (انظر مناقشة-l الخيار أدناه.)

بعض خيارات سطر الأوامر لدينار قد يتم تحديده في أي نقطة في سطر الأوامر. ومع ذلك ، فإن الخيارات التي تشير إلى الملفات ، مثل-l أو-T، يتسبب في قراءة الملف عند النقطة التي يظهر فيها الخيار في سطر الأوامر ، بالنسبة إلى ملفات الكائن وخيارات الملفات الأخرى. تكرار الخيارات غير الملفية بوسيطة مختلفة لن يكون لها أي تأثير إضافي ، أو تجاوز التكرارات المسبقة (تلك الموجودة إلى اليسار على سطر الأوامر) لهذا الخيار. أما الخيارات التي يمكن تحديدها بصورة مجدية أكثر من مرة فيتم الإشارة إليها في الوصف أدناه.

الوسائط غير الاختيارية هي ملفات الكائن أو الأرشيفات التي سيتم ربطها معًا. قد يتبعون أو يسبقون أو يختلطوا بخيارات سطر الأوامر ، باستثناء أنه قد لا يتم وضع وسيطة ملف كائن بين خيار ووسيطة.

عادة ما يتم استدعاء رابط مع ملف كائن واحد على الأقل ، ولكن يمكنك تحديد أشكال أخرى من ملفات الإدخال الثنائية باستخدام-l, -Rو لغة الأوامر النصية. إذا لا يتم تحديد ملفات الإدخال الثنائية على الإطلاق ، لا ينتج رابط أي إخراج ، ويصدر الرسالةلا توجد ملفات الإدخال.

إذا تعذر على رابط التعرف على تنسيق ملف كائن ، سيفترض أنه برنامج نصي رابط. يزيد البرنامج النصي المحدد بهذه الطريقة البرنامج النصي رابط الرئيسي المستخدم للارتباط (إما البرنامج النصي رابط الافتراضي أو واحد المحدد باستخدام-T). تسمح هذه الميزة للرابط بالربط بملف يبدو وكأنه كائن أو أرشيف ، ولكنه في الواقع يعرّف بعض قيم الرموز فقط ، أو يستخدم "INPUT" أو "GROUP" لتحميل كائنات أخرى. لاحظ أن تحديد نص برمجي بهذه الطريقة يؤدي إلى زيادة البرنامج النصي الرابط الرئيسي فقط ؛ استخدم ال-T خيار لاستبدال البرنامج النصي رابط الافتراضي بالكامل.

بالنسبة للخيارات التي تكون أسماؤها حرفًا واحدًا ، يجب أن تتبع وسيطات الخيارات إما حرف الخيار دون أن تتدخل في مسافة بيضاء ، أو يتم إعطاؤها كوسيط منفصل مباشرة بعد الخيار الذي يتطلبها.

بالنسبة للخيارات التي تكون أسماؤها عبارة عن أحرف متعددة ، يمكن أن تسبق شرطة واحدة أو اثنتين اسم الخيار ؛ فمثلا،-trace-رمز و--trace-رمز ما يعادل. ملاحظة - هناك استثناء واحد لهذه القاعدة. لا يمكن تطبيق خيارات الحروف المتعددة التي تبدأ بحرف صغير "o" إلا بشرطتين. هذا هو تقليل الارتباك مع-o اختيار. على سبيل المثال-omagic يحدد اسم ملف الإخراج لسحر بينما--omagic يحدد علامة NMAGIC على الإخراج.

يجب فصل الوسيطات إلى خيارات متعددة الأحرف من اسم الخيار بواسطة علامة يساوي ، أو يتم إعطاؤه كوسيط منفصل مباشرة بعد الخيار الذي يتطلبها. فمثلا،- رمز التكرار و--trace-رمز = فو ما يعادل. يتم قبول اختصارات فريدة من أسماء الخيارات متعددة الأحرف.

ملاحظة - إذا تم استدعاء رابط بطريقة غير مباشرة ، عن طريق برنامج تشغيل مترجم (على سبيل المثال ،مجلس التعاون الخليجي) ثم ينبغي أن يكون مسبوقا جميع خيارات سطر الأوامر رابط-Wl، (أو ما هو مناسب لبرنامج تشغيل المترجم المعين) مثل هذا:

gcc -Wl، - startgroup foo.o bar.o -Wl، - endgroup

هذا مهم ، لأنه بخلاف ذلك قد برنامج تشغيل برنامج التحويل البرمجي بصمت إسقاط خيارات رابط ، مما يؤدي إلى ارتباط غير صالح.

في ما يلي جدول لمفاتيح تبديل سطر الأوامر العامة التي يقبلها رابط GNU:

الكلمة

يتم دعم هذا الخيار لتوافق HP / UX. ال الكلمة يجب أن تكون الحجة واحدة من الأوتارأرشيف, مشتركأوالافتراضي. -aarchive يعادل وظيفيا ل-Bstaticوالكلمتين الرئيسيتين الأخريين مكافئتين وظيفيا لـ-Bdynamic. يمكن استخدام هذا الخيار في أي عدد من المرات.

هندسة معمارية

--architecture = هندسة معمارية

في الإصدار الحالي مندينار، هذا الخيار مفيد فقط لعائلة معمارية Intel 960. في هذادينار التكوين ، و هندسة معمارية تحدّد الوسيطة البنية المعيّنة في عائلة 960 ، وتمكّن بعض الإجراءات الوقائية وتعديل مسار البحث في مكتبة الأرشيف.

الإصدارات المستقبلية مندينار قد تدعم وظائف مماثلة لعائلات العمارة الأخرى.

نمط الإدخال

--format = نمط الإدخال

دينار قد يتم تكوينه لدعم أكثر من نوع واحد من ملف الكائن. إذا كان لديكدينار تم تكوينه بهذه الطريقة ، يمكنك استخدام الخيار لتحديد تنسيق ثنائي لملفات كائن الإدخال التي تتبع هذا الخيار على سطر الأوامر. حتى عندمادينار تم تكوينه لدعم تنسيقات الكائنات البديلة ، لا تحتاج عادةً إلى تحديد هذا ، مثلدينار يجب أن يتم تكوينه ليكون تنسيق إدخال افتراضي هو التنسيق الأكثر استخدامًا على كل جهاز. نمط الإدخال هي سلسلة نصية ، اسم تنسيق معين مدعوم من مكتبات BFD. (يمكنك إدراج التنسيقات الثنائية المتوفرة معobjdump -i.)

قد ترغب في استخدام هذا الخيار إذا كنت تقوم بربط ملفات ذات تنسيق ثنائي غير معتاد. تستطيع ايضا استخذام لتبديل التنسيقات بشكل صريح (عند ربط ملفات الكائنات ذات التنسيقات المختلفة) ، عن طريق تضمين نمط الإدخال قبل كل مجموعة من ملفات الكائنات في تنسيق معين.

يتم أخذ الصيغة الافتراضية من متغير البيئة "GNUTARGET".

يمكنك أيضًا تحديد تنسيق الإدخال من نص برمجي ، باستخدام الأمر "TARGET" ؛

-c MRI-commandfile

--mri النصي = MRI-commandfile

للتوافق مع الوصلات التي ينتجها التصوير بالرنين المغناطيسي ،دينار قبول ملفات البرامج النصية المكتوبة بلغة الأوامر المقيدة البديلة ، الموضحة في قسم ملفات Script Compatible MRI في وثائق GNU ld. إدخال ملفات البرنامج النصي MRI مع الخيار-c. استخدم ال-T الخيار لتشغيل البرامج النصية رابط مكتوبة في الغرض العامدينار لغة البرمجة. إذا MRI-cmdfile غير موجود،ديناريبحث عنه في الدلائل المحددة من قبل أي-L خيارات.

-DC

-DP

هذه الخيارات الثلاثة متكافئة ؛ يتم دعم نماذج متعددة للتوافق مع روابط أخرى. أنها تخصيص مساحة للرموز المشتركة حتى إذا تم تحديد ملف الإخراج قابل للانتقال (مع-r). يحتوي الأمر البرنامج النصي "FORCE_COMMON_ALLOCATION" على نفس التأثير.

-e دخول

--entry = دخول

استعمال دخول كرمز واضح لبدء تنفيذ البرنامج ، بدلاً من نقطة الإدخال الافتراضية. إذا لم يكن هناك رمز مسمى دخول ، سيحاول رابط تحليل دخول كرقم ، واستخدام ذلك كعنوان للدخول (سيتم تفسير الرقم في الأساس 10 ؛ قد تستخدم رائدًا0X للقاعدة 16 ، أو رائد0 للقاعدة 8).

-E

--export ديناميكية

عند إنشاء ملف قابل للتنفيذ مرتبط بشكل ديناميكي ، أضف كافة الرموز إلى جدول الرموز الديناميكي. جدول الرموز الديناميكية هو مجموعة الرموز التي يمكن رؤيتها من الكائنات الديناميكية في وقت التشغيل.

إذا لم تستخدم هذا الخيار ، فسيحتوي جدول الرموز الديناميكية عادةً على تلك الرموز المشار إليها بواسطة كائن ديناميكي مذكور في الارتباط.

إذا كنت تستخدم "dlopen" لتحميل كائن حيوي يحتاج إلى الرجوع إلى الرموز المحددة بواسطة البرنامج ، بدلاً من استخدام كائن ديناميكي آخر ، فمن المحتمل أنك ستحتاج إلى استخدام هذا الخيار عند ربط البرنامج نفسه.

يمكنك أيضًا استخدام نص البرنامج النصي للتحكم في الرموز التي يجب إضافتها إلى جدول الرموز الديناميكي إذا كان تنسيق الإخراج يدعمها. انظر وصف--version النصي في @ المرجع {صيغة}.

-EB

ربط الكائنات نهاية كبيرة. هذا يؤثر على تنسيق الإخراج الافتراضي.

-el

ربط أشياء صغيرة هذا يؤثر على تنسيق الإخراج الافتراضي.

-F

--auxiliary اسم

عند إنشاء كائن مشترك من ELF ، اضبط الحقل DT_AUXILIARY الداخلي على الاسم المحدد. يخبر هذا الارتباط الديناميكي أنه يجب استخدام جدول الرموز الخاص بالكائن المشترك كعامل تصفية مساعد في جدول الرموز الخاص بالهدف المشترك اسم .

إذا قمت لاحقاً بربط برنامج ما بعنصر التصفية هذا ، فعند تشغيل البرنامج ، سيرى الرابط الديناميكي حقل DT_AUXILIARY. إذا كان الرابط الديناميكي يحل أي رموز من كائن الفلتر ، فسيتحقق أولاً مما إذا كان هناك تعريف في الكائن المشترك اسم . إذا كان هناك واحد ، فسيتم استخدامه بدلاً من التعريف في كائن عامل التصفية. الكائن المشترك اسم لا تحتاج إلى الوجود. وبالتالي فإن الكائن المشترك اسم قد يستخدم لتوفير تنفيذ بديل لوظائف معينة ، ربما لتصحيح الأخطاء أو للأداء المحدد للآلة.

قد يتم تحديد هذا الخيار أكثر من مرة. سيتم إنشاء إدخالات DT_AUXILIARY بالترتيب الذي تظهر به في سطر الأوامر.

-F اسم

--منقي اسم

عند إنشاء كائن مشترك من ELF ، اضبط حقل DT_FILTER الداخلي على الاسم المحدد. يخبر هذا الرابط الديناميكي أنه يجب استخدام جدول الرموز للكائن المشترك الذي يتم إنشاؤه كمرشح على جدول الرموز للكائن المشترك اسم .

إذا قمت لاحقاً بربط برنامج ما بعنصر التصفية هذا ، فعند تشغيل البرنامج ، سيرى الرابط الديناميكي حقل DT_FILTER. سيقوم الرابط الديناميكي بحل الرموز وفقًا لجدول الرموز الخاص بعنصر الفلتر كالمعتاد ، لكنه سيربط فعليًا بالتعريفات الموجودة في الكائن المشترك اسم . وبالتالي يمكن استخدام عنصر التصفية لتحديد مجموعة فرعية من الرموز التي يوفرها الكائن اسم .

استخدم بعض الروابط القديمة-F الخيار في جميع أنحاء toolchain التصنيف لتحديد تنسيق ملف الكائن لكل من ملفات الكائن المدخلات والمخرجات. يستخدم رابط GNU آليات أخرى لهذا الغرض:, --شكل, --oformat الخيارات ، وأمر "TARGET" في البرامج النصية للرابط ، ومتغير بيئة "GNUTARGET". رابط GNU سوف يتجاهل-F الخيار عند عدم إنشاء كائن مشترك ELF.

-fini اسم

عند إنشاء كائن تنفيذي أو مشترك من ELF ، اتصل بـ NAME عند إلغاء تحميل الكائن القابل للتنفيذ أو المشترك ، وذلك بتعيين DT_FINI على عنوان الدالة. بشكل افتراضي ، يستخدم رابط "_fini" كدالة للاتصال.

-g

تجاهلها. المقدمة للتوافق مع الأدوات الأخرى.

-G القيمة

--gpsize = القيمة

قم بتعيين الحد الأقصى لحجم الكائنات المطلوب تحسينها باستخدام تسجيل GP بحجم . هذا مفيد فقط لتنسيقات ملفات الكائنات مثل MIPS ECOFF التي تدعم وضع كائنات كبيرة وصغيرة في أقسام مختلفة. يتم تجاهل هذا لتنسيقات ملفات الكائنات الأخرى.

-h اسم

-soname = اسم

عند إنشاء كائن مشترك من ELF ، اضبط حقل DT_SONAME الداخلي على الاسم المحدد. عند ربط ملف قابل للتنفيذ مع كائن مشترك يحتوي على حقل DT_SONAME ، عند تشغيل الملف التنفيذي ، سيحاول الرابط الديناميكي تحميل الكائن المشترك المحدد بواسطة الحقل DT_SONAME بدلاً من استخدام اسم الملف المعطى للرابط.

-أنا

قم بإجراء ارتباط تزايدي (مثل الخيار-r).

-فيه اسم

عند إنشاء كائن قابل للتنفيذ أو مشترك في ELF ، اتصل بـ NAME عند تحميل الكائن القابل للتنفيذ أو المشترك ، عن طريق تعيين DT_INIT على عنوان الدالة. بشكل افتراضي ، يستخدم linker "_init" كدالة للاتصال.

-l أرشيف

--library = أرشيف

إضافة ملف أرشيف أرشيف إلى قائمة الملفات للربط. يمكن استخدام هذا الخيار في أي عدد من المرات.دينار سوف يبحث في قائمة المسار الخاصة به من أجل "libarchive.a" لكل أرشيف محدد.

على الأنظمة التي تدعم المكتبات المشتركة ،دينار قد يبحث أيضًا عن المكتبات ذات الامتدادات بخلاف ".a". على وجه التحديد ، على أنظمة ELF و SunOS ،دينار سيبحث عن دليل لمكتبة بامتداد ".so" قبل البحث عن أحدهما بامتداد ".a". حسب الاصطلاح ، يشير ملحق ".so" إلى مكتبة مشتركة.

سيقوم رابط البحث بأرشيف مرة واحدة فقط ، في الموقع الذي تم تحديده فيه على سطر الأوامر. إذا حدد الأرشيف رمزًا لم يتم تحديده في بعض الكائنات التي ظهرت قبل الأرشيف في سطر الأوامر ، فسوف يتضمن رابط الملف (الملفات) المناسب من الأرشيف. ومع ذلك ، فإن الرمز غير المحدد في كائن ما يظهر لاحقًا في سطر الأوامر لن يتسبب في قيام الرابطة بالبحث في الأرشيف مرة أخرى.

شاهد-( الخيار لطريقة لفرض رابط للبحث المحفوظات عدة مرات.

يمكنك إدراج نفس الأرشيف عدة مرات في سطر الأوامر.

هذا النوع من البحث في الأرشيف هو المعيار لرابطات يونكس. ومع ذلك ، إذا كنت تستخدمدينار onAIX ، لاحظ أنه يختلف عن سلوك رابط AIX.

-L searchdir

--library مسار = searchdir

أضف المسار searchdir إلى قائمة المساراتدينار سوف ابحث عن مكتبات الأرشيف ودينار مخطوطات التحكم. يمكنك استخدام هذا الخيار أي عدد من المرات. يتم البحث في الدلائل بالترتيب الذي تم تحديدها في سطر الأوامر. يتم البحث في الدلائل المحددة في سطر الأوامر قبل الدلائل الافتراضية. الكل-L تنطبق الخيارات على الجميع-l خيارات ، بغض النظر عن الترتيب الذي تظهر به الخيارات.

إذا searchdir يبدأ بـ "=" ، ثم يتم استبدال "=" بـ بادئة sysroot ، مسار المحدد عند تكوين رابط.

المجموعة الافتراضية للمسارات التي تم البحث عنها (دون أن يتم تحديدها باستخدام-L) يعتمد على وضع مضاهاةدينار يستخدم ، وفي بعض الحالات أيضًا كيفية تكوينه.

يمكن أيضًا تحديد المسارات في البرنامج النصي للوصلة باستخدام الأمر "SEARCH_DIR". يتم البحث في الدلائل المحددة بهذه الطريقة عند النقطة التي يظهر فيها البرنامج النصي الخاص بالرابط في سطر الأوامر.

-m محاكاة

يحاكي محاكاة رابط. يمكنك سرد المحاكاة المتاحة مع--verbose أو-الخامسخيارات.

إذا كان-m لا يتم استخدام الخيار ، يتم أخذ مضاهاة من متغير البيئة "LDEMULATION" ، إذا تم تعريف ذلك.

خلاف ذلك ، يعتمد المحاكاة الافتراضية على كيفية تكوين رابط.

-M

--print خريطة

طباعة خريطة الارتباط إلى الإخراج القياسي. توفر خريطة الارتباط معلومات حول الارتباط ، بما في ذلك ما يلي:

*

حيث يتم تعيين ملفات الكائن والرموز في الذاكرة.

*

كيف يتم تخصيص الرموز المشتركة.

*

جميع أعضاء الأرشيف المدرجين في الرابط ، مع ذكر الرمز الذي تسبب في جلب عضو الأرشيف.

-n

--nmagic

أوقف محاذاة الأقسام في الصفحات ، وقم بتمييز الإخراج على أنه "NMAGIC" إن أمكن.

-N

--omagic

اضبط أقسام النص والبيانات بحيث تكون قابلة للقراءة والكتابة. كذلك ، لا تقوم بمحاذاة جزء البيانات ، وقم بتعطيل الارتباط بالمكتبات المشتركة. إذا كان تنسيق الإخراج يدعم الأرقام السحرية لنمط Unix ، فقم بتحديد المخرجات على هيئة "OMAGIC".

-ما لا-omagic

هذا الخيار ينفي معظم الآثار المترتبة على-N اختيار. فهو يقوم بتعيين قسم النص ليكون للقراءة فقط ، ويجبر شريحة البيانات على محاذاة الصفحة. ملاحظة - لا يتيح هذا الخيار الارتباط بالمكتبات المشتركة. استعمال-Bdynamic لهذا.

-o انتاج

--output = انتاج

استعمال انتاج كاسم للبرنامج التي تنتجهادينار. إذا لم يتم تحديد هذا الخيار ، فإن الاسم a.out يستخدم بشكل افتراضي. يمكن أيضاً تحديد الأمر البرنامج النصي "OUTPUT" اسم ملف الإخراج.

-O مستوى

إذا مستوى هي قيم رقمية أكبر من الصفردينار يحسن الانتاج. قد يستغرق هذا وقتًا أطول بشكل كبير ولذلك يجب ألا يتم تمكينه إلا للثنائي النهائي.

-q

relocs---emit

ترك أقسام النقل والمحتويات في exececutables مرتبطة بالكامل. قد يحتاج تحليل رابط المشاركة وأدوات التحسين إلى هذه المعلومات لإجراء التعديلات الصحيحة للملفات التنفيذية. ينتج عن ذلك ملفات تنفيذية أكبر.

هذا الخيار معتمد حاليًا فقط على الأنظمة الأساسية لـ ELF.

-r

--relocateable

توليد ناتج قابل للانتقال --- على سبيل المثال ، إنشاء ملف إخراج يمكن استخدامه كمدخلدينار. هذا ما يسمى في كثير من الأحيان الربط الجزئي . كأثر جانبي ، في البيئات التي تدعم الأرقام السحرية القياسية لـ Unix ، يقوم هذا الخيار أيضًا بتعيين الرقم السحري لملف الإخراج إلى "OMAGIC". إذا لم يتم تحديد هذا الخيار ، يتم إنشاء ملف مطلق. عند ربط برامج C ++ ، هذا الخيار سوف لن حل المراجع إلى الصانعين ؛ للقيام بذلك ، استخدم-ur.

عندما لا يكون لملف الإدخال نفس التنسيق مثل ملف الإخراج ، يتم دعم الربط الجزئي فقط إذا كان ملف الإدخال هذا لا يحتوي على أي عمليات إعادة توطين. تنسيقات الإخراج المختلفة يمكن أن يكون لديك قيود إضافية؛ على سبيل المثال لا تدعم بعض التنسيقات المستندة إلى "a.out" الارتباط الجزئي بملفات الإدخال بتنسيقات أخرى على الإطلاق.

هذا الخيار يفعل نفس الشيء-أنا.

-R اسم الملف

--just-حرف = اسم الملف

قراءة أسماء الرموز وعناوينهم من اسم الملف ولكن لا تقم بنقلها أو تضمينها في الإخراج. يسمح ذلك لملف الإخراج الخاص بك بالإشارة إلى المواقع المطلقة للذاكرة المحددة في البرامج الأخرى. يمكنك استخدام هذا الخيار أكثر من مرة.

للتوافق مع روابط ELF الأخرى ، إذا كان-R الخيار متبوعًا باسم دليل ، بدلاً من اسم ملف ، يتم التعامل معه على أنه-rpath اختيار.

-s

--strip للجميع

احذف جميع معلومات الرموز من ملف الإخراج.

-S

--strip-التصحيح

حذف معلومات رمز المصحح (ولكن ليس كل الرموز) من ملف الإخراج.

-t

--أثر

اطبع أسماء ملفات الإدخال باسمدينار يعالجهم.

-T scriptfile

--script = scriptfile

استعمال scriptfile مثل البرنامج النصي رابط. يستبدل هذا البرنامج النصيدينارالنصي رابط الافتراضي (بدلا من إضافة إليها) ، لذلك commandfile يجب تحديد كل ما هو ضروري لوصف ملف الإخراج. إذا scriptfile غير موجود في الدليل الحالي ، يبحث "ld" عنه في الدلائل المحددة بواسطة أي سابق-L خيارات. مضاعف-T خيارات تتراكم.

-u رمز

--undefined = رمز

فرض رمز ليتم إدخالها في ملف الإخراج كرمز غير محدد. قد يؤدي القيام بذلك ، على سبيل المثال ، إلى ربط وحدات إضافية من المكتبات القياسية.-u قد يتكرر مع وسيطات خيار مختلفة لإدخال رموز غير محددة إضافية. هذا الخيار يكافئ الأمر البرنامج النصي رابط "EXTERN".

-ur

لأي شيء آخر غير برامج C ++ ، هذا الخيار يكافئ-r: إنه يولد ناتجاً قابلاً لإعادة النشر --- على سبيل المثال ، ملف إخراج يمكن أن يعمل بدوره كمدخلدينار. عند ربط برامج C ++ ،-ur هل يحل الإشارات إلى المنشئين ، على عكس-r. لا يعمل على استخدامها-ur على الملفات التي كانت مرتبطة بنفسها-ur. بمجرد إنشاء الجدول المنشئ ، لا يمكن إضافته. استعمال-ur فقط للارتباط الجزئي الأخير ، و-r للآخرين.

--unique = الجزء

ينشئ قسم إخراج منفصل لكل مطابقة قسم الإدخال الجزء ، أو إذا كان حرف بدل اختياري الجزء الوسيطة ، لكل قسم إدخال اليتيم. مقطع اليتيم واحد غير مذكور بشكل محدد في برنامج نصي رابط. يمكنك استخدام هذا الخيار عدة مرات في سطر الأوامر؛ يمنع الدمج العادي لأقسام الإدخال بنفس الاسم ، وتجاوز تعيينات قسم الإخراج في برنامج نصي رابط.

-الخامس

--الإصدار

-الخامس

عرض رقم الإصدار لـدينار. ال-الخامس الخيار يسرد أيضًا عمليات المحاكاة المدعومة.

-x

--تجاهل كل

احذف جميع الرموز المحلية.

-X

السكان المحليين---discard

احذف كل الرموز المحلية المؤقتة. بالنسبة لمعظم الأهداف ، هذه هي جميع الرموز المحلية التي تبدأ أسماؤهاL.

-y رمز

--trace-رمز = رمز

اطبع اسم كل ملف مرتبط فيه رمز يبدو. قد يتم منح هذا الخيار أي عدد من المرات. في العديد من الأنظمة ، من الضروري إضافة شرطة سفلية.

يكون هذا الخيار مفيدًا عندما يكون لديك رمز غير معرّف في رابطك ولكن لا تعرف مصدره.

-Y مسار

إضافة مسار إلى مسار بحث المكتبة الافتراضي. يوجد هذا الخيار لتوافق Solaris.

-z الكلمة

الكلمات الرئيسية المعترف بها هي "initfirst" و "interpose" و "loadfltr" و "nodefaultlib" و "nodelete" و "nodlopen" و "nodump" و "now" و "origin" و "combreloc" و "nocombreloc" و "nocopyreloc ". يتم تجاهل الكلمات الأساسية الأخرى للتوافق مع Solaris. "initfirst" علامات الكائن المراد تهيئته أولاً في وقت التشغيل قبل أي كائنات أخرى."interpose" علامات الكائن الذي يقابله جدول الرموز الخاص به قبل كافة الرموز ولكن الملف التنفيذي الأساسي. "loadfltr" يقوم بتمييز الكائن الذي تتم معالجة filtees الخاصة به فورًا في وقت التشغيل. "nodefaultlib" يقوم بتمييز الكائن الذي سيتم تجاهل البحث عن تبعيات هذا الكائن أي مسارات البحث في المكتبة الافتراضية. "nodelete" علامات لا يجب إلغاء تحميل الكائن في وقت التشغيل. "nodlopen" علامات الكائن غير متوفر إلى "dlopen". علامات "nodump" لا يمكن أن يتم تفريغ الكائن بواسطة "dldump". "الآن" علامات الكائن بربط وقت التشغيل غير البطيئة. يشير "الأصل" إلى أن الكائن قد يحتوي على $ ORIGIN. "defs" لا تسمح برموز غير محددة. "muldefs" يسمح بتعريفات متعددة. "combreloc" يجمع بين أقسام reloc متعددة ويفرزها لجعل التخزين المؤقت للبحث عن رمز ديناميكي ممكن.

"nocombreloc" يعطل عدة أقسام إعادة التوثيق. "nocopyreloc" يعطل إنتاج مستندات النسخ.

-( أرشيف -)

--start-مجموعة أرشيف --end-مجموعة

ال أرشيف يجب أن تكون قائمة ملفات الأرشيف. قد تكون إما أسماء ملفات صريحة أو-lخيارات.

يتم البحث عن المحفوظات المحددة بشكل متكرر حتى لا يتم إنشاء مراجع جديدة غير محددة. عادةً ما يتم البحث في الأرشيف مرة واحدة فقط بالترتيب المحدد في سطر الأوامر. إذا كان هناك حاجة إلى رمز في هذا الأرشيف لحل رمز غير محدد يُشار إليه بواسطة كائن في أرشيف يظهر لاحقًا في سطر الأوامر ، فلن يتمكن الرابط من حل هذا المرجع. من خلال تجميع الأرشيفات ، يتم البحث عنها بشكل متكرر حتى يتم حل جميع المراجع المحتملة.

استخدام هذا الخيار له تكلفة أداء كبيرة. من الأفضل استخدامه فقط عندما تكون هناك مراجع دائرية لا يمكن تجنبها بين أرشيفين أو أكثر.

--accept-غير معروف المدخلات اللدود

-ما لا-تقبل-غير معروف المدخلات اللدود

يخبر رابط لقبول ملفات الإدخال التي لا يمكن التعرف على بنيتها. الافتراض هو أن المستخدم يعرف ما يفعلونه ويرغب عمدا في الارتباط في ملفات الإدخال غير المعروفة هذه. كان هذا هو السلوك الافتراضي للرابط ، قبل الإصدار 2.14. السلوك الافتراضي من الإصدار 2.14 فصاعدًا هو رفض ملفات الإدخال هذه ، وهكذا--accept-غير معروف المدخلات اللدود تمت إضافة الخيار لاستعادة السلوك القديم.

-يجزم الكلمة

يتم تجاهل هذا الخيار لتوافق SunOS.

-Bdynamic

-dy

-call_shared

اربط ضد المكتبات الديناميكية. هذا مفيد فقط على الأنظمة الأساسية التي تدعم المكتبات المشتركة. هذا الخيار هو عادة الافتراضي على هذه المنصات. المتغيرات المختلفة لهذا الخيار هي للتوافق مع أنظمة مختلفة. يمكنك استخدام هذا الخيار عدة مرات في سطر الأوامر: فهو يؤثر على البحث عن المكتبة-l الخيارات التي تتبع ذلك.

-Bgroup

عيّن علامة "DF_1_GROUP" في الإدخال "DT_FLAGS_1" في القسم الديناميكي. هذا يؤدي رابط وقت التشغيل لمعالجة عمليات البحث في هذا الكائن وتبعياته ليتم تنفيذها داخل المجموعة فقط.-ما لا-غير معروف هو ضمني. هذا الخيار له معنى فقط على منصات ELF التي تدعم المكتبات المشتركة.

-Bstatic

-dn

-non_shared

-ثابتة

لا ترتبط بمكتبات مشتركة. هذا مفيد فقط على الأنظمة الأساسية التي تدعم المكتبات المشتركة. المتغيرات المختلفة لهذا الخيار هي للتوافق مع أنظمة مختلفة. يمكنك استخدام هذا الخيار عدة مرات في سطر الأوامر: فهو يؤثر على البحث عن المكتبة-l الخيارات التي تتبع ذلك.

-Bsymbolic

عند إنشاء مكتبة مشتركة ، قم بربط المراجع للرموز العامة بالتعريف داخل المكتبة المشتركة ، إن وجدت. عادة ، من الممكن لبرنامج مرتبط بمكتبة مشتركة لتجاوز التعريف داخل المكتبة المشتركة. هذا الخيار ذو مغزى فقط على ELFplatforms التي تدعم المكتبات المشتركة.

--check المقاطع

المقاطع -ما لا إجراءات المغادرة

يسأل رابط ليس للتحقق من عناوين الأقسام بعد تعيينها لمعرفة ما إذا كانت هناك أي تداخلات. عادةً ما يقوم الرابط بإجراء هذا الفحص ، وفي حالة العثور على أي تداخلات سيؤدي إلى ظهور رسائل خطأ مناسبة. يعرف linker عن ، ويقوم بإجراء بدلات للأقسام في التراكبات. يمكن استعادة السلوك الافتراضي باستخدام مفتاح تبديل سطر الأوامر--check المقاطع.

--cref

إخراج جدول مرجعي متقاطع. في حالة إنشاء ملف خريطة رابط ، تتم طباعة الجدول المرجعي الترافقي إلى ملف الخريطة. خلاف ذلك ، يتم طباعته على الإخراج القياسي.

تنسيق الجدول بسيط عمداً ، بحيث يمكن معالجته بسهولة بواسطة برنامج نصي إذا لزم الأمر. تتم طباعة الرموز وفرزها حسب الاسم. لكل رمز ، يتم إعطاء قائمة بأسماء الملفات. إذا تم تعريف الرمز ، فإن أول ملف مدرج هو موقع التعريف. تحتوي الملفات المتبقية على مراجع للرمز.

-ما لا-تحديد-شيوعا

يمنع هذا الخيار تعيين عناوين للرموز الشائعة. يحتوي الأمر البرنامج النصي "INHIBIT_COMMON_ALLOCATION" على نفس التأثير.

ال-ما لا-تحديد-شيوعا يسمح الخيار بفصل قرار تعيين عناوين للرموز المشتركة من اختيار نوع ملف الإخراج ؛ وإلا ، فإن نوع إخراج غير قابل لإعادة النقل يفرض تعيين عناوين للرموز الشائعة. عن طريق-ما لا-تحديد-شيوعا يسمح الرموز الشائعة التي يتم الرجوع إليها من مكتبة مشتركة لتعيين عناوين فقط في البرنامج الرئيسي. يؤدي ذلك إلى التخلص من المساحة المكررة غير المستخدمة في المكتبة المشتركة ، كما يمنع حدوث أي تشويش محتمل حول حل التكرار الخاطئ عند وجود العديد من الوحدات الديناميكية مع مسارات بحث متخصصة لدقة تشفير وقت التشغيل.

--defsym رمز = التعبير

أنشئ رمزًا عامًا في ملف الإخراج ، يحتوي على العنوان المطلق المضمن بواسطة التعبير . يمكنك استخدام هذا الخيار عدة مرات حسب الضرورة لتعريف رموز متعددة في سطر الأوامر. ويدعم شكل محدود من الحساب ل التعبير في هذا السياق: يمكنك إعطاء ثابت سداسي عشري أو اسم رمز موجود ، أو استخدام "+" و "-" لإضافة أو طرح ثوابت أو رموز سداسية عشرية. إذا كنت بحاجة إلى تعبيرات أكثر تفصيلاً ، ففكر في استخدام لغة أمر linker من البرنامج النصي. ملحوظة: يجب ألا يكون هناك مسافة بيضاء بين رمز علامة المساواة (`="") ، و التعبير .

--demangle = قلم المدقة

-ما لا-demangle

تتحكم هذه الخيارات فيما إذا كان سيتم إزالة أسماء الرموز في رسائل الخطأ والإخراج الآخر. عندما يُطلب من المُحلل أن يتشوه ، فإنه يحاول عرض أسماء الرموز بطريقة مقروءة: يقوم بتجسيم الشرطات السفلية الأمامية إذا تم استخدامها بواسطة تنسيق ملف الكائن ، وتحويل أسماء رموز C ++ متشابكة إلى أسماء يمكن للمستخدم قراءتها. لدى المجمعين المختلفين أساليب مختلفة للصرف. يمكن استخدام وسيطة نمط التفضيل الاختيارية لاختيار نمط تشتيت مناسب للمترجم الخاص بك. سيتم تشفير الرابط افتراضيًا ما لم يكن متغير البيئةCOLLECT_NO_DEMANGLE تم تعيينه. يمكن استخدام هذه الخيارات لتجاوز الافتراضي.

--dynamic-رابط ملف

قم بتعيين اسم رابط ديناميكي. هذا هو معنى فقط عند إنشاء الملفات التنفيذية ELF المرتبطة بشكل حيوي. الرابط الديناميكي الافتراضي هو الصحيح عادة. لا تستخدم هذا إلا إذا كنت تعرف ما تقوم به.

relocs---embedded

يكون هذا الخيار مفيدًا فقط عند ربط رمز PIC المضمن لـ MIPS ، الذي تم إنشاؤه بواسطة خيار pic-pic إلى مترجم GNU والمجمّع. يتسبب في إنشاء رابط لإنشاء جدول يمكن استخدامه في وقت التشغيل لإعادة تحديد أي بيانات تمت تهيئتها بشكل ثابت إلى قيم المؤشر. راجع الشفرة في testsuite / ld-empic للحصول على التفاصيل.

تحذيرات --fatal

علاج جميع التحذيرات كأخطاء.

--force-إكس-لاحقة

تأكد من أن ملف الإخراج يحتوي على لاحقة .exe.

إذا لم يكن ملف إخراج تم إنشاؤه بالكامل بنجاح مضمناً لاحقة ".exe" أو ".dll" ، يفرض هذا الخيار رابط لنسخ ملف الإخراج إلى واحد من نفس الاسم مع لاحقة ".exe". يكون هذا الخيار مفيدًا عند استخدام makefiles Unix غير معدلة على مضيف Microsoft Windows ، نظرًا لأن بعض إصدارات Windows لن تقوم بتشغيل صورة ما لم تنتهي بلاحقة ".exe".

-ما لا-GC-أقسام

المقاطع --gc

تمكين تجميع البيانات المهملة لمقاطع الإدخال غير المستخدمة. يتم تجاهله على الأهداف التي لا تدعم هذا الخيار. هذا الخيار غير متوافق مع-r، ولا ينبغي استخدامه مع الربط الديناميكي. يمكن استعادة السلوك الافتراضي (لعدم تنفيذ مجموعة البيانات المهملة هذه) عن طريق تحديد-ما لا-GC-أقسام على سطر الأوامر.

--مساعدة

اطبع ملخصًا لخيارات سطر الأوامر الموجودة في الإخراج القياسي والخروج.

--target-مساعدة

اطبع ملخصًا لجميع الخيارات المحددة المستهدفة على المخرج والخروج القياسي.

-خريطة ملف التخطيط

اطبع خريطة وصلة للملف ملف التخطيط . انظر وصف-M الخيار ، أعلاه.

-ما لا المحافظة على الذاكرة

دينار يعمل عادةً على تحسين السرعة على استخدام الذاكرة عن طريق التخزين المؤقت لجداول الرموز لملفات الإدخال في الذاكرة. هذا الخيار يحكيدينار بدلاً من ذلك ، تحسين استخدام الذاكرة ، عن طريق إعادة قراءة جداول الرموز حسب الضرورة. قد يكون هذا مطلوبًا إذادينار نفاد مساحة الذاكرة أثناء ربط ملفًا تنفيذيًا كبيرًا.

-ما لا-غير معروف

-z defs

عادةً عند إنشاء مكتبة مشتركة غير رمزية ، يتم السماح بالرموز غير المحددة ويترك الحل الذي تم حله بواسطة أداة تحميل وقت التشغيل. هذه الخيارات لا تسمح برموز غير محددة.

--السماح-متعددة تعريف

-z muldefs

عادةً عندما يتم تعريف رمز عدة مرات ، سيبلغ رابط الخطأ الفادح. تسمح هذه الخيارات بتعريفات متعددة وسيتم استخدام التعريف الأول.

--السماح-shlib-غير معروف

السماح للرموز غير المعرفة في الكائنات المشتركة حتى عندما يتم ضبط --no-undefined. ستكون النتيجة الصافية أن رموز غير محددة في الكائنات العادية ستستمر في حدوث خطأ ، ولكن سيتم تجاهل الرموز غير المعرفة في الكائنات المشتركة. تطبيق no_undefined يجعل الافتراض أن رابط وقت التشغيل سيختنق على رموز غير محددة. ومع ذلك ، يوجد نظام واحد على الأقل (BeOS) حيث تكون الرموز غير المحددة في المكتبات المشتركة أمرًا طبيعيًا نظرًا لأن النواة تقوم بتصغيرها في وقت التحميل لتحديد الوظيفة الأكثر ملاءمة للعمارة الحالية. أي. ديناميكيًا اختر وظيفة الذاكرة المناسبة. من الواضح أنه من الطبيعي أيضًا أن تحتوي المكتبات المشتركة لـ HPPA على رموز غير محددة.

-ما لا-غير معروف الإصدار

عادةً عندما يحتوي الرمز على إصدار غير معرف ، سيتجاهل رابطه. يمنع هذا الخيار الرموز ذات الإصدار غير المعروف وسيتم إصدار خطأ فادح بدلاً من ذلك.

-ما لا-تحذير-عدم تطابق

بشكل طبيعيدينار سيعطيك خطأ إذا حاولت ربط ملفات الإدخال غير المتطابقة لسبب ما ، ربما لأنه تم تجميعها لمعالجات مختلفة أو لأصناف endianness مختلفة. هذا الخيار يحكيدينار أنه يجب أن يسمح بصمت بهذه الأخطاء المحتملة. يجب استخدام هذا الخيار بعناية فقط ، في الحالات التي تتخذ فيها إجراءً خاصًا يضمن عدم صحة أخطاء رابط البرنامج.

-ما لا-هول-أرشيف

إيقاف تأثير--whole-أرشيف الخيار لملفات الأرشيفات اللاحقة.

--noinhibit-إكسيك

الاحتفاظ بملف الإخراج القابل للتنفيذ كلما كان لا يزال صالحًا للاستخدام.عادة ، لن ينشئ رابط ملف الإخراج إذا واجه أخطاء أثناء عملية الارتباط؛ فإنه يخرج دون كتابة ملف الإخراج عندما يصدر أي خطأ على الإطلاق.

-nostdlib

فقط الدلائل مكتبة البحث المحددة صراحة على سطر الأوامر. يتم تجاهل دلائل المكتبة المحددة في البرامج النصية رابط (بما في ذلك البرامج النصية رابط المحددة في سطر الأوامر).

--oformat تنسيق الإخراج

دينار قد يتم تكوينه لدعم أكثر من نوع واحد من ملف الكائن. إذا كان لديكدينار تم تكوينه بهذه الطريقة ، يمكنك استخدام--oformat الخيار لتحديد تنسيق ثنائي لملف كائن الإخراج. حتى عندمادينار تم تكوينه لدعم تنسيقات الكائنات البديلة ، لا تحتاج عادةً إلى تحديد هذا ، مثلدينار يجب أن يتم تكوينها كتنسيق إخراج افتراضي على الشكل الأكثر استخدامًا على كل جهاز. تنسيق الإخراج هي سلسلة نصية ، اسم تنسيق معين مدعوم من مكتبات BFD. (يمكنك إدراج التنسيقات الثنائية المتوفرة معobjdump -i.) يمكن أيضًا أن يحدد أمر البرنامج النصي "OUTPUT_FORMAT" تنسيق الإخراج ، ولكن هذا الخيار يلغيه.

-qmagic

يتم تجاهل هذا الخيار لتوافق Linux.

-Qy

يتم تجاهل هذا الخيار لتوافق SVR4.

--الاسترخاء

خيار مع تأثيرات تعتمد على الجهاز. هذا الخيار معتمد فقط على عدد قليل من الأهداف.

على بعض المنصات ، و--الاسترخاء ينفّذ الخيار تحسينات عالمية تصبح ممكنة عندما يحل رابط العنوان في البرنامج ، مثل أوضاع العنوان المريح وتوليف التعليمات الجديدة في ملف كائن المخرجات.

على بعض المنصات ، قد تؤدي هذه التحسينات العالمية لوقت الربط إلى جعل التصحيح الرمزي للخطأ القابل للتنفيذ الناتج مستحيلاً. ومن المعروف أن هذا هو الحال بالنسبة لعائلة من المعالجات ماتسوشيتا MN10200and MN10300.

على الأنظمة الأساسية حيث لا يتم دعم ذلك ،--الاسترخاء مقبول ، لكن تم تجاهله.

--retain-حرف-ملف اسم الملف

احتفظ فقط الرموز المدرجة في الملف اسم الملف ، تجاهل كل الآخرين. اسم الملف هو ببساطة ملف مسطح ، مع اسم رمز واحد في كل سطر. هذا الخيار مفيد بشكل خاص في البيئات (مثل VxWorks) حيث يتم تجميع جدول رمز عمومي كبير بشكل تدريجي ، وذلك للحفاظ على ذاكرة وقت التشغيل.

--retain-حرف-ملف هل ليس تجاهل الرموز غير المحددة ، أو الرموز اللازمة لإعادة الترحيل.

يمكنك تحديد فقط--retain-حرف-ملف مرة واحدة في سطر الأوامر. يتجاوز-s و-S.

-rpath دير

إضافة دليل إلى مسار بحث مكتبة وقت التشغيل. يتم استخدام هذا عند ربط ELFex التنفيذي مع الكائنات المشتركة. الكل-rpath تكون الوسيطات متسلسلة ويتم تمريرها إلى رابط وقت التشغيل ، والذي يستخدمها لتحديد موقع الكائنات المشتركة في وقت التشغيل. ال-rpath يتم استخدام الخيار أيضًا عند تحديد موقع الكائنات المشتركة التي تحتاج إليها الكائنات المشتركة والمضمنة بشكل صريح في الرابط ؛ انظر وصف-rpath الارتباط اختيار. إذا-rpath لا يستخدم عند ربط ELF القابل للتنفيذ ، سيتم استخدام محتويات متغير البيئة "LD_RUN_PATH" إذا تم تعريفها.

ال-rpath خيار يمكن أيضا أن تستخدم على SunOS. بشكل افتراضي ، في SunOS ، سيشكّل الرابط تصحيحًا للبحث من وقت التشغيل من جميع-L خيارات يتم منحها. اذا كان-rpath يتم استخدام الخيار ، سيتم تشكيل مسار البحث وقت التشغيل حصرا باستخدام-rpath خيارات ، تجاهل-Lخيارات. يمكن أن يكون هذا مفيدًا عند استخدام gcc ، والذي يضيف الكثير-L الخيارات التي قد تكون على أنظمة الملفات المحملة على NFS.

للتوافق مع روابط ELF الأخرى ، إذا كان-R الخيار متبوعًا باسم دليل ، بدلاً من اسم ملف ، يتم التعامل معه على أنه-rpath اختيار.

-rpath الارتباط DIR

عند استخدام ELF أو SunOS ، قد تتطلب مكتبة واحدة مشتركة أخرى. يحدث هذا عندما يتضمن الرابط "ld -shared" مكتبة مشتركة كأحد ملفات الإدخال.

عندما يصادف الرابطة مثل هذا التبعية عند إجراء رابط غير مشترك ، غير قابل للانتقال ، فإنه سيحاول تلقائيًا تحديد موقع المكتبة المشتركة المطلوبة وإدراجه في الرابط ، إذا لم يتم تضمينه بشكل صريح. في مثل هذه الحالة ، فإن-rpath الارتباط الخيار يحدد أول مجموعة من الأدلة للبحث. ال-rpath الارتباط قد يحدد الخيار تسلسل أسماء الدليل إما عن طريق تحديد قائمة الأسماء المفصولة بنقطتين ، أو عن طريق الظهور عدة مرات.

يجب استخدام هذا الخيار بحذر لأنه يتجاوز مسار البحث الذي قد يكون تم تجميعه في مكتبة مشتركة. في مثل هذه الحالة ، يمكن استخدام مسار بحث مختلف عن غير قصد من رابط رابط التشغيل.

يستخدم رابط مسارات البحث التالية لتحديد موقع المكتبات المشتركة المطلوبة.

1.

أي الدلائل المحددة من قبل-rpath الارتباط خيارات.

2.

أي الدلائل المحددة من قبل-rpath خيارات. الفرق بين-rpath و-rpath الارتباط هو أن الدلائل المحددة من قبل-rpath يتم تضمين الخيارات في الملف التنفيذي واستخدامها في وقت التشغيل ، في حين أن-rpath الارتباط الخيار فعال فقط في وقت الرابط. وهو للرابط الأصلي فقط.

3.

على نظام ELF ، إذا كان-rpath ولم يتم استخدام خيارات "rpath-link" ، ابحث في محتويات متغير البيئة "LD_RUN_PATH". وهو للرابط الأصلي فقط.

4.

على SunOS ، إذا كان-rpath لم يتم استخدام الخيار ، ابحث في أي أدلة محددة باستخدام-L خيارات.

5.

بالنسبة إلى رابط أصلي ، فإن محتويات متغير البيئة "LD_LIBRARY_PATH".

6.

بالنسبة إلى رابط ELF الأصلي ، يتم البحث عن الدلائل في "DT_RUNPATH" أو "DT_RPATH" لمكتبة مشتركة للمكتبات المشتركة التي تحتاج إليها.يتم تجاهل إدخالات "DT_RPATH" في حالة وجود إدخالات "DT_RUNPATH".

7.

الدلائل الافتراضية ، عادة / ليب و / البيرة / ليب .

8.

لرابط أصلي على نظام ELF ، إذا كان الملف /etc/ld.so.conf موجود ، قائمة الدلائل الموجودة في هذا الملف.

إذا لم يتم العثور على المكتبة المشتركة المطلوبة ، فسيصدر رابط تحذيرًا ومتابعة الارتباط.

-shared

-Bshareable

قم بإنشاء مكتبة مشتركة. هذا معتمد حاليًا فقط على منصات ELF و XCOFF و SunOS. على SunOS ، سيقوم linker تلقائيًا بإنشاء مكتبة مشتركة إذا كانت-e لا يستخدم الخيار وهناك رموز غير محددة في الرابط.

--sort-شيوعا

هذا الخيار يحكيدينار لفرز الرموز الشائعة حسب الحجم عندما يضعها في أقسام الإخراج المناسبة. تأتي أولاً كل رموز البايتات ، ثم كل البايتين ، ثم كل البايتات الأربعة ، ثم كل شيء آخر. هذا لمنع الفجوات بين الرموز بسبب قيود المحاذاة.

- يوازي