अंग्रेज़ीफ्रेंचस्पेनिश

सर्वर चलाएं | Ubuntu > | Fedora > |


ऑनवर्क्स फ़ेविकॉन

i686-linux-gnu-ld - क्लाउड में ऑनलाइन

उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर पर ऑनवर्क्स मुफ्त होस्टिंग प्रदाता में i686-linux-gnu-ld चलाएं।

यह कमांड i686-linux-gnu-ld है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


एलडी - जीएनयू लिंकर

SYNOPSIS


एलडी [विकल्पों] objfile ...

वर्णन


ld कई ऑब्जेक्ट और संग्रह फ़ाइलों को जोड़ती है, उनके डेटा को स्थानांतरित करती है
और प्रतीक संदर्भों को जोड़ता है। आमतौर पर संकलन का अंतिम चरण a
कार्यक्रम चलाना है ld.

ld के सुपरसेट में लिखी गई लिंकर कमांड भाषा फाइलों को स्वीकार करता है
एटी एंड टी के लिंक एडिटर कमांड लैंग्वेज सिंटैक्स, स्पष्ट और . प्रदान करने के लिए
जोड़ने की प्रक्रिया पर पूर्ण नियंत्रण।

यह मैन पेज कमांड भाषा का वर्णन नहीं करता है; देखें ld प्रविष्टि
कमांड भाषा और अन्य पहलुओं पर पूर्ण विवरण के लिए "जानकारी" में
जीएनयू लिंकर का।

के इस संस्करण ld संचालित करने के लिए सामान्य प्रयोजन बीएफडी पुस्तकालयों का उपयोग करता है
वस्तु फ़ाइलें। यह अनुमति देता है ld ऑब्जेक्ट फ़ाइलों को पढ़ने, संयोजित करने और लिखने के लिए
कई अलग-अलग प्रारूपों में --- उदाहरण के लिए, सीओएफएफ या "ए.आउट"। विभिन्न
किसी भी उपलब्ध प्रकार की वस्तु का उत्पादन करने के लिए प्रारूपों को एक साथ जोड़ा जा सकता है
फ़ाइल.

इसके लचीलेपन के अलावा, GNU लिंकर अन्य की तुलना में अधिक सहायक है
नैदानिक ​​​​जानकारी प्रदान करने में लिंकर्स। कई लिंकर्स छोड़ देते हैं
त्रुटि मिलने पर तुरंत निष्पादन; जब भी संभव, ld
निष्पादित करना जारी रखता है, जिससे आप अन्य त्रुटियों की पहचान कर सकते हैं (या, कुछ में)
मामलों, त्रुटि के बावजूद आउटपुट फ़ाइल प्राप्त करने के लिए)।

जीएनयू लिंकर ld स्थितियों की एक विस्तृत श्रृंखला को कवर करने के लिए है, और करने के लिए
अन्य लिंकर्स के साथ यथासंभव संगत रहें। परिणामस्वरूप, आपके पास
अपने व्यवहार को नियंत्रित करने के लिए कई विकल्प।

विकल्प


लिंकर कमांड-लाइन विकल्पों की अधिकता का समर्थन करता है, लेकिन वास्तव में
अभ्यास उनमें से कुछ का उपयोग किसी विशेष संदर्भ में किया जाता है। उदाहरण के लिए,
का बार-बार उपयोग ld मानक यूनिक्स ऑब्जेक्ट फ़ाइलों को a . पर लिंक करना है
मानक, समर्थित यूनिक्स प्रणाली। ऐसे सिस्टम पर किसी फाइल को लिंक करने के लिए
"हैलो.ओ":

मैं करता हूं /lib/crt0.o hello.o -lc

इससे पता ld नामक फ़ाइल बनाने के लिए उत्पादन जोड़ने के परिणाम के रूप में
फ़ाइल "/lib/crt0.o" "hello.o" और पुस्तकालय "libc.a" के साथ, जो
मानक खोज निर्देशिकाओं से आएगा। (चर्चा देखें
la -l नीचे विकल्प।)

करने के लिए कमांड-लाइन विकल्पों में से कुछ ld में किसी भी बिंदु पर निर्दिष्ट किया जा सकता है
कमांड लाइन। हालांकि, विकल्प जो फाइलों को संदर्भित करते हैं, जैसे कि -l or
-T, फ़ाइल को उस बिंदु पर पढ़ने का कारण बनता है जिस पर विकल्प दिखाई देता है
कमांड लाइन में, ऑब्जेक्ट फाइलों और अन्य फाइलों के सापेक्ष
विकल्प। भिन्न तर्क के साथ गैर-फ़ाइल विकल्पों को दोहराने से
या तो कोई और प्रभाव नहीं पड़ता है, या पिछली घटनाओं को ओवरराइड करता है (वे
आगे कमांड लाइन पर बाईं ओर) उस विकल्प का। विकल्प जो
में एक से अधिक बार अर्थपूर्ण रूप से निर्दिष्ट किया जा सकता है
नीचे विवरण।

गैर-विकल्प तर्क ऑब्जेक्ट फ़ाइलें या संग्रह होते हैं जिन्हें होना चाहिए
आपस मे जुड़े हैं। वे अनुसरण कर सकते हैं, पूर्ववर्ती हो सकते हैं, या इसमें मिश्रित हो सकते हैं
कमांड-लाइन विकल्प, सिवाय इसके कि एक ऑब्जेक्ट फ़ाइल तर्क नहीं हो सकता है
एक विकल्प और उसके तर्क के बीच रखा गया है।

आम तौर पर लिंकर को कम से कम एक ऑब्जेक्ट फ़ाइल के साथ बुलाया जाता है, लेकिन आप
बाइनरी इनपुट फ़ाइलों के अन्य रूपों का उपयोग करके निर्दिष्ट कर सकते हैं -l, -R, और
स्क्रिप्ट कमांड भाषा। अगर नहीं बाइनरी इनपुट फ़ाइलें बिल्कुल हैं
निर्दिष्ट, लिंकर कोई आउटपुट नहीं देता है, और जारी करता है
संदेश नहीं निवेश फ़ाइलों.

यदि लिंकर किसी ऑब्जेक्ट फ़ाइल के प्रारूप को नहीं पहचान सकता है, तो यह होगा
मान लें कि यह एक लिंकर स्क्रिप्ट है। इस तरह से निर्दिष्ट एक स्क्रिप्ट
लिंक के लिए उपयोग की जाने वाली मुख्य लिंकर स्क्रिप्ट को बढ़ाता है (या तो डिफ़ॉल्ट
लिंकर स्क्रिप्ट या एक का उपयोग करके निर्दिष्ट किया गया -T) यह सुविधा अनुमति देती है
एक फ़ाइल के खिलाफ लिंक करने के लिए लिंकर जो एक वस्तु या एक प्रतीत होता है
संग्रह, लेकिन वास्तव में केवल कुछ प्रतीक मूल्यों को परिभाषित करता है, या उपयोग करता है
अन्य वस्तुओं को लोड करने के लिए "इनपुट" या "ग्रुप"। इसमें एक स्क्रिप्ट निर्दिष्ट करना
रास्ता केवल अतिरिक्त कमांड के साथ मुख्य लिंकर स्क्रिप्ट को बढ़ाता है
मुख्य लिपि के बाद रखा गया; उपयोग -T डिफ़ॉल्ट को बदलने का विकल्प
लिंकर स्क्रिप्ट पूरी तरह से, लेकिन "INSERT" कमांड के प्रभाव पर ध्यान दें।

उन विकल्पों के लिए जिनके नाम एक अक्षर हैं, विकल्प तर्क अवश्य होना चाहिए
या तो व्हाइटस्पेस में हस्तक्षेप किए बिना विकल्प पत्र का पालन करें, या हो
विकल्प के तुरंत बाद अलग तर्क के रूप में दिया गया है कि
उनकी आवश्यकता है।

उन विकल्पों के लिए जिनके नाम एक से अधिक अक्षर हैं, या तो एक डैश या दो
विकल्प नाम से पहले हो सकता है; उदाहरण के लिए, -ट्रेस-प्रतीक और
--ट्रेस-प्रतीक समकक्ष हैं। नोट --- इसका एक अपवाद है
नियम। एक से अधिक अक्षर विकल्प जो छोटे अक्षर 'o' से शुरू हो सकते हैं
केवल दो डैश से पहले हो। यह भ्रम को कम करने के लिए है
-o विकल्प। तो उदाहरण के लिए जादू आउटपुट फ़ाइल का नाम सेट करता है जादू
जहाँ तक --ओमैजिक आउटपुट पर NMAGIC ध्वज सेट करता है।

बहु-अक्षर विकल्पों के तर्कों को या तो से अलग किया जाना चाहिए
विकल्प नाम एक समान चिह्न द्वारा, या अलग तर्क के रूप में दिया जाना चाहिए
उस विकल्प का तुरंत पालन करें जिसके लिए उनकी आवश्यकता है। उदाहरण के लिए,
--ट्रेस-प्रतीक foo और --ट्रेस-प्रतीक = फू समकक्ष हैं। अनोखा
बहु-अक्षर विकल्पों के नामों के संक्षिप्तिकरण स्वीकार किए जाते हैं।

नोट --- यदि कंपाइलर ड्राइवर के माध्यम से लिंकर को अप्रत्यक्ष रूप से आमंत्रित किया जा रहा है
(उदाहरण के लिए जीसीसी) तो सभी लिंकर कमांड लाइन विकल्पों को उपसर्ग करना चाहिए
by -डब्ल्यूएल, (या जो भी विशेष कंपाइलर ड्राइवर के लिए उपयुक्त है)
इस तरह:

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

यह महत्वपूर्ण है, क्योंकि अन्यथा कंपाइलर ड्राइवर प्रोग्राम हो सकता है
लिंकर विकल्पों को चुपचाप छोड़ दें, जिसके परिणामस्वरूप एक खराब लिंक होता है। भ्रम की स्थिति
विकल्पों को पारित करते समय भी उत्पन्न हो सकता है जिसके लिए मूल्यों की आवश्यकता होती है a
ड्राइवर, विकल्प और तर्क के बीच एक स्थान के उपयोग के रूप में कार्य करता है a
विभाजक, और ड्राइवर को लिंकर के लिए केवल विकल्प पास करने का कारण बनता है
और संकलक के लिए तर्क। इस मामले में, इसका उपयोग करना सबसे आसान है
एकल और बहु-अक्षर दोनों विकल्पों के सम्मिलित रूप, जैसे:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

यहां जेनेरिक कमांड लाइन स्विच की एक तालिका है जिसे स्वीकार किया गया है
जीएनयू लिंकर:

@पट्टिका
से कमांड-लाइन विकल्प पढ़ें पट्टिका. पढ़े गए विकल्प डाले गए हैं
मूल @ के स्थान परपट्टिका विकल्प। अगर पट्टिका मौजूद नहीं है, या
पढ़ा नहीं जा सकता है, तो विकल्प का शाब्दिक व्यवहार किया जाएगा, और नहीं
हटा दिया।

में विकल्प पट्टिका व्हाइटस्पेस द्वारा अलग किया जाता है। एक सफेद जगह
चरित्र को एक विकल्प में शामिल किया जा सकता है, जो संपूर्ण को घेरता है
सिंगल या डबल कोट्स में विकल्प। कोई भी चरित्र (सहित
एक बैकस्लैश) चरित्र को उपसर्ग करके शामिल किया जा सकता है be
बैकस्लैश के साथ शामिल है। NS पट्टिका स्वयं अतिरिक्त हो सकता है
@पट्टिका विकल्प; ऐसे किसी भी विकल्प को पुनरावर्ती रूप से संसाधित किया जाएगा।

-a कीवर्ड
यह विकल्प HP/UX संगतता के लिए समर्थित है। NS कीवर्ड
तर्क तार में से एक होना चाहिए संग्रह, साझाया, चूक.
-आर्काइव कार्यात्मक रूप से बराबर है -बस्टेटिक, और अन्य दो
कीवर्ड कार्यात्मक रूप से के बराबर हैं -बडायनामिक. यह विकल्प मई
कितनी भी बार उपयोग किया जाए।

--अंकेक्षण लेखा परीक्षा
जोड़ता है लेखा परीक्षा गतिशील खंड की "DT_AUDIT" प्रविष्टि के लिए।
लेखा परीक्षा अस्तित्व के लिए जाँच नहीं की गई है, और न ही इसका उपयोग करेगा
DT_SONAME पुस्तकालय में निर्दिष्ट है। यदि कई बार निर्दिष्ट किया गया है
"DT_AUDIT" में ऑडिट इंटरफेस की एक कोलन से अलग की गई सूची होगी
उपयोग करने के लिए। यदि लिंकर को ऑडिट प्रविष्टि के साथ कोई वस्तु मिलती है, जबकि
साझा पुस्तकालयों की खोज करते हुए, यह एक संबंधित जोड़ देगा
आउटपुट फ़ाइल में "DT_DEPAUDIT" प्रविष्टि। यह विकल्प केवल
आरटीएलडी-ऑडिट इंटरफेस का समर्थन करने वाले ईएलएफ प्लेटफॉर्म पर सार्थक।

-A स्थापत्य
--वास्तुकला=स्थापत्य
की वर्तमान रिलीज में ld, यह विकल्प केवल के लिए उपयोगी है
आर्किटेक्चर का इंटेल 960 परिवार। में वह ld विन्यास,
स्थापत्य तर्क में विशेष वास्तुकला की पहचान करता है
960 परिवार, कुछ सुरक्षा उपायों को सक्षम करना और संग्रह को संशोधित करना-
पुस्तकालय खोज पथ।

भविष्य की रिलीज़ ld अन्य के लिए समान कार्यक्षमता का समर्थन कर सकते हैं
वास्तुकला परिवार।

-b इनपुट प्रारूप
--format=इनपुट प्रारूप
ld एक से अधिक प्रकार की ऑब्जेक्ट फ़ाइल का समर्थन करने के लिए कॉन्फ़िगर किया जा सकता है।
यदि आपके ld इस तरह से कॉन्फ़िगर किया गया है, आप इसका उपयोग कर सकते हैं -b विकल्प
इसका अनुसरण करने वाली इनपुट ऑब्जेक्ट फ़ाइलों के लिए बाइनरी प्रारूप निर्दिष्ट करें
कमांड लाइन पर विकल्प। यहां तक ​​कि जब ld समर्थन करने के लिए कॉन्फ़िगर किया गया है
वैकल्पिक वस्तु प्रारूप, आपको आमतौर पर इसे निर्दिष्ट करने की आवश्यकता नहीं होती है,
as ld डिफ़ॉल्ट इनपुट प्रारूप के रूप में अपेक्षा करने के लिए कॉन्फ़िगर किया जाना चाहिए
प्रत्येक मशीन पर सबसे सामान्य प्रारूप। इनपुट प्रारूप एक टेक्स्ट स्ट्रिंग है,
बीएफडी पुस्तकालयों द्वारा समर्थित एक विशेष प्रारूप का नाम।
(आप उपलब्ध बाइनरी प्रारूपों को सूचीबद्ध कर सकते हैं ओब्जडम्प -i.)

आप इस विकल्प का उपयोग करना चाह सकते हैं यदि आप फ़ाइलों को a . के साथ लिंक कर रहे हैं
असामान्य बाइनरी प्रारूप। आप भी उपयोग कर सकते हैं -b स्वरूप बदलने के लिए
स्पष्ट रूप से (विभिन्न स्वरूपों की ऑब्जेक्ट फ़ाइलों को लिंक करते समय), by
समेत -b इनपुट प्रारूप ऑब्जेक्ट फ़ाइलों के प्रत्येक समूह से पहले a
विशेष प्रारूप।

डिफ़ॉल्ट प्रारूप पर्यावरण चर से लिया जाता है
"ग्नुटारगेट"।

आप एक स्क्रिप्ट से इनपुट प्रारूप को भी परिभाषित कर सकते हैं
कमांड "टारगेट";

-c एमआरआई-कमांडफाइल
--एमआरआई-स्क्रिप्ट=एमआरआई-कमांडफाइल
एमआरआई द्वारा निर्मित लिंकर्स के साथ संगतता के लिए, ld स्क्रिप्ट स्वीकार करता है
एक वैकल्पिक, प्रतिबंधित कमांड भाषा में लिखी गई फाइलें,
GNU ld . के MRI कम्पेटिबल स्क्रिप्ट फाइल्स सेक्शन में वर्णित है
दस्तावेज़ीकरण। विकल्प के साथ MRI स्क्रिप्ट फ़ाइलें पेश करें -c; उपयोग
la -T सामान्य प्रयोजन में लिखी गई लिंकर लिपियों को चलाने का विकल्प
ld भाषा का अंकन। अगर एमआरआई-cmdfile मौजूद नहीं होना, ld की खोज
यह किसी भी द्वारा निर्दिष्ट निर्देशिकाओं में -L विकल्प.

-d
-DC
-डॉ ये तीन विकल्प समकक्ष हैं; एकाधिक रूप समर्थित हैं
अन्य लिंकर्स के साथ संगतता के लिए। वे आम को जगह देते हैं
प्रतीक भले ही एक स्थानांतरित करने योग्य आउटपुट फ़ाइल निर्दिष्ट हो (साथ .) -r).
स्क्रिप्ट कमांड "FORCE_COMMON_ALLOCATION" का एक ही प्रभाव है।

--depaudit लेखा परीक्षा
-P लेखा परीक्षा
जोड़ता है लेखा परीक्षा गतिशील खंड की "DT_DEPAUDIT" प्रविष्टि में।
लेखा परीक्षा अस्तित्व के लिए जाँच नहीं की गई है, और न ही इसका उपयोग करेगा
DT_SONAME पुस्तकालय में निर्दिष्ट है। यदि कई बार निर्दिष्ट किया गया है
"DT_DEPAUDIT" में ऑडिट की एक कोलन से अलग की गई सूची होगी
उपयोग करने के लिए इंटरफेस। यह विकल्प केवल ELF प्लेटफॉर्म पर सार्थक है
rtld-ऑडिट इंटरफ़ेस का समर्थन करना। के लिए -P विकल्प प्रदान किया गया है
सोलारिस संगतता।

-e प्रविष्टि
--प्रवेश=प्रविष्टि
उपयोग प्रविष्टि अपने निष्पादन की शुरुआत के लिए स्पष्ट प्रतीक के रूप में
डिफ़ॉल्ट प्रविष्टि बिंदु के बजाय प्रोग्राम। अगर वहाँ कोई नहीं है
नाम का प्रतीक प्रविष्टि, लिंकर पार्स करने का प्रयास करेगा प्रविष्टि एक संख्या के रूप में,
और इसे प्रवेश पते के रूप में उपयोग करें (संख्या की व्याख्या की जाएगी
आधार 10 में; आप एक अग्रणी का उपयोग कर सकते हैं 0x आधार 16 के लिए, या एक अग्रणी 0
आधार 8 के लिए)।

--बहिष्कृत-libs lib,lib, ...
संग्रह पुस्तकालयों की एक सूची निर्दिष्ट करता है जिसमें से प्रतीकों को नहीं होना चाहिए
स्वचालित रूप से निर्यात किया जाएगा। पुस्तकालय के नामों को द्वारा सीमित किया जा सकता है
अल्पविराम या कोलन। "--exclude-libs ALL" निर्दिष्ट करना प्रतीकों को शामिल नहीं करता है
स्वचालित निर्यात से सभी संग्रह पुस्तकालयों में। यह विकल्प है
केवल लिंकर के i386 PE लक्षित पोर्ट और के लिए उपलब्ध है
ईएलएफ लक्षित बंदरगाहों। i386 PE के लिए, प्रतीकों को स्पष्ट रूप से a . में सूचीबद्ध किया गया है
.def फ़ाइल अभी भी निर्यात की जाती है, इस विकल्प पर ध्यान दिए बिना। ELF . के लिए
लक्षित बंदरगाह, इस विकल्प से प्रभावित प्रतीकों को माना जाएगा
छिपा हुआ।

--बहिष्कृत-मॉड्यूल-के लिए-निहित मॉड्यूल,मॉड्यूल, ...
ऑब्जेक्ट फ़ाइलों या संग्रह सदस्यों की एक सूची निर्दिष्ट करता है, जिसमें से
प्रतीकों को स्वचालित रूप से निर्यात नहीं किया जाना चाहिए, लेकिन जो होना चाहिए
आयात पुस्तकालय में थोक की प्रतिलिपि बनाई जा रही है
संपर्क। मॉड्यूल नाम अल्पविराम या कोलन द्वारा सीमांकित किए जा सकते हैं, और
द्वारा उपयोग किए गए फ़ाइल नामों से बिल्कुल मेल खाना चाहिए ld फ़ाइलें खोलने के लिए; के लिये
सदस्यों को संग्रहित करें, यह केवल सदस्य का नाम है, लेकिन वस्तु के लिए
सूचीबद्ध नाम वाली फ़ाइलें शामिल होनी चाहिए और किसी भी पथ से सटीक रूप से मेल खाना चाहिए
लिंकर की कमांड-लाइन पर इनपुट फ़ाइल को निर्दिष्ट करने के लिए उपयोग किया जाता है। इस
विकल्प केवल i386 PE लक्षित पोर्ट के लिए उपलब्ध है
लिंकर। एक .def फ़ाइल में स्पष्ट रूप से सूचीबद्ध प्रतीक स्थिर हैं
निर्यात, इस विकल्प की परवाह किए बिना।

-E
--निर्यात-गतिशील
--नहीं-निर्यात-गतिशील
एक गतिशील रूप से जुड़े निष्पादन योग्य बनाते समय, का उपयोग कर -E विकल्प
या --निर्यात-गतिशील विकल्प लिंकर को सभी प्रतीकों को जोड़ने का कारण बनता है
गतिशील प्रतीक तालिका के लिए। गतिशील प्रतीक तालिका सेट है
प्रतीकों के जो रन टाइम पर गतिशील वस्तुओं से दिखाई देते हैं।

यदि आप इनमें से किसी भी विकल्प का उपयोग नहीं करते हैं (या उपयोग करें
--नहीं-निर्यात-गतिशील डिफ़ॉल्ट व्यवहार को पुनर्स्थापित करने का विकल्प), the
गतिशील प्रतीक तालिका में सामान्यतः केवल वे प्रतीक होंगे जो
लिंक में उल्लिखित कुछ गतिशील वस्तु द्वारा संदर्भित हैं।

यदि आप एक गतिशील वस्तु को लोड करने के लिए "dlopen" का उपयोग करते हैं जिसे संदर्भित करने की आवश्यकता है
किसी अन्य के बजाय कार्यक्रम द्वारा परिभाषित प्रतीकों पर वापस जाएं
गतिशील वस्तु, तो आपको शायद इस विकल्प का उपयोग करने की आवश्यकता होगी जब
कार्यक्रम को ही जोड़ रहे हैं।

आप डायनामिक सूची का उपयोग यह नियंत्रित करने के लिए भी कर सकते हैं कि कौन से प्रतीक होने चाहिए
गतिशील प्रतीक तालिका में जोड़ा जाता है यदि आउटपुट स्वरूप इसका समर्थन करता है।
का वर्णन देखें --गतिशील-सूची.

ध्यान दें कि यह विकल्प ईएलएफ लक्षित बंदरगाहों के लिए विशिष्ट है। पी.ई
लक्ष्य डीएलएल से सभी प्रतीकों को निर्यात करने के लिए एक समान कार्य का समर्थन करते हैं
या EXE; का वर्णन देखें --निर्यात-सभी-प्रतीकों नीचे.

-ईबी बिग-एंडियन ऑब्जेक्ट्स को लिंक करें। यह डिफ़ॉल्ट आउटपुट स्वरूप को प्रभावित करता है।

हैं El छोटी-एंडियन वस्तुओं को लिंक करें। यह डिफ़ॉल्ट आउटपुट को प्रभावित करता है
प्रारूप.

-f नाम
--सहायक=नाम
ELF साझा ऑब्जेक्ट बनाते समय, आंतरिक DT_AUXILIARY सेट करें
निर्दिष्ट नाम के लिए फ़ील्ड। यह डायनेमिक लिंकर को बताता है कि
साझा वस्तु की प्रतीक तालिका का उपयोग a . के रूप में किया जाना चाहिए
साझा वस्तु के प्रतीक तालिका पर सहायक फ़िल्टर नाम.

यदि आप बाद में किसी प्रोग्राम को इस फ़िल्टर ऑब्जेक्ट से लिंक करते हैं, तो, कब
आप प्रोग्राम चलाते हैं, डायनेमिक लिंकर DT_AUXILIARY देखेंगे
खेत। यदि डायनेमिक लिंकर फ़िल्टर से किसी भी प्रतीक को हल करता है
ऑब्जेक्ट, यह पहले जांच करेगा कि क्या इसमें कोई परिभाषा है
साझा वस्तु नाम. यदि कोई है, तो उसके स्थान पर इसका उपयोग किया जाएगा
फ़िल्टर ऑब्जेक्ट में परिभाषा। साझा वस्तु नाम आवश्यकता
मौजूद नहीं। इस प्रकार साझा वस्तु नाम एक प्रदान करने के लिए इस्तेमाल किया जा सकता है
कुछ कार्यों के वैकल्पिक कार्यान्वयन, शायद के लिए
डिबगिंग या मशीन विशिष्ट प्रदर्शन के लिए।

यह विकल्प एक से अधिक बार निर्दिष्ट किया जा सकता है। DT_AUXILIARY
प्रविष्टियां उस क्रम में बनाई जाएंगी जिस क्रम में वे दिखाई देती हैं
कमांड लाइन।

-F नाम
--फ़िल्टर=नाम
ELF साझा ऑब्जेक्ट बनाते समय, आंतरिक DT_FILTER . सेट करें
निर्दिष्ट नाम के लिए फ़ील्ड। यह डायनेमिक लिंकर को बताता है कि
साझा की जा रही साझा वस्तु की प्रतीक तालिका चाहिए
साझा वस्तु के प्रतीक तालिका पर एक फिल्टर के रूप में इस्तेमाल किया जा सकता है नाम.

यदि आप बाद में किसी प्रोग्राम को इस फ़िल्टर ऑब्जेक्ट से लिंक करते हैं, तो, कब
आप प्रोग्राम चलाते हैं, डायनेमिक लिंकर DT_FILTER को देखेगा
खेत। डायनामिक लिंकर प्रतीकों को के अनुसार हल करेगा
हमेशा की तरह फ़िल्टर ऑब्जेक्ट की प्रतीक तालिका, लेकिन यह वास्तव में होगा
साझा वस्तु में मिली परिभाषाओं का लिंक नाम। इस प्रकार
फ़िल्टर ऑब्जेक्ट का उपयोग प्रतीकों के सबसेट का चयन करने के लिए किया जा सकता है
वस्तु द्वारा प्रदान किया गया नाम.

कुछ पुराने लिंकर्स ने का इस्तेमाल किया -F एक संकलन के दौरान विकल्प
इनपुट और दोनों के लिए ऑब्जेक्ट-फाइल प्रारूप निर्दिष्ट करने के लिए टूलचेन
आउटपुट ऑब्जेक्ट फ़ाइलें। GNU लिंकर इसके लिए अन्य तंत्रों का उपयोग करता है
उद्देश्य: -b, --प्रारूप, --oformat विकल्प, "TARGET" कमांड
लिंकर स्क्रिप्ट में, और "GNUTARGET" पर्यावरण चर। NS
जीएनयू लिंकर को अनदेखा कर देगा -F ईएलएफ नहीं बनाते समय विकल्प
साझा वस्तु।

-फिनी =नाम
ELF निष्पादन योग्य या साझा ऑब्जेक्ट बनाते समय, NAME को कॉल करें जब
DT_FINI को . पर सेट करके निष्पादन योग्य या साझा की गई वस्तु को अनलोड किया जाता है
समारोह का पता। डिफ़ॉल्ट रूप से, लिंकर "_fini" का उपयोग करता है
कॉल करने के लिए समारोह के रूप में।

-g अवहेलना करना। अन्य उपकरणों के साथ संगतता के लिए प्रदान किया गया।

-G मूल्य
--gpsize=मूल्य
GP का उपयोग करके अनुकूलित किए जाने वाले ऑब्जेक्ट के अधिकतम आकार को सेट करें
करने के लिए रजिस्टर आकार. यह केवल ऑब्जेक्ट फ़ाइल स्वरूपों के लिए सार्थक है
जैसे एमआईपीएस ईएलएफ जो बड़ी और छोटी वस्तुओं को डालने का समर्थन करता है
विभिन्न खंड। अन्य ऑब्जेक्ट फ़ाइल स्वरूपों के लिए इसे अनदेखा किया जाता है।

-h नाम
-सोनम =नाम
ELF साझा ऑब्जेक्ट बनाते समय, आंतरिक DT_SONAME सेट करें
निर्दिष्ट नाम के लिए फ़ील्ड। जब एक निष्पादन योग्य को a . से जोड़ा जाता है
साझा वस्तु जिसमें एक DT_SONAME फ़ील्ड है, तब जब निष्पादन योग्य
चलाया जाता है गतिशील लिंकर साझा वस्तु को लोड करने का प्रयास करेगा
फ़ाइल का उपयोग करने के बजाय DT_SONAME फ़ील्ड द्वारा निर्दिष्ट किया गया है
लिंकर को दिया गया नाम।

-i एक वृद्धिशील लिंक निष्पादित करें (विकल्प के समान -r).

-इनिट =नाम
ELF निष्पादन योग्य या साझा ऑब्जेक्ट बनाते समय, NAME को कॉल करें जब
DT_INIT को . पर सेट करके निष्पादन योग्य या साझा वस्तु लोड की जाती है
समारोह का पता। डिफ़ॉल्ट रूप से, लिंकर "_init" का उपयोग करता है
कॉल करने के लिए समारोह के रूप में।

-l नेमस्पेक
--लाइब्रेरी=नेमस्पेक
द्वारा निर्दिष्ट संग्रह या ऑब्जेक्ट फ़ाइल जोड़ें नेमस्पेक की सूची में
लिंक करने के लिए फ़ाइलें। इस विकल्प का उपयोग कितनी भी बार किया जा सकता है। अगर
नेमस्पेक फॉर्म का है :फ़ाइल का नाम, ld पुस्तकालय पथ खोजेगा
नामक फ़ाइल के लिए फ़ाइल का नाम, अन्यथा यह पुस्तकालय की खोज करेगा
फ़ाइल के लिए पथ कहा जाता है libnamespec.a.

साझा पुस्तकालयों का समर्थन करने वाले सिस्टम पर, ld के लिए भी खोज सकते हैं
के अलावा अन्य फ़ाइलें libnamespec.a. विशेष रूप से, ELF और SunOS पर
प्रणाली, ld नामक पुस्तकालय के लिए एक निर्देशिका खोजेगा
libnamespec.so कॉल करने वाले को खोजने से पहले libnamespec.a. (द्वारा
कन्वेंशन, एक ".so" एक्सटेंशन एक साझा लाइब्रेरी को इंगित करता है।) नोट
कि यह व्यवहार लागू नहीं होता है :फ़ाइल का नाम, जो हमेशा
नामक फ़ाइल निर्दिष्ट करता है फ़ाइल का नाम.

लिंकर किसी संग्रह को केवल एक बार, उस स्थान पर खोजेगा जहां
यह कमांड लाइन पर निर्दिष्ट है। अगर पुरालेख परिभाषित करता है a
प्रतीक जो किसी वस्तु में अपरिभाषित था जो के सामने प्रकट हुआ था
कमांड लाइन पर संग्रह, लिंकर में शामिल होगा
संग्रह से उपयुक्त फ़ाइल (फ़ाइलें)। हालांकि, एक अपरिभाषित प्रतीक
बाद में कमांड लाइन पर दिखाई देने वाली किसी वस्तु में कारण नहीं होगा
लिंकर संग्रह को फिर से खोजने के लिए।

देखना -( लिंकर को अभिलेखागार खोजने के लिए मजबूर करने के तरीके के लिए विकल्प
कई बार।

आप कमांड लाइन पर एक ही संग्रह को कई बार सूचीबद्ध कर सकते हैं।

इस प्रकार की संग्रह खोज यूनिक्स लिंकर्स के लिए मानक है।
हालांकि, यदि आप उपयोग कर रहे हैं ld AIX पर, ध्यान दें कि यह से अलग है
AIX लिंकर का व्यवहार।

-L सर्चदिरि
--लाइब्रेरी-पथ=सर्चदिरि
पथ जोड़ें सर्चदिरि पथों की सूची के लिए कि ld खोजेगा
संग्रह पुस्तकालय और ld नियंत्रण स्क्रिप्ट। आप इस विकल्प का उपयोग कर सकते हैं
कितनी भी बार। निर्देशिकाओं को क्रम में खोजा जाता है
जो वे कमांड लाइन पर निर्दिष्ट हैं। निर्देशिका
कमांड लाइन पर निर्दिष्ट डिफ़ॉल्ट से पहले खोजा जाता है
निर्देशिका। सभी -L विकल्प सभी पर लागू होते हैं -l विकल्प, की परवाह किए बिना
जिस क्रम में विकल्प दिखाई देते हैं। -L विकल्प प्रभावित नहीं करते हैं
कैसे ld एक लिंकर स्क्रिप्ट की खोज करता है जब तक कि -T विकल्प निर्दिष्ट है।

If सर्चदिरि "=" से शुरू होता है, फिर "=" को से बदल दिया जाएगा
सिसरूट उपसर्गद्वारा नियंत्रित किया जाता है --सिसरूट विकल्प, या निर्दिष्ट
जब लिंकर कॉन्फ़िगर किया गया है।

खोजे गए पथों का डिफ़ॉल्ट सेट (बिना निर्दिष्ट किए -L)
किस इम्यूलेशन मोड पर निर्भर करता है ld उपयोग कर रहा है, और कुछ मामलों में भी
यह कैसे कॉन्फ़िगर किया गया था।

पथों को लिंक स्क्रिप्ट में भी निर्दिष्ट किया जा सकता है
"SEARCH_DIR" कमांड। इस तरह निर्दिष्ट निर्देशिका खोजी जाती है
उस बिंदु पर जहां लिंकर स्क्रिप्ट कमांड में दिखाई देती है
लाइन.

-m अनुकरण
अनुकरण करें अनुकरण लिंकर। आप उपलब्ध को सूचीबद्ध कर सकते हैं
के साथ अनुकरण --verbose or -V विकल्प.

अगर -m विकल्प का उपयोग नहीं किया जाता है, अनुकरण से लिया जाता है
"LDEMULATION" पर्यावरण चर, यदि वह परिभाषित है।

अन्यथा, डिफ़ॉल्ट अनुकरण इस बात पर निर्भर करता है कि लिंकर कैसा था
कॉन्फ़िगर किया गया।

-M
--प्रिंट-मानचित्र
मानक आउटपुट के लिए एक लिंक मैप प्रिंट करें। एक लिंक नक्शा प्रदान करता है
निम्नलिखित सहित लिंक के बारे में जानकारी:

जहां ऑब्जेक्ट फाइलों को मेमोरी में मैप किया जाता है।

· सामान्य प्रतीकों को कैसे आवंटित किया जाता है।

· सभी संग्रह सदस्यों को लिंक में शामिल किया गया है, जिसका उल्लेख है
प्रतीक जिसके कारण संग्रह सदस्य को लाया गया।

प्रतीकों को असाइन किए गए मान।

नोट - वे प्रतीक जिनके मूल्यों की गणना एक व्यंजक द्वारा की जाती है जो
एक ही प्रतीक के पिछले मान का संदर्भ शामिल हो सकता है
लिंक मैप में प्रदर्शित सही परिणाम नहीं है। यह है
क्योंकि लिंकर मध्यवर्ती परिणामों को छोड़ देता है और केवल
एक अभिव्यक्ति के अंतिम मूल्य को बरकरार रखता है। इस तरह के तहत
परिस्थितियों में लिंकर संलग्न अंतिम मूल्य प्रदर्शित करेगा
वर्गाकार कोष्ठकों द्वारा। इस प्रकार उदाहरण के लिए एक लिंकर स्क्रिप्ट
युक्त

फू = 1
फू = फू * 4
फू = फू + 8

लिंक मैप में निम्नलिखित आउटपुट का उत्पादन करेगा यदि -M
विकल्प का उपयोग किया जाता है:

0x00000001 फू = 0x1
[0x0000000c] फू = (फू * 0x4)
[0x0000000c] फू = (फू + 0x8)

देख एक्सप्रेशंस भावों के बारे में अधिक जानकारी के लिए
लिंकर स्क्रिप्ट।

-n
--nmagic
अनुभागों का पृष्ठ संरेखण बंद करें, और इसके विरुद्ध लिंकिंग अक्षम करें
साझा पुस्तकालय। यदि आउटपुट स्वरूप यूनिक्स शैली के जादू का समर्थन करता है
संख्याएं, आउटपुट को "NMAGIC" के रूप में चिह्नित करें।

-N
--ओमैजिक
टेक्स्ट और डेटा सेक्शन को पढ़ने योग्य और लिखने योग्य सेट करें। भी,
डेटा खंड को पृष्ठ-संरेखित न करें, और इसके विरुद्ध लिंकिंग अक्षम करें
साझा पुस्तकालय। यदि आउटपुट स्वरूप यूनिक्स शैली के जादू का समर्थन करता है
संख्याएं, आउटपुट को "OMAGIC" के रूप में चिह्नित करें। नोट: हालांकि एक लिखने योग्य
पीई-सीओएफएफ लक्ष्यों के लिए टेक्स्ट सेक्शन की अनुमति है, यह अनुरूप नहीं है
Microsoft द्वारा प्रकाशित प्रारूप विनिर्देश।

--no-omagic
यह विकल्प के अधिकांश प्रभावों को नकारता है -N विकल्प। यह सेट
टेक्स्ट सेक्शन को केवल पढ़ने के लिए, और डेटा सेगमेंट को होने के लिए मजबूर करता है
पृष्ठ-संरेखित। नोट - यह विकल्प के विरुद्ध लिंकिंग को सक्षम नहीं करता है
साझा पुस्तकालय। उपयोग -बडायनामिक इसके लिए।

-o उत्पादन
--आउटपुट=उत्पादन
उपयोग उत्पादन द्वारा निर्मित कार्यक्रम के नाम के रूप में ld; अगर यह
विकल्प निर्दिष्ट नहीं है, नाम ए.आउट डिफ़ॉल्ट रूप से उपयोग किया जाता है। NS
स्क्रिप्ट कमांड "आउटपुट" आउटपुट फ़ाइल नाम भी निर्दिष्ट कर सकता है।

-O स्तर
If स्तर शून्य से बड़ा एक संख्यात्मक मान है ld अनुकूलित करता है
आउटपुट इसमें काफी अधिक समय लग सकता है और इसलिए
शायद केवल अंतिम बाइनरी के लिए सक्षम होना चाहिए। पर
पल यह विकल्प केवल ईएलएफ साझा पुस्तकालय पीढ़ी को प्रभावित करता है।
लिंकर की भावी रिलीज़ इस विकल्प का अधिक उपयोग कर सकती हैं।
इसके अलावा वर्तमान में लिंकर के व्यवहार में कोई अंतर नहीं है
इस विकल्प के विभिन्न गैर-शून्य मान। फिर से यह बदल सकता है
भविष्य के रिलीज के साथ।

--पुश-राज्य
RSI --पुश-राज्य झंडे की वर्तमान स्थिति को संरक्षित करने की अनुमति देता है
जो इनपुट फ़ाइल हैंडलिंग को नियंत्रित करते हैं ताकि वे सभी हो सकें
एक संगत के साथ बहाल --पॉप-राज्य विकल्प.

कवर किए गए विकल्प हैं: -बडायनामिक, -बस्टेटिक, -डीएन, -डीयू,
-call_shared, -गैर_साझा, स्थैतिक, -N, -n, --whole-संग्रह,
--नहीं-संपूर्ण-संग्रह, -r, -उरु, --कॉपी-डीटी-आवश्यक-प्रविष्टियां,
--नो-कॉपी-डीटी-आवश्यक-प्रविष्टियां, --जैसी जरूरत थी, --नहीं-जैसी-जरूरत, तथा -a.

इस विकल्प के लिए एक लक्ष्य इसके लिए विनिर्देश हैं पीकेजी-कॉन्फ़िगरेशन. जब
के साथ प्रयोग किया जाता है --libs विकल्प सभी संभवतः आवश्यक पुस्तकालय हैं
सूचीबद्ध और फिर संभवतः हर समय के साथ जुड़ा हुआ है। इससे तो बेहतर होगा कि
कुछ इस प्रकार वापस करें:

-Wl,--पुश-स्टेट,--जैसा-आवश्यकता -लिबोन -लिबटू -Wl,--पॉप-स्टेट

--push-state के प्रभाव को पूर्ववत करता है, के पिछले मानों को पुनर्स्थापित करता है
इनपुट फ़ाइल हैंडलिंग को नियंत्रित करने वाले झंडे।

-q
--emit-relocs
स्थानांतरण अनुभागों और सामग्री को पूरी तरह से लिंक किए गए निष्पादन योग्य में छोड़ दें।
पोस्ट लिंक विश्लेषण और अनुकूलन टूल को इस जानकारी की आवश्यकता हो सकती है
निष्पादन योग्य के सही संशोधन करने के लिए। इस
बड़े निष्पादन योग्य परिणाम।

यह विकल्प वर्तमान में केवल ELF प्लेटफॉर्म पर समर्थित है।

--बल-गतिशील
आउटपुट फ़ाइल को डायनामिक सेक्शन के लिए बाध्य करें। यह विकल्प है
VxWorks लक्ष्यों के लिए विशिष्ट।

-r
--स्थानांतरणीय
स्थानांतरित करने योग्य आउटपुट उत्पन्न करें --- यानी, एक आउटपुट फ़ाइल उत्पन्न करें जो
बदले में इनपुट के रूप में काम कर सकता है ld. इसे अक्सर कहा जाता है आंशिक
जोड़ने. एक साइड इफेक्ट के रूप में, ऐसे वातावरण में जो मानक का समर्थन करते हैं
यूनिक्स मैजिक नंबर, यह विकल्प आउटपुट फाइल के मैजिक को भी सेट करता है
"ओमैजिक" के लिए नंबर। यदि यह विकल्प निर्दिष्ट नहीं है, तो एक निरपेक्ष
फ़ाइल बनाई जाती है। C++ प्रोग्राम को लिंक करते समय, यह विकल्प मर्जी नहीं
निर्माणकर्ताओं के संदर्भों को हल करें; ऐसा करने के लिए, उपयोग करें -उरु.

जब एक इनपुट फ़ाइल में आउटपुट के समान प्रारूप नहीं होता है
फ़ाइल, आंशिक लिंकिंग केवल तभी समर्थित है जब वह इनपुट फ़ाइल नहीं है
किसी भी स्थानान्तरण को शामिल करें। विभिन्न आउटपुट स्वरूपों में और भी हो सकते हैं
प्रतिबंध; उदाहरण के लिए कुछ "a.out"-आधारित प्रारूप समर्थित नहीं हैं
अन्य प्रारूपों में इनपुट फाइलों के साथ आंशिक रूप से लिंक करना।

यह विकल्प वही काम करता है जैसे -i.

-R फ़ाइल का नाम
--जस्ट-चिह्न=फ़ाइल का नाम
से पढ़ें प्रतीक नाम और उनके पते फ़ाइल का नाम, लेकिन नहीं है
इसे स्थानांतरित करें या इसे आउटपुट में शामिल करें। यह आपके आउटपुट की अनुमति देता है
फ़ाइल को प्रतीकात्मक रूप से परिभाषित स्मृति के निरपेक्ष स्थानों के लिए संदर्भित करने के लिए
अन्य कार्यक्रमों में। आप इस विकल्प का एक से अधिक बार उपयोग कर सकते हैं।

अन्य ईएलएफ लिंकर्स के साथ संगतता के लिए, यदि -R विकल्प है
फ़ाइल नाम के बजाय निर्देशिका नाम के बाद, यह है
के रूप में व्यवहार किया -रपाथ विकल्प.

-s
--स्ट्रिप-ऑल
आउटपुट फ़ाइल से सभी प्रतीक जानकारी को हटा दें।

-S
--पट्टी-डीबग
डिबगर प्रतीक जानकारी (लेकिन सभी प्रतीकों को नहीं) से हटा दें
निर्गम संचिका।

-t
--ट्रेस
इनपुट फाइलों के नाम इस प्रकार प्रिंट करें ld उन्हें संसाधित करता है।

-T स्क्रिप्ट फाइल
--स्क्रिप्ट=स्क्रिप्ट फाइल
उपयोग स्क्रिप्ट फाइल लिंकर स्क्रिप्ट के रूप में। यह स्क्रिप्ट प्रतिस्थापित करती है ld's
डिफ़ॉल्ट लिंकर स्क्रिप्ट (इसे जोड़ने के बजाय), इसलिए कमांडफाइल
आउटपुट फ़ाइल का वर्णन करने के लिए आवश्यक सब कुछ निर्दिष्ट करना चाहिए।
If स्क्रिप्ट फाइल वर्तमान निर्देशिका में मौजूद नहीं है, "ld" दिखता है
इसके लिए किसी पूर्ववर्ती द्वारा निर्दिष्ट निर्देशिकाओं में -L विकल्प.
विभिन्न -T विकल्प जमा हो जाते हैं।

-डीटी स्क्रिप्ट फाइल
--डिफ़ॉल्ट-स्क्रिप्ट=स्क्रिप्ट फाइल
उपयोग स्क्रिप्ट फाइल डिफ़ॉल्ट लिंकर स्क्रिप्ट के रूप में।

यह विकल्प के समान है --स्क्रिप्ट इसके अलावा विकल्प
बाकी के बाद तक स्क्रिप्ट के प्रसंस्करण में देरी हो रही है
कमांड लाइन संसाधित की गई है। यह बाद में रखे गए विकल्पों की अनुमति देता है
la --डिफ़ॉल्ट-स्क्रिप्ट कमांड लाइन पर विकल्प को प्रभावित करने के लिए
लिंकर स्क्रिप्ट का व्यवहार, जो तब महत्वपूर्ण हो सकता है जब
लिंकर कमांड लाइन को सीधे उपयोगकर्ता द्वारा नियंत्रित नहीं किया जा सकता है। (जैसे
क्योंकि कमांड लाइन का निर्माण किसी अन्य टूल द्वारा किया जा रहा है, जैसे
as जीसीसी).

-u प्रतीक
--अपरिभाषित=प्रतीक
सेना प्रतीक आउटपुट फ़ाइल में अपरिभाषित के रूप में दर्ज किया जाना है
प्रतीक। ऐसा करने से, उदाहरण के लिए, अतिरिक्त के लिंकिंग को ट्रिगर किया जा सकता है
मानक पुस्तकालयों से मॉड्यूल। -u भिन्न के साथ दोहराया जा सकता है
अतिरिक्त अपरिभाषित प्रतीकों को दर्ज करने के लिए विकल्प तर्क। इस
विकल्प "EXTERN" लिंकर स्क्रिप्ट कमांड के बराबर है।

यदि इस विकल्प का उपयोग अतिरिक्त मॉड्यूल को होने के लिए बाध्य करने के लिए किया जा रहा है
लिंक में खींच लिया गया है, और यदि यह प्रतीक के लिए एक त्रुटि है
अपरिभाषित रहें, तो विकल्प --आवश्यकता-परिभाषित इस्तेमाल किया जाना चाहिए
बजाय.

--आवश्यकता-परिभाषित=प्रतीक
आवश्यकता है कि प्रतीक आउटपुट फ़ाइल में परिभाषित किया गया है। यह विकल्प है
विकल्प के समान --अपरिभाषित सिवाय इसके कि अगर प्रतीक परिभाषित नहीं है
आउटपुट फ़ाइल में तो लिंकर एक त्रुटि जारी करेगा और बाहर निकलेगा।
लिंकर स्क्रिप्ट में समान प्रभाव का उपयोग करके प्राप्त किया जा सकता है
"EXTERN", "ASSERT" और "DEFINED" एक साथ। इस विकल्प का उपयोग किया जा सकता है
अतिरिक्त प्रतीकों की आवश्यकता के लिए कई बार।

-उरु C++ प्रोग्राम के अलावा किसी और चीज़ के लिए, यह विकल्प के बराबर है
-r: यह स्थानांतरित करने योग्य आउटपुट उत्पन्न करता है --- यानी, एक आउटपुट फ़ाइल जो कर सकती है
बदले में इनपुट के रूप में कार्य करें ld. C++ प्रोग्राम को लिंक करते समय, -उरु कर देता है
कंस्ट्रक्टर्स के संदर्भों को हल करें, इसके विपरीत -r. यह काम नहीं करता
उपयोग -उरु उन फाइलों पर जो खुद से जुड़ी हुई थीं -उरु; एक बार
कंस्ट्रक्टर टेबल बनाया गया है, इसे जोड़ा नहीं जा सकता। उपयोग -उरु
केवल अंतिम आंशिक लिंक के लिए, और -r दूसरों के लिए।

--अनाथ-संभालना=मोड
नियंत्रित करें कि अनाथ वर्गों को कैसे संभाला जाता है। एक अनाथ वर्ग एक है
लिंकर स्क्रिप्ट में विशेष रूप से उल्लेख नहीं किया गया है।

मोड निम्न में से कोई भी मान हो सकता है:

"जगह"
अनाथ वर्गों को उपयुक्त आउटपुट अनुभाग में रखा गया है
में वर्णित रणनीति के बाद अनाथ पुस्तकालय अनुभाग
विकल्प --अनोखा यह भी प्रभावित करता है कि वर्गों को कैसे रखा जाता है।

"रद्द करें"
सभी अनाथ वर्गों को में रखकर त्याग दिया जाता है
/रद्द करें/ अनुभाग।

"चेतावनी"
लिंकर अनाथ अनुभाग को "स्थान" के रूप में रखेगा और
चेतावनी भी देते हैं।

"त्रुटि"
यदि कोई अनाथ अनुभाग है तो लिंकर त्रुटि के साथ बाहर निकल जाएगा
मिल गया।

डिफ़ॉल्ट अगर --अनाथ-संभालना "स्थान" नहीं दिया गया है।

--अद्वितीय[=धारा]
मिलान करने वाले प्रत्येक इनपुट अनुभाग के लिए एक अलग आउटपुट अनुभाग बनाता है
धारा, या यदि वैकल्पिक वाइल्डकार्ड धारा तर्क गायब है,
प्रत्येक अनाथ इनपुट अनुभाग के लिए। एक अनाथ वर्ग एक नहीं है
विशेष रूप से एक लिंकर स्क्रिप्ट में उल्लेख किया गया है। आप इस विकल्प का उपयोग कर सकते हैं
कमांड लाइन पर कई बार; यह सामान्य विलय को रोकता है
समान नाम वाले इनपुट अनुभागों का, आउटपुट अनुभाग को ओवरराइड करना
एक लिंकर स्क्रिप्ट में असाइनमेंट।

-v
--संस्करण
-V के लिए संस्करण संख्या प्रदर्शित करें ld-V विकल्प भी सूचीबद्ध करता है
समर्थित अनुकरण।

-x
--त्याग-सब
सभी स्थानीय प्रतीकों को हटा दें।

-X
--त्याग-स्थानीय
सभी अस्थायी स्थानीय प्रतीकों को हटा दें। (ये प्रतीक से शुरू होते हैं
सिस्टम-विशिष्ट स्थानीय लेबल उपसर्ग, आमतौर पर .L ईएलएफ सिस्टम के लिए
or L पारंपरिक a.out सिस्टम के लिए।)

-y प्रतीक
--ट्रेस-प्रतीक=प्रतीक
प्रत्येक लिंक की गई फ़ाइल का नाम प्रिंट करें जिसमें प्रतीक दिखाई पड़ना। इस
विकल्प कितनी भी बार दिया जा सकता है। कई प्रणालियों पर यह है
एक अंडरस्कोर तैयार करने के लिए आवश्यक है।

यह विकल्प तब उपयोगी होता है जब आपके पास एक अपरिभाषित प्रतीक होता है
लिंक लेकिन यह नहीं पता कि संदर्भ कहां से आ रहा है।

-Y पथ
जोड़ना पथ डिफ़ॉल्ट पुस्तकालय खोज पथ के लिए। यह विकल्प मौजूद है
सोलारिस संगतता के लिए।

-z कीवर्ड
मान्यता प्राप्त कीवर्ड हैं:

कॉम्ब्रेलोक
कई स्थानांतरित अनुभागों को जोड़ता है और उन्हें गतिशील बनाने के लिए सॉर्ट करता है
प्रतीक लुकअप कैशिंग संभव है।

डीएफएस
ऑब्जेक्ट फ़ाइलों में अपरिभाषित प्रतीकों की अनुमति नहीं देता है। अपरिभाषित प्रतीक
साझा पुस्तकालयों में अभी भी अनुमति है।

निष्पादन
ऑब्जेक्ट को निष्पादन योग्य स्टैक की आवश्यकता के रूप में चिह्नित करता है।

वैश्विक
साझा ऑब्जेक्ट बनाते समय यह विकल्प केवल सार्थक होता है।
यह इस साझा वस्तु द्वारा परिभाषित प्रतीकों को उपलब्ध कराता है
बाद में लोड किए गए पुस्तकालयों के प्रतीक संकल्प के लिए।

इनिटफर्स्ट
साझा ऑब्जेक्ट बनाते समय यह विकल्प केवल सार्थक होता है।
यह ऑब्जेक्ट को इस तरह से चिह्नित करता है कि इसका रनटाइम इनिशियलाइज़ेशन होगा
किसी अन्य ऑब्जेक्ट के रनटाइम इनिशियलाइज़ेशन से पहले होता है
उसी समय प्रक्रिया में लाया गया। इसी तरह
वस्तु का रनटाइम अंतिम रूप रनटाइम के बाद होगा
किसी अन्य वस्तु को अंतिम रूप देना।

जड़ना
उस वस्तु को चिह्नित करता है जिसे उसकी प्रतीक तालिका सभी के सामने रखती है
प्रतीकों लेकिन प्राथमिक निष्पादन योग्य।

आलसी
निष्पादन योग्य या साझा लाइब्रेरी बनाते समय, इसे चिह्नित करें
डायनामिक लिंकर को फ़ंक्शन कॉल रिज़ॉल्यूशन को स्थगित करने के लिए कहें
वह बिंदु जब फ़ंक्शन कहा जाता है (आलसी बाध्यकारी), बल्कि
लोड समय की तुलना में। आलसी बाध्यकारी डिफ़ॉल्ट है।

लोडफ़्लट्र
ऑब्जेक्ट को चिह्नित करता है कि उसके फ़िल्टर को तुरंत संसाधित किया जाएगा
रनटाइम।

मुल्डेफ़्स
कई परिभाषाओं की अनुमति देता है।

नोकोम्ब्रेलोक
एक से अधिक स्थानान्तरण अनुभागों के संयोजन को अक्षम करता है।

नोकॉपीरेलोक
लिंकर जनरेट किए गए .dynbss चर को अक्षम करें
साझा पुस्तकालयों में परिभाषित चर। परिणाम गतिशील हो सकता है
पाठ स्थानांतरण।

नोडिफॉल्टलिब
उस वस्तु को चिह्नित करता है जो इस की निर्भरता की खोज करती है
ऑब्जेक्ट किसी भी डिफ़ॉल्ट लाइब्रेरी खोज पथ को अनदेखा कर देगा।

नोडलेट
ऑब्जेक्ट को रनटाइम पर अनलोड नहीं किया जाना चाहिए।

नोडलोपेन
उस वस्तु को चिह्नित करता है जो "dlopen" के लिए उपलब्ध नहीं है।

गांठदार
चिह्नित करता है कि वस्तु को "dldump" द्वारा डंप नहीं किया जा सकता है।

नोएक्सेक्सस्टैक
ऑब्जेक्ट को निष्पादन योग्य स्टैक की आवश्यकता नहीं के रूप में चिह्नित करता है।

टेक्स्ट
साझा ऑब्जेक्ट में DT_TEXTREL को त्रुटि मानें।

कोई पाठ नहीं है
साझा ऑब्जेक्ट में DT_TEXTREL को त्रुटि के रूप में न मानें।

टेक्स्टऑफ़
साझा ऑब्जेक्ट में DT_TEXTREL को त्रुटि के रूप में न मानें।

नोरेलरो
में ELF "PT_GNU_RELRO" सेगमेंट हेडर न बनाएं
वस्तु।

अभी निष्पादन योग्य या साझा लाइब्रेरी बनाते समय, इसे चिह्नित करें
प्रोग्राम के दौरान सभी प्रतीकों को हल करने के लिए गतिशील लिंकर को बताएं
शुरू हो गया है, या जब साझा पुस्तकालय का उपयोग करने से जुड़ा हुआ है
dlopen, फ़ंक्शन कॉल रिज़ॉल्यूशन को स्थगित करने के बजाय
बिंदु जब फ़ंक्शन को पहली बार कहा जाता है।

मूल
चिह्नित करता है कि वस्तु में $ORIGIN हो सकता है।

रेलरो
ऑब्जेक्ट में एक ELF "PT_GNU_RELRO" सेगमेंट हेडर बनाएं।

अधिकतम-पृष्ठ-आकार=मूल्य
इम्यूलेशन अधिकतम पृष्ठ आकार को पर सेट करें मूल्य.

सामान्य-पृष्ठ-आकार=मूल्य
इम्यूलेशन सामान्य पृष्ठ आकार को इस पर सेट करें मूल्य.

ढेर का आकार =मूल्य
किसी ELF "PT_GNU_STACK" खंड के लिए एक स्टैक आकार निर्दिष्ट करें।
शून्य निर्दिष्ट करना किसी भी डिफ़ॉल्ट गैर-शून्य आकार को ओवरराइड कर देगा
"PT_GNU_STACK" खंड निर्माण।

बीएनडीपीएलटी
पीएलटी प्रविष्टियों में हमेशा बीएनडी उपसर्ग उत्पन्न करें। के लिए समर्थित
लिनक्स/x86_64.

noextern-संरक्षित-डेटा
निर्माण करते समय संरक्षित डेटा प्रतीक को बाहरी न मानें
साझा पुस्तकालय। यह विकल्प लिंकर बैकएंड डिफ़ॉल्ट को ओवरराइड करता है।
इसका उपयोग के विरुद्ध गलत स्थानांतरणों को हल करने के लिए किया जा सकता है
संकलक द्वारा उत्पन्न संरक्षित डेटा प्रतीक। पर अपडेट
किसी अन्य मॉड्यूल द्वारा संरक्षित डेटा प्रतीक दिखाई नहीं दे रहे हैं
परिणामी साझा पुस्तकालय। i386 और x86-64 के लिए समर्थित।

कॉल-एनओपी = उपसर्ग-जोड़
कॉल-एनओपी = उपसर्ग-एनओपी
कॉल-एनओपी = प्रत्यय-एनओपी
कॉल-एनओपी = उपसर्ग-बाइट
कॉल-एनओपी = प्रत्यय-बाइट
अप्रत्यक्ष परिवर्तन करते समय 1-बाइट "एनओपी" पैडिंग निर्दिष्ट करें
अपने GOT स्लॉट के माध्यम से स्थानीय रूप से परिभाषित फ़ंक्शन, foo को कॉल करें।
कॉल-एनओपी = उपसर्ग-जोड़ "0x67 कॉल फू" उत्पन्न करता है।
कॉल-एनओपी = उपसर्ग-एनओपी "0x90 कॉल फू" उत्पन्न करता है।
कॉल-एनओपी = प्रत्यय-एनओपी "कॉल फू 0x90" उत्पन्न करता है।
कॉल-एनओपी = उपसर्ग-बाइट उत्पन्न करता है"बाइट कॉल फू".
कॉल-एनओपी = प्रत्यय-बाइट "कॉल फू" उत्पन्न करता है बाइट". के लिए समर्थित
i386 और x86_64.

सोलारिस संगतता के लिए अन्य खोजशब्दों की उपेक्षा की जाती है।

-( अभिलेखागार -)
--स्टार्ट-ग्रुप अभिलेखागार --अंत-समूह
RSI अभिलेखागार संग्रह फ़ाइलों की एक सूची होनी चाहिए। वे या तो हो सकते हैं
स्पष्ट फ़ाइल नाम, या -l विकल्प.

निर्दिष्ट अभिलेखागार बार-बार खोजे जाते हैं जब तक कि कोई नया नहीं
अपरिभाषित संदर्भ बनाए जाते हैं। आम तौर पर, एक संग्रह खोजा जाता है
केवल एक बार इस क्रम में कि यह कमांड लाइन पर निर्दिष्ट है।
यदि अपरिभाषित को हल करने के लिए उस संग्रह में एक प्रतीक की आवश्यकता है
किसी संग्रह में किसी ऑब्जेक्ट द्वारा संदर्भित प्रतीक जो बाद में प्रकट होता है
कमांड लाइन, लिंकर इसे हल करने में सक्षम नहीं होगा
संदर्भ। संग्रहों को समूहीकृत करके, वे सभी खोजे जा सकते हैं
बार-बार जब तक सभी संभावित संदर्भ हल नहीं हो जाते।

इस विकल्प का उपयोग करने की एक महत्वपूर्ण प्रदर्शन लागत है। यह सबसे अच्छा है
अपरिहार्य परिपत्र संदर्भ होने पर ही इसका उपयोग करें
दो या दो से अधिक अभिलेखागार के बीच।

--स्वीकार-अज्ञात-इनपुट-आर्क
--नहीं-स्वीकार-अज्ञात-इनपुट-आर्क
लिंकर को इनपुट फाइल स्वीकार करने के लिए कहता है जिसका आर्किटेक्चर नहीं हो सकता
मान्यता प्राप्त। धारणा यह है कि उपयोगकर्ता जानता है कि वे क्या हैं
कर रहा है और जानबूझकर इन अज्ञात इनपुट फाइलों में लिंक करना चाहता है।
2.14 रिलीज से पहले, यह लिंकर का डिफ़ॉल्ट व्यवहार था।
2.14 रिलीज के बाद से डिफ़ॉल्ट व्यवहार ऐसे को अस्वीकार करना है
इनपुट फ़ाइलें, और इसलिए --स्वीकार-अज्ञात-इनपुट-आर्क विकल्प रहा है
पुराने व्यवहार को बहाल करने के लिए जोड़ा गया।

--जैसी जरूरत थी
--नहीं-जैसी-जरूरत
यह विकल्प गतिशील पुस्तकालयों के लिए ELF DT_NEEDED टैग को प्रभावित करता है
के बाद कमांड लाइन पर उल्लेख किया गया --जैसी जरूरत थी विकल्प.
आम तौर पर लिंकर प्रत्येक गतिशील के लिए एक DT_NEEDED टैग जोड़ देगा
लाइब्रेरी कमांड लाइन पर उल्लिखित है, भले ही
पुस्तकालय की वास्तव में आवश्यकता है या नहीं। --जैसी जरूरत थी DT_NEEDED . का कारण बनता है
टैग केवल एक पुस्तकालय के लिए उत्सर्जित किया जाना है कि at कि बिन्दु in la संपर्क
एक नियमित से एक गैर-कमजोर अपरिभाषित प्रतीक संदर्भ को संतुष्ट करता है
ऑब्जेक्ट फ़ाइल या, यदि पुस्तकालय DT_NEEDED सूचियों में नहीं मिला है
अन्य आवश्यक पुस्तकालयों की, एक गैर-कमजोर अपरिभाषित प्रतीक संदर्भ
किसी अन्य आवश्यक गतिशील पुस्तकालय से। ऑब्जेक्ट फ़ाइलें या पुस्तकालय
कमांड लाइन पर दिख रहा है बाद प्रश्न में पुस्तकालय नहीं है
प्रभावित करता है कि क्या पुस्तकालय को आवश्यकतानुसार देखा जाता है। यह समान है
संग्रह से ऑब्जेक्ट फ़ाइलों को निकालने के नियम।
--नहीं-जैसी-जरूरत डिफ़ॉल्ट व्यवहार को पुनर्स्थापित करता है।

--जोड़ने की जरूरत
--नहीं-जोड़-आवश्यक
की समानता के कारण इन दो विकल्पों को हटा दिया गया है
को उनके नाम --जैसी जरूरत थी और --नहीं-जैसी-जरूरत विकल्प। वे
द्वारा प्रतिस्थापित किया गया है --कॉपी-डीटी-आवश्यक-प्रविष्टियां और
--नो-कॉपी-डीटी-आवश्यक-प्रविष्टियां.

-जोर कीवर्ड
SunOS संगतता के लिए इस विकल्प पर ध्यान नहीं दिया जाता है।

-बडायनामिक
-डीयू
-call_shared
गतिशील पुस्तकालयों के खिलाफ लिंक। यह केवल पर सार्थक है
प्लेटफॉर्म जिनके लिए साझा पुस्तकालयों का समर्थन किया जाता है। यह विकल्प है
आमतौर पर ऐसे प्लेटफॉर्म पर डिफॉल्ट होता है। के विभिन्न प्रकार
यह विकल्प विभिन्न प्रणालियों के साथ संगतता के लिए है। आप कर सकते हैं
कमांड लाइन पर इस विकल्प का कई बार उपयोग करें: यह प्रभावित करता है
पुस्तकालय खोज रहा है -l विकल्प जो इसका अनुसरण करते हैं।

-बीग्रुप
डायनेमिक में "DT_FLAGS_1" प्रविष्टि में "DF_1_GROUP" ध्वज सेट करें
अनुभाग। यह रनटाइम लिंकर को इसमें लुकअप को संभालने का कारण बनता है
ऑब्जेक्ट और उसकी निर्भरता केवल समूह के अंदर ही निष्पादित की जानी चाहिए।
- अनसुलझे-प्रतीक = रिपोर्ट-सब निहित है। यह विकल्प केवल
साझा पुस्तकालयों का समर्थन करने वाले ईएलएफ प्लेटफार्मों पर सार्थक।

-बस्टेटिक
-डीएन
-गैर_साझा
स्थैतिक
साझा पुस्तकालयों के खिलाफ लिंक न करें। यह केवल पर सार्थक है
प्लेटफॉर्म जिनके लिए साझा पुस्तकालयों का समर्थन किया जाता है। विभिन्न
इस विकल्प के वेरिएंट विभिन्न प्रणालियों के साथ संगतता के लिए हैं।
आप कमांड लाइन पर इस विकल्प का कई बार उपयोग कर सकते हैं: it
पुस्तकालय की खोज को प्रभावित करता है -l विकल्प जो इसका अनुसरण करते हैं। इस
विकल्प का अर्थ यह भी है - अनसुलझे-प्रतीक = रिपोर्ट-सब. इस विकल्प
के साथ प्रयोग किया जा सकता है कमरा साझा. ऐसा करने का अर्थ है कि एक साझा पुस्तकालय है
बनाया जा रहा है लेकिन पुस्तकालय के सभी बाहरी संदर्भ
स्थिर पुस्तकालयों से प्रविष्टियों को खींचकर हल किया जाना चाहिए।

-प्रतीकात्मक
एक साझा पुस्तकालय बनाते समय, वैश्विक प्रतीकों के संदर्भों को बांधें
साझा पुस्तकालय के भीतर परिभाषा के अनुसार, यदि कोई हो। आम तौर पर, यह
एक साझा पुस्तकालय के खिलाफ जुड़े कार्यक्रम के लिए संभव है
साझा पुस्तकालय के भीतर परिभाषा को ओवरराइड करें। यह विकल्प कर सकते हैं
के साथ भी इस्तेमाल किया जा सकता है --निर्यात-गतिशील विकल्प, a . बनाते समय
वैश्विक के संदर्भों को बाध्य करने के लिए स्वतंत्र निष्पादन योग्य स्थिति
निष्पादन योग्य के भीतर परिभाषा के प्रतीक। यह विकल्प है
केवल ईएलएफ प्लेटफॉर्म पर सार्थक जो साझा पुस्तकालयों का समर्थन करते हैं और
स्वतंत्र निष्पादन योग्य स्थिति।

-प्रतीकात्मक-कार्य
साझा लाइब्रेरी बनाते समय, वैश्विक फ़ंक्शन के संदर्भों को बाइंड करें
साझा पुस्तकालय के भीतर परिभाषा के प्रतीक, यदि कोई हो। इस
विकल्प के साथ भी इस्तेमाल किया जा सकता है --निर्यात-गतिशील विकल्प, कब
संदर्भों को बाध्य करने के लिए स्वतंत्र निष्पादन योग्य स्थिति बनाना
निष्पादन योग्य के भीतर परिभाषा के लिए वैश्विक फ़ंक्शन प्रतीक।
यह विकल्प केवल ईएलएफ प्लेटफॉर्म पर सार्थक है जो समर्थन करते हैं
साझा पुस्तकालय और स्वतंत्र निष्पादन योग्य स्थिति।

--गतिशील-सूची=गतिशील-सूची-फ़ाइल
लिंकर को डायनेमिक सूची फ़ाइल का नाम निर्दिष्ट करें। यह है
की सूची निर्दिष्ट करने के लिए साझा लाइब्रेरी बनाते समय आमतौर पर उपयोग किया जाता है
वैश्विक प्रतीक जिनके संदर्भ के लिए बाध्य नहीं होने चाहिए
साझा पुस्तकालय के भीतर परिभाषा, या गतिशील रूप से बनाना
लिंक किए गए निष्पादन योग्य प्रतीकों की एक सूची निर्दिष्ट करने के लिए जो होना चाहिए
निष्पादन योग्य में प्रतीक तालिका में जोड़ा गया। यह विकल्प केवल
साझा पुस्तकालयों का समर्थन करने वाले ईएलएफ प्लेटफार्मों पर सार्थक।

डायनेमिक सूची का प्रारूप संस्करण नोड के समान है
गुंजाइश और नोड नाम के बिना। देखो VERSION देखें।

--गतिशील-सूची-डेटा
सभी वैश्विक डेटा प्रतीकों को गतिशील सूची में शामिल करें।

--गतिशील-सूची-सीपीपी-नया
C++ ऑपरेटर के लिए बिल्टिन डायनेमिक सूची प्रदान करें नया और हटाएं।
यह साझा libstdc++ बनाने के लिए मुख्य रूप से उपयोगी है।

--गतिशील-सूची-सीपीपी-टाइपइन्फो
C++ रनटाइम प्रकार के लिए बिल्टिन डायनेमिक सूची प्रदान करें
पहचान।

--चेक-सेक्शन
--नो-चेक-सेक्शन
लिंकर पूछता है नहीं अनुभाग पतों की जांच करने के बाद वे रहे हैं
यह देखने के लिए असाइन किया गया है कि क्या कोई ओवरलैप है या नहीं। आम तौर पर लिंकर
यह जांच करेगा, और अगर इसे कोई ओवरलैप मिलता है तो यह होगा
उपयुक्त त्रुटि संदेश उत्पन्न करें। लिंकर के बारे में जानता है, और
ओवरले में अनुभागों के लिए भत्ते बनाता है। डिफ़ॉल्ट
कमांड लाइन स्विच का उपयोग करके व्यवहार को बहाल किया जा सकता है
--चेक-सेक्शन. अनुभाग ओवरलैप की आमतौर पर जाँच नहीं की जाती है
स्थानांतरित करने योग्य लिंक। आप उस स्थिति में जाँच करने के लिए बाध्य कर सकते हैं
la --चेक-सेक्शन विकल्प.

--कॉपी-डीटी-आवश्यक-प्रविष्टियां
--नो-कॉपी-डीटी-आवश्यक-प्रविष्टियां
यह विकल्प संदर्भित गतिशील पुस्तकालयों के उपचार को प्रभावित करता है
DT_NEEDED टैग द्वारा अंदर ईएलएफ गतिशील पुस्तकालयों का उल्लेख किया गया है
कमांड लाइन। आम तौर पर लिंकर इसमें DT_NEEDED टैग नहीं जोड़ेगा
एक में DT_NEEDED टैग में उल्लिखित प्रत्येक पुस्तकालय के लिए आउटपुट बाइनरी
इनपुट गतिशील पुस्तकालय। साथ में --कॉपी-डीटी-आवश्यक-प्रविष्टियां पर निर्दिष्ट
कमांड लाइन हालांकि कोई भी गतिशील पुस्तकालय जो इसका पालन करता है
उनकी DT_NEEDED प्रविष्टियां जोड़ी गई हैं। डिफ़ॉल्ट व्यवहार हो सकता है
के साथ बहाल --नो-कॉपी-डीटी-आवश्यक-प्रविष्टियां.

इस विकल्प का भी प्रतीकों के संकल्प पर प्रभाव पड़ता है
गतिशील पुस्तकालय। साथ में --कॉपी-डीटी-आवश्यक-प्रविष्टियां गतिशील पुस्तकालय
कमांड लाइन पर उल्लिखित पुनरावर्ती खोज की जाएगी,
अन्य पुस्तकालयों में उनके DT_NEEDED टैग का अनुसरण करने के क्रम में
आउटपुट बाइनरी द्वारा आवश्यक प्रतीकों को हल करें। डिफ़ॉल्ट के साथ
हालांकि इसके बाद गतिशील पुस्तकालयों की खोज की स्थापना
डायनेमिक लाइब्रेरी के साथ ही रुक जाएगा। कोई DT_NEEDED लिंक नहीं होगा
प्रतीकों को हल करने के लिए ट्रैवर्स किया जा सकता है।

--cref
एक क्रॉस संदर्भ तालिका आउटपुट करें। यदि एक लिंकर मानचित्र फ़ाइल की जा रही है
उत्पन्न, क्रॉस संदर्भ तालिका मानचित्र फ़ाइल में मुद्रित होती है।
अन्यथा, यह मानक आउटपुट पर मुद्रित होता है।

तालिका का प्रारूप जानबूझकर सरल है, ताकि यह हो सके
यदि आवश्यक हो तो आसानी से एक स्क्रिप्ट द्वारा संसाधित किया जाता है। प्रतीक मुद्रित हैं
बाहर, नाम से क्रमबद्ध। प्रत्येक प्रतीक के लिए, फ़ाइल नामों की एक सूची है
दिया हुआ। यदि प्रतीक परिभाषित किया गया है, तो सूचीबद्ध पहली फ़ाइल है
परिभाषा का स्थान। यदि प्रतीक को सामान्य के रूप में परिभाषित किया गया है
value तब कोई भी फाइल जहां ऐसा होता है वह आगे दिखाई देती है। अंत में कोई भी
प्रतीक को संदर्भित करने वाली फ़ाइलें सूचीबद्ध हैं।

--नो-डिफाइन-कॉमन
यह विकल्प आम प्रतीकों को पतों के असाइनमेंट को रोकता है।
स्क्रिप्ट कमांड "INHIBIT_COMMON_ALLOCATION" का प्रभाव समान है।

RSI --नो-डिफाइन-कॉमन विकल्प निर्णय को विच्छेदित करने की अनुमति देता है
आउटपुट की पसंद से सामान्य प्रतीकों को पते निर्दिष्ट करें
फाइल का प्रकार; अन्यथा एक गैर-स्थानांतरित आउटपुट प्रकार असाइन करने के लिए मजबूर करता है
सामान्य प्रतीकों के पते। का उपयोग करते हुए --नो-डिफाइन-कॉमन की अनुमति देता है
साझा पुस्तकालय से संदर्भित होने वाले सामान्य प्रतीक:
केवल मुख्य कार्यक्रम में निर्दिष्ट पते। यह समाप्त करता है
साझा लाइब्रेरी में अप्रयुक्त डुप्लिकेट स्थान, और किसी को भी रोकता है
गलत डुप्लिकेट को हल करने पर संभावित भ्रम जब वहाँ हो
रनटाइम के लिए विशेष खोज पथ वाले कई गतिशील मॉड्यूल हैं
प्रतीक संकल्प।

--defsym=प्रतीक=अभिव्यक्ति
आउटपुट फ़ाइल में एक वैश्विक प्रतीक बनाएँ, जिसमें निरपेक्ष . हो
द्वारा दिया गया पता अभिव्यक्ति. आप इस विकल्प का कई बार उपयोग कर सकते हैं
कमांड लाइन में कई प्रतीकों को परिभाषित करने के लिए आवश्यक है। ए
अंकगणित के सीमित रूप का समर्थन किया जाता है अभिव्यक्ति इस में
संदर्भ: आप एक हेक्साडेसिमल स्थिरांक या एक का नाम दे सकते हैं
मौजूदा प्रतीक, या हेक्साडेसिमल जोड़ने या घटाने के लिए "+" और "-" का उपयोग करें
स्थिरांक या प्रतीक। यदि आपको अधिक विस्तृत अभिव्यक्तियों की आवश्यकता है,
एक स्क्रिप्ट से लिंकर कमांड भाषा का उपयोग करने पर विचार करें। नोट:
बीच में कोई सफेद जगह नहीं होनी चाहिए प्रतीक, बराबर चिह्न
("="), तथा अभिव्यक्ति.

--डीमंगल[=अंदाज]
--नो-डेमंगल
ये विकल्प नियंत्रित करते हैं कि त्रुटि में प्रतीक नामों को हटाना है या नहीं
संदेश और अन्य आउटपुट। जब लिंकर को डिमंगल करने के लिए कहा जाता है, तो यह
प्रतीक नामों को एक पठनीय तरीके से प्रस्तुत करने का प्रयास करता है: यह स्ट्रिप्स
प्रमुख अंडरस्कोर यदि उनका उपयोग ऑब्जेक्ट फ़ाइल स्वरूप द्वारा किया जाता है, और
सी ++ मैंगल्ड सिंबल नामों को उपयोगकर्ता के पढ़ने योग्य नामों में परिवर्तित करता है।
अलग-अलग कंपाइलरों में अलग-अलग मैंगलिंग स्टाइल होते हैं। वैकल्पिक
एक उपयुक्त चुनने के लिए demangling शैली तर्क का उपयोग किया जा सकता है
आपके कंपाइलर के लिए demangling शैली। लिंकर द्वारा अलग हो जाएगा
डिफ़ॉल्ट जब तक पर्यावरण चर COLLECT_NO_DEMANGLE सेट है।
इन विकल्पों का उपयोग डिफ़ॉल्ट को ओवरराइड करने के लिए किया जा सकता है।

-Iपट्टिका
--गतिशील-लिंकर=पट्टिका
डायनेमिक लिंकर का नाम सेट करें। यह तभी सार्थक होता है जब
गतिशील रूप से जुड़े ईएलएफ निष्पादन योग्य उत्पन्न करना। डिफ़ॉल्ट गतिशील
लिंकर सामान्य रूप से सही है; इसका उपयोग तब तक न करें जब तक आपको पता न हो कि आप क्या कर रहे हैं
कर रहे हैं।

--नहीं-गतिशील-लिंकर
निष्पादन योग्य फ़ाइल बनाते समय, डायनेमिक के लिए अनुरोध को छोड़ दें
लोड-टाइम पर उपयोग किए जाने वाले लिंकर। यह केवल ELF . के लिए सार्थक है
निष्पादन योग्य जिसमें गतिशील स्थानान्तरण होते हैं, और आमतौर पर इसकी आवश्यकता होती है
प्रवेश बिंदु कोड जो इन स्थानांतरणों को संसाधित करने में सक्षम है।

--घातक-चेतावनी
--नहीं-घातक-चेतावनी
सभी चेतावनियों को त्रुटियों के रूप में मानें। डिफ़ॉल्ट व्यवहार हो सकता है
विकल्प के साथ बहाल --नहीं-घातक-चेतावनी.

--बल-एक्सई-प्रत्यय
सुनिश्चित करें कि आउटपुट फ़ाइल में .exe प्रत्यय है।

यदि पूरी तरह से लिंक की गई सफलतापूर्वक निर्मित आउटपुट फ़ाइल में a . नहीं है
".exe" या ".dll" प्रत्यय, यह विकल्प लिंकर को कॉपी करने के लिए बाध्य करता है
".exe" प्रत्यय के साथ एक ही नाम में से एक के लिए आउटपुट फ़ाइल। इस
विकल्प तब उपयोगी होता है जब a . पर अनमॉडिफाइड यूनिक्स मेकफाइल्स का उपयोग किया जाता है
Microsoft Windows होस्ट, क्योंकि Windows के कुछ संस्करण नहीं चलेंगे
छवि जब तक कि यह ".exe" प्रत्यय में समाप्त न हो।

--gc-सेक्शन
--नो-जीसी-सेक्शन
अप्रयुक्त इनपुट अनुभागों का कचरा संग्रहण सक्षम करें। अनदेखा किया जाता है
उन लक्ष्यों पर जो इस विकल्प का समर्थन नहीं करते हैं। डिफ़ॉल्ट व्यवहार
(इस कचरा संग्रह को नहीं करने के) द्वारा बहाल किया जा सकता है
निर्दिष्ट करना --नो-जीसी-सेक्शन कमांड लाइन पर। ध्यान दें कि कचरा
सीओएफएफ और पीई प्रारूप लक्ष्यों के लिए संग्रह समर्थित है, लेकिन
कार्यान्वयन को वर्तमान में प्रयोगात्मक माना जाता है।

--gc-सेक्शन जांच करके तय करता है कि कौन से इनपुट सेक्शन का इस्तेमाल किया जाता है
प्रतीक और स्थानांतरण। प्रवेश चिह्न युक्त अनुभाग
और कमांड-लाइन पर अपरिभाषित प्रतीकों वाले सभी खंड
रखा जाएगा, जैसा कि द्वारा संदर्भित प्रतीकों वाले अनुभाग होंगे
गतिशील वस्तुएं। ध्यान दें कि साझा पुस्तकालयों का निर्माण करते समय,
लिंकर को यह मान लेना चाहिए कि कोई भी दृश्य प्रतीक संदर्भित है। एक बार
वर्गों का यह प्रारंभिक सेट निर्धारित किया गया है, लिंकर
उनके द्वारा संदर्भित किसी भी अनुभाग का उपयोग किए गए के रूप में पुनरावर्ती रूप से चिह्नित करें
स्थान परिवर्तन। देखो --प्रवेश और --अपरिभाषित.

आंशिक लिंक करते समय यह विकल्प सेट किया जा सकता है (के साथ सक्षम
विकल्प -r) इस मामले में रखे गए प्रतीकों की जड़ होनी चाहिए
स्पष्ट रूप से या तो a . द्वारा निर्दिष्ट किया गया है --प्रवेश or --अपरिभाषित विकल्प या
लिंकर स्क्रिप्ट में "ENTRY" कमांड द्वारा।

--प्रिंट-जीसी-सेक्शन
--नो-प्रिंट-जीसी-सेक्शन
कचरा संग्रहण द्वारा हटाए गए सभी अनुभागों की सूची बनाएं। लिस्टिंग है
Stderr पर मुद्रित। यह विकल्प तभी प्रभावी होता है जब कचरा
संग्रह को के माध्यम से सक्षम किया गया है --gc-सेक्शन) विकल्प। NS
डिफ़ॉल्ट व्यवहार (हटाए गए अनुभागों को सूचीबद्ध न करने का)
निर्दिष्ट करके बहाल किया जा सकता है --नो-प्रिंट-जीसी-सेक्शन आदेश पर
लाइन.

--प्रिंट-आउटपुट-प्रारूप
डिफ़ॉल्ट आउटपुट स्वरूप का नाम प्रिंट करें (शायद इससे प्रभावित)
अन्य कमांड-लाइन विकल्प)। यह वह स्ट्रिंग है जो दिखाई देगी
एक "OUTPUT_FORMAT" लिंकर स्क्रिप्ट कमांड में।

--प्रिंट-मेमोरी-उपयोग
उपयोग किए गए आकार, कुल आकार और बनाए गए मेमोरी क्षेत्रों के उपयोग किए गए आकार को प्रिंट करें
साथ स्मृति आदेश। यह एम्बेडेड लक्ष्यों पर उपयोगी है
मुक्त स्मृति की मात्रा का एक त्वरित दृश्य प्राप्त करें। का प्रारूप
आउटपुट में प्रति क्षेत्र एक शीर्षक और एक पंक्ति होती है। यह दोनों मानव है
उपकरणों द्वारा पठनीय और आसानी से पार्स करने योग्य। यहाँ एक का एक उदाहरण है
उत्पादन:

मेमोरी क्षेत्र प्रयुक्त आकार क्षेत्र आकार % आयु प्रयुक्त
रोम: 256 केबी 1 एमबी 25.00%
रैम: 32 बी 2 जीबी 0.00%

--मदद
मानक आउटपुट पर कमांड-लाइन विकल्पों का सारांश प्रिंट करें
और बाहर निकलें

--लक्ष्य-सहायता
मानक पर सभी लक्ष्य विशिष्ट विकल्पों का सारांश प्रिंट करें
आउटपुट और निकास।

-मानचित्र =मैपफाइल
फ़ाइल के लिए एक लिंक मैप प्रिंट करें मैपफाइल. का वर्णन देखें
-M विकल्प, ऊपर।

--नो-कीप-मेमोरी
ld कैशिंग द्वारा स्मृति उपयोग पर गति के लिए सामान्य रूप से अनुकूलित करता है
स्मृति में इनपुट फ़ाइलों की प्रतीक तालिकाएँ। यह विकल्प बताता है ld सेवा मेरे
इसके बजाय, प्रतीक तालिकाओं को फिर से पढ़कर, स्मृति उपयोग के लिए अनुकूलित करें
जैसा आवश्यक हो। इसकी आवश्यकता हो सकती है यदि ld स्मृति स्थान से बाहर चला जाता है
एक बड़े निष्पादन योग्य को जोड़ने के दौरान।

--नहीं-अपरिभाषित
-z डीएफएस
नियमित ऑब्जेक्ट फ़ाइलों से अनसुलझे प्रतीक संदर्भों की रिपोर्ट करें।
यह तब भी किया जाता है जब लिंकर एक गैर-प्रतीकात्मक साझाकरण बना रहा हो
पुस्तकालय। बटन --[नहीं-]अनुमति-श्लिब-अपरिभाषित नियंत्रित करता है
साझा किए गए अनसुलझे संदर्भों की रिपोर्ट करने के लिए व्यवहार
पुस्तकालयों से जोड़ा जा रहा है।

--अनुमति दें-एकाधिक-परिभाषा
-z मुल्डेफ़्स
आम तौर पर जब एक प्रतीक को कई बार परिभाषित किया जाता है, तो लिंकर होगा
एक घातक त्रुटि की रिपोर्ट करें। ये विकल्प कई परिभाषाओं की अनुमति देते हैं और
पहली परिभाषा का उपयोग किया जाएगा।

--अनुमति-श्लिब-अपरिभाषित
--नो-अनुमति-श्लिब-अपरिभाषित
साझा पुस्तकालयों में अपरिभाषित प्रतीकों को अनुमति देता है या अस्वीकार करता है। इस
स्विच के समान है --नहीं-अपरिभाषित सिवाय इसके कि यह निर्धारित करता है
व्यवहार जब अपरिभाषित प्रतीक एक साझा पुस्तकालय में होते हैं बल्कि
एक नियमित वस्तु फ़ाइल की तुलना में। यह प्रभावित नहीं करता है कि कैसे अपरिभाषित
नियमित वस्तु फ़ाइलों में प्रतीकों को संभाला जाता है।

डिफ़ॉल्ट व्यवहार किसी भी अपरिभाषित प्रतीकों के लिए त्रुटियों की रिपोर्ट करना है
साझा पुस्तकालयों में संदर्भित यदि लिंकर का उपयोग किया जा रहा है
एक निष्पादन योग्य बनाएं, लेकिन यदि लिंकर का उपयोग किया जा रहा है तो उन्हें अनुमति देने के लिए
एक साझा पुस्तकालय बनाने के लिए।

साझा में अपरिभाषित प्रतीक संदर्भों की अनुमति देने के कारण
लिंक समय पर निर्दिष्ट पुस्तकालय हैं:

· लिंक समय पर निर्दिष्ट एक साझा पुस्तकालय समान नहीं हो सकता है
वह जो लोड समय पर उपलब्ध है, इसलिए प्रतीक हो सकता है
वास्तव में लोड समय पर हल करने योग्य हो।

· कुछ ऑपरेटिंग सिस्टम हैं, जैसे बीओएस और एचपीपीए, जहां
साझा पुस्तकालयों में अपरिभाषित प्रतीक सामान्य हैं।

BeOS कर्नेल उदाहरण के लिए लोड पर साझा पुस्तकालयों को पैच करता है
जो भी फ़ंक्शन सबसे उपयुक्त है उसे चुनने का समय
वर्तमान वास्तुकला। इसका उपयोग किया जाता है, उदाहरण के लिए, to
गतिशील रूप से एक उपयुक्त मेमसेट फ़ंक्शन का चयन करें।

--नहीं-अपरिभाषित-संस्करण
आम तौर पर जब किसी प्रतीक का एक अपरिभाषित संस्करण होता है, तो लिंकर होगा
को नजरअंदाज। यह विकल्प अपरिभाषित संस्करण वाले प्रतीकों की अनुमति नहीं देता है और
इसके बजाय एक घातक त्रुटि जारी की जाएगी।

--डिफ़ॉल्ट-सिम्वर
के लिए एक डिफ़ॉल्ट प्रतीक संस्करण (सोनम) बनाएं और उसका उपयोग करें
असंक्रमित निर्यातित प्रतीक।

--डिफ़ॉल्ट-आयातित-सिम्वर
के लिए एक डिफ़ॉल्ट प्रतीक संस्करण (सोनम) बनाएं और उसका उपयोग करें
असंक्रमित आयातित प्रतीक।

--नो-चेतावनी-बेमेल
सामान्य रूप से ld यदि आप इनपुट को एक साथ जोड़ने का प्रयास करते हैं तो एक त्रुटि देगा
फ़ाइलें जो किसी कारण से बेमेल हैं, शायद इसलिए कि वे
विभिन्न प्रोसेसर के लिए या अलग के लिए संकलित किया गया है
अंतहीनता। यह विकल्प बताता है ld कि इसे चुपचाप अनुमति देनी चाहिए
ऐसी संभावित त्रुटियां। इस विकल्प का उपयोग केवल सावधानी से किया जाना चाहिए,
ऐसे मामलों में जब आपने कुछ विशेष कार्रवाई की है जो सुनिश्चित करती है कि
लिंकर त्रुटियां अनुचित हैं।

--नो-चेतावनी-खोज-बेमेल
सामान्य रूप से ld एक असंगत पुस्तकालय मिलने पर चेतावनी देगा
एक पुस्तकालय खोज के दौरान। यह विकल्प चेतावनी को शांत करता है।

--नहीं-संपूर्ण-संग्रह
के प्रभाव को बंद करें --whole-संग्रह बाद के लिए विकल्प
संग्रह फ़ाइलें।

--निष्क्रिय-निष्पादन
निष्पादन योग्य आउटपुट फ़ाइल को तब भी बनाए रखें जब भी वह प्रयोग करने योग्य हो।
आम तौर पर, लिंकर आउटपुट फ़ाइल नहीं देगा यदि यह
लिंक प्रक्रिया के दौरान त्रुटियों का सामना करना पड़ता है; यह बिना लिखे निकल जाता है
एक आउटपुट फ़ाइल जब यह कोई त्रुटि जारी करती है।

-नोस्टडलिब
केवल कमांड पर स्पष्ट रूप से निर्दिष्ट पुस्तकालय निर्देशिका खोजें
रेखा। लिंकर स्क्रिप्ट में निर्दिष्ट लाइब्रेरी निर्देशिकाएं (सहित .)
कमांड लाइन पर निर्दिष्ट लिंकर स्क्रिप्ट) पर ध्यान नहीं दिया जाता है।

--oformat=आउटपुट स्वरूप
ld एक से अधिक प्रकार की ऑब्जेक्ट फ़ाइल का समर्थन करने के लिए कॉन्फ़िगर किया जा सकता है।
यदि आपके ld इस तरह से कॉन्फ़िगर किया गया है, आप इसका उपयोग कर सकते हैं --oformat विकल्प
आउटपुट ऑब्जेक्ट फ़ाइल के लिए बाइनरी प्रारूप निर्दिष्ट करने के लिए। यहां तक ​​कि जब
ld वैकल्पिक ऑब्जेक्ट स्वरूपों का समर्थन करने के लिए कॉन्फ़िगर किया गया है, आप नहीं
आमतौर पर इसे निर्दिष्ट करने की आवश्यकता होती है, जैसे ld उत्पादन करने के लिए कॉन्फ़िगर किया जाना चाहिए
डिफ़ॉल्ट आउटपुट स्वरूप के रूप में प्रत्येक मशीन पर सबसे सामान्य स्वरूप।
आउटपुट स्वरूप एक टेक्स्ट स्ट्रिंग है, एक विशेष प्रारूप का नाम
बीएफडी पुस्तकालयों द्वारा समर्थित। (आप उपलब्ध बाइनरी को सूचीबद्ध कर सकते हैं
के साथ प्रारूप ओब्जडम्प -i।) स्क्रिप्ट कमांड "OUTPUT_FORMAT" कर सकते हैं
आउटपुट स्वरूप भी निर्दिष्ट करें, लेकिन यह विकल्प इसे ओवरराइड करता है।

-पाई
--तस्वीर-निष्पादन योग्य
एक स्वतंत्र निष्पादन योग्य स्थिति बनाएँ। यह वर्तमान में केवल
ईएलएफ प्लेटफार्मों पर समर्थित। स्थिति स्वतंत्र निष्पादन योग्य हैं
साझा पुस्तकालयों के समान है कि वे द्वारा स्थानांतरित कर रहे हैं
वर्चुअल पते के लिए गतिशील लिंकर ओएस उनके लिए चुनता है
(जो आमंत्रणों के बीच भिन्न हो सकते हैं)। सामान्य गतिशील की तरह
लिंक किए गए निष्पादन योग्य उन्हें निष्पादित किया जा सकता है और प्रतीकों को परिभाषित किया जा सकता है
निष्पादन योग्य को साझा पुस्तकालयों द्वारा ओवरराइड नहीं किया जा सकता है।

-क्यूमैजिक
Linux संगतता के लिए इस विकल्प पर ध्यान नहीं दिया जाता है।

-क्यूयू SVR4 संगतता के लिए इस विकल्प पर ध्यान नहीं दिया जाता है।

--आराम करना
--नहीं-आराम
मशीन पर निर्भर प्रभावों वाला एक विकल्प। यह विकल्प केवल
कुछ निशाने पर समर्थन

कुछ प्लेटफॉर्म पर --आराम करना विकल्प लक्ष्य विशिष्ट करता है,
वैश्विक अनुकूलन जो लिंकर के हल होने पर संभव हो जाते हैं
कार्यक्रम में संबोधित करना, जैसे आराम से पता मोड,
नए निर्देशों का संश्लेषण, वर्तमान के छोटे संस्करण का चयन
निर्देश, और निरंतर मूल्यों का संयोजन।

कुछ प्लेटफार्मों पर ये लिंक समय वैश्विक अनुकूलन कर सकते हैं
परिणामी निष्पादन योग्य असंभव की प्रतीकात्मक डिबगिंग। यह है
Matsushita MN10200 और MN10300 परिवार के मामले के रूप में जाना जाता है
प्रोसेसर के।

प्लेटफॉर्म पर जहां यह समर्थित नहीं है, --आराम करना स्वीकार किया जाता है, लेकिन
अवहेलना करना।

प्लेटफॉर्म पर जहां --आराम करना विकल्प स्वीकार किया जाता है --नहीं-आराम हो सकता है
सुविधा को अक्षम करने के लिए उपयोग किया जाता है।

--रखरखाव-प्रतीक-फ़ाइल=फ़ाइल का नाम
को बनाये रखें केवल फ़ाइल में सूचीबद्ध प्रतीक फ़ाइल का नाम, सभी को त्यागना
अन्य शामिल हैं। फ़ाइल का नाम बस एक सपाट फ़ाइल है, जिसमें एक प्रतीक नाम प्रति . है
रेखा। यह विकल्प वातावरण में विशेष रूप से उपयोगी है (जैसे
VxWorks) जहां एक बड़ी वैश्विक प्रतीक तालिका जमा होती है
धीरे-धीरे, रन-टाइम मेमोरी को संरक्षित करने के लिए।

--रखरखाव-प्रतीक-फ़ाइल कर देता है नहीं अपरिभाषित प्रतीकों को त्यागें, या
स्थानांतरण के लिए आवश्यक प्रतीक।

आप केवल निर्दिष्ट कर सकते हैं --रखरखाव-प्रतीक-फ़ाइल एक बार कमांड में
रेखा। यह ओवरराइड करता है -s और -S.

-रपथ =दीर
रनटाइम लाइब्रेरी खोज पथ में एक निर्देशिका जोड़ें। यह प्रयोग किया जाता है
साझा वस्तुओं के साथ एक ईएलएफ निष्पादन योग्य लिंक करते समय। सभी -रपाथ
तर्कों को संयोजित किया जाता है और रनटाइम लिंकर को पास किया जाता है, जो
रनटाइम पर साझा की गई वस्तुओं का पता लगाने के लिए उनका उपयोग करता है। NS -रपाथ विकल्प
साझा वस्तुओं का पता लगाने के लिए भी उपयोग किया जाता है जिनकी आवश्यकता होती है
लिंक में स्पष्ट रूप से शामिल साझा किए गए ऑब्जेक्ट; विवरण देखें
का -रपथ-लिंक विकल्प। अगर -रपाथ an . को लिंक करते समय उपयोग नहीं किया जाता है
ईएलएफ निष्पादन योग्य, पर्यावरण चर की सामग्री
"LD_RUN_PATH" परिभाषित होने पर प्रयोग किया जाएगा।

RSI -रपाथ विकल्प का उपयोग SunOS पर भी किया जा सकता है। डिफ़ॉल्ट रूप से, सनओएस पर,
लिंकर सभी में से एक रनटाइम खोज पथ बनाएगा -L
विकल्प दिया है। यदि एक -रपाथ विकल्प का उपयोग किया जाता है, रनटाइम
खोज पथ विशेष रूप से का उपयोग करके बनाया जाएगा -रपाथ विकल्प
अनदेखी कर रहा है -L विकल्प। जीसीसी का उपयोग करते समय यह उपयोगी हो सकता है, जो
कई जोड़ता है -L विकल्प जो NFS माउंटेड फाइल सिस्टम पर हो सकते हैं।

अन्य ईएलएफ लिंकर्स के साथ संगतता के लिए, यदि -R विकल्प है
फ़ाइल नाम के बजाय निर्देशिका नाम के बाद, यह है
के रूप में व्यवहार किया -रपाथ विकल्प.

-रपथ-लिंक =दीर
ELF या SunOS का उपयोग करते समय, एक साझा पुस्तकालय को दूसरे की आवश्यकता हो सकती है।
ऐसा तब होता है जब "ld -shared" लिंक में एक साझा लाइब्रेरी शामिल होती है:
इनपुट फ़ाइलों में से एक।

जब गैर-करते समय लिंकर ऐसी निर्भरता का सामना करता है
साझा, गैर-स्थानांतरित लिंक, यह स्वचालित रूप से खोजने का प्रयास करेगा
आवश्यक साझा पुस्तकालय और इसे लिंक में शामिल करें, यदि यह है
स्पष्ट रूप से शामिल नहीं है। ऐसे मामले में, -रपथ-लिंक विकल्प
खोज के लिए निर्देशिकाओं का पहला सेट निर्दिष्ट करता है। NS -रपथ-लिंक
विकल्प या तो द्वारा निर्देशिका नामों का एक क्रम निर्दिष्ट कर सकता है
कोलन द्वारा अलग किए गए नामों की सूची निर्दिष्ट करना, या प्रकट होना
कई बार।

इस विकल्प का उपयोग सावधानी के साथ किया जाना चाहिए क्योंकि यह खोज को ओवरराइड करता है
पथ जो शायद एक साझा पुस्तकालय में संकलित किया गया हो। में
ऐसा मामला अनजाने में एक अलग का उपयोग करना संभव है
रनटाइम लिंकर की तुलना में खोज पथ करेगा।

लिंकर आवश्यक खोजने के लिए निम्नलिखित खोज पथों का उपयोग करता है:
साझा पुस्तकालय:

1. द्वारा निर्दिष्ट कोई निर्देशिका -रपथ-लिंक विकल्प.

2. द्वारा निर्दिष्ट कोई निर्देशिका -रपाथ विकल्प। अंतर
के बीच -रपाथ और -रपथ-लिंक क्या वह निर्देशिका द्वारा निर्दिष्ट है
-रपाथ विकल्पों को निष्पादन योग्य में शामिल किया जाता है और इनका उपयोग किया जाता है
रनटाइम, जबकि -रपथ-लिंक विकल्प केवल पर प्रभावी है
लिंक समय। खोज कर -रपाथ इस तरह केवल द्वारा समर्थित है
देशी लिंकर्स और क्रॉस लिंकर्स जिन्हें कॉन्फ़िगर किया गया है
साथ --साथ-सिसरूट विकल्प.

3. एक ईएलएफ प्रणाली पर, देशी लिंकर्स के लिए, यदि -रपाथ और
-रपथ-लिंक विकल्पों का उपयोग नहीं किया गया था, की सामग्री खोजें
पर्यावरण चर "LD_RUN_PATH"।

4. सनोस पर, यदि -रपाथ विकल्प का उपयोग नहीं किया गया था, कोई भी खोजें
निर्देशिकाओं का उपयोग करके निर्दिष्ट किया गया -L विकल्प.

5. मूल लिंकर के लिए, पर्यावरण की सामग्री खोजें
चर "LD_LIBRARY_PATH"।

6. मूल ईएलएफ लिंकर के लिए, "DT_RUNPATH" या . में निर्देशिकाएं
साझा लाइब्रेरी के "DT_RPATH" को साझा के लिए खोजा जाता है
इसके लिए आवश्यक पुस्तकालयों। "DT_RPATH" प्रविष्टियों पर ध्यान नहीं दिया जाता है यदि
"DT_RUNPATH" प्रविष्टियां मौजूद हैं।

7. डिफ़ॉल्ट निर्देशिका, सामान्य रूप से / दायित्व और / Usr / lib.

8. एक ईएलएफ सिस्टम पर एक देशी लिंकर के लिए, अगर फाइल
/etc/ld.so.conf मौजूद है, उसमें मिली निर्देशिकाओं की सूची
फ़ाइल.

यदि आवश्यक साझा पुस्तकालय नहीं मिलता है, तो लिंकर जारी करेगा
एक चेतावनी और लिंक के साथ जारी रखें।

कमरा साझा
- साझा करने योग्य
एक साझा पुस्तकालय बनाएँ। यह वर्तमान में केवल ELF पर समर्थित है,
XCOFF और SunOS प्लेटफॉर्म। सनओएस पर, लिंकर स्वचालित रूप से होगा
एक साझा पुस्तकालय बनाएं यदि -e विकल्प का उपयोग नहीं किया जाता है और वहाँ हैं
लिंक में अपरिभाषित प्रतीक।

--सॉर्ट-कॉमन
--सॉर्ट-कॉमन = आरोही
--सॉर्ट-आम = अवरोही
यह विकल्प बताता है ld संरेखण द्वारा सामान्य प्रतीकों को क्रमबद्ध करने के लिए
आरोही या अवरोही क्रम जब यह उन्हें में रखता है
उपयुक्त आउटपुट अनुभाग। माना जाता है कि प्रतीक संरेखण हैं
सोलह-बाइट या बड़ा, आठ-बाइट, चार-बाइट, दो-बाइट, और एक-
बाइट। यह संरेखण के कारण प्रतीकों के बीच अंतराल को रोकने के लिए है
प्रतिबंध। यदि कोई छँटाई क्रम निर्दिष्ट नहीं है, तो अवरोही
आदेश माना जाता है।

--सॉर्ट-सेक्शन = नाम
यह विकल्प "SORT_BY_NAME" को सभी वाइल्डकार्ड अनुभागों पर लागू करेगा
लिंकर स्क्रिप्ट में पैटर्न।

--सॉर्ट-सेक्शन = संरेखण
यह विकल्प सभी वाइल्डकार्ड अनुभागों में "SORT_BY_ALIGNMENT" लागू होगा
लिंकर स्क्रिप्ट में पैटर्न।

--स्प्लिट-बाय-फाइल[=आकार]
के समान --स्प्लिट-बाय-रिलोक लेकिन के लिए एक नया आउटपुट अनुभाग बनाता है
प्रत्येक इनपुट फ़ाइल जब आकार पहुंच गया। आकार 1 . के आकार में डिफ़ॉल्ट
अगर नहीं दिया।

--स्प्लिट-बाय-रिलोक[=गणना]
आउटपुट फ़ाइल में अतिरिक्त अनुभाग बनाने का प्रयास करता है ताकि नहीं
फ़ाइल में एकल आउटपुट अनुभाग में अधिक से अधिक शामिल हैं गणना
स्थान परिवर्तन। बड़ी स्थानांतरित करने योग्य फ़ाइलें बनाते समय यह उपयोगी होता है
सीओएफएफ ऑब्जेक्ट के साथ कुछ रीयल टाइम कर्नेल में डाउनलोड करने के लिए
फाइल प्रारूप; चूंकि सीओएफएफ 65535 . से अधिक का प्रतिनिधित्व नहीं कर सकता है
एक ही खंड में स्थानांतरण। ध्यान दें कि यह काम करने में विफल रहेगा
ऑब्जेक्ट फ़ाइल स्वरूपों के साथ जो मनमाने वर्गों का समर्थन नहीं करते हैं।
लिंकर अलग-अलग इनपुट अनुभागों को विभाजित नहीं करेगा
पुनर्वितरण, इसलिए यदि किसी एकल इनपुट अनुभाग में से अधिक है
गणना स्थानान्तरण एक आउटपुट अनुभाग में बहुत से होंगे
स्थान परिवर्तन। गणना 32768 के मान के लिए डिफ़ॉल्ट।

--आँकड़े
लिंकर के संचालन के बारे में आंकड़ों की गणना और प्रदर्शन करें,
जैसे निष्पादन समय और स्मृति उपयोग।

--सिसरूट=डायरेक्टरी
उपयोग डायरेक्टरी sysroot के स्थान के रूप में, ओवरराइड कर रहा है
कॉन्फ़िगर-समय डिफ़ॉल्ट। यह विकल्प केवल लिंकर्स द्वारा समर्थित है
जिनका उपयोग करके कॉन्फ़िगर किया गया था --साथ-सिसरूट.

--पारंपरिक प्रारूप
कुछ लक्ष्यों के लिए, का उत्पादन ld से कुछ मायनों में अलग है
कुछ मौजूदा लिंकर का आउटपुट। यह स्विच अनुरोध करता है ld उपयोग करने के लिए
इसके बजाय पारंपरिक प्रारूप।

उदाहरण के लिए, सनोस पर, ld प्रतीक में डुप्लिकेट प्रविष्टियों को जोड़ती है
स्ट्रिंग टेबल। यह आउटपुट फ़ाइल के आकार को पूर्ण के साथ कम कर सकता है
डिबगिंग जानकारी 30 प्रतिशत से अधिक। दुर्भाग्य से, सनोस
"डीबीएक्स" प्रोग्राम परिणामी प्रोग्राम को नहीं पढ़ सकता ("जीडीबी" में नहीं है
मुसीबत)। NS --पारंपरिक प्रारूप स्विच बताता है ld गठबंधन नहीं करना
डुप्लिकेट प्रविष्टियाँ।

--सेक्शन-स्टार्ट=अनुभाग का नाम=org
आउटपुट फ़ाइल में दिए गए निरपेक्ष पते पर एक अनुभाग का पता लगाएँ
by org. आप इस विकल्प का उपयोग जितनी बार आवश्यक हो, कर सकते हैं
कमांड लाइन में कई सेक्शन का पता लगाएं। org एक होना चाहिए
हेक्साडेसिमल पूर्णांक; अन्य लिंकर्स के साथ संगतता के लिए, आप कर सकते हैं
अग्रणी को छोड़ दें 0x आमतौर पर हेक्साडेसिमल मानों से जुड़ा होता है।
नोट: बीच में कोई सफेद जगह नहीं होनी चाहिए अनुभाग का नाम,
बराबर चिह्न ("="), तथा org.

-टीबीएस =org
-टाडाटा =org
-टेक्स्ट=org
के समान --सेक्शन-स्टार्ट, ".bss", ".data" या ".text" के साथ के रूप में
अनुभाग का नाम.

-टेक्स्ट-सेगमेंट=org
ईएलएफ निष्पादन योग्य बनाते समय, यह का पता सेट करेगा
टेक्स्ट सेगमेंट का पहला बाइट।

-ट्रोडाटा-सेगमेंट=org
लक्ष्य के लिए ईएलएफ निष्पादन योग्य या साझा ऑब्जेक्ट बनाते समय
केवल-पढ़ने के लिए डेटा अपने स्वयं के खंड में से अलग है
निष्पादन योग्य पाठ, यह के पहले बाइट का पता सेट करेगा
केवल-पढ़ने के लिए डेटा खंड।

-Tldata-सेगमेंट=org
x86-64 माध्यम के लिए ELF निष्पादन योग्य या साझा ऑब्जेक्ट बनाते समय
मेमोरी मॉडल, यह के पहले बाइट का पता सेट करेगा
डेटा खंड।

--अनसुलझे-प्रतीकों=तरीका
निर्धारित करें कि अनसुलझे प्रतीकों को कैसे संभालना है। वहाँ चार हैं
के लिए संभावित मान तरीका:

सभी की अनदेखी करें
किसी भी अनसुलझे प्रतीकों की रिपोर्ट न करें।

रिपोर्ट-सब
सभी अनसुलझे प्रतीकों की रिपोर्ट करें। यह डिफ़ॉल्ट है।

अनदेखा-इन-ऑब्जेक्ट-फाइलें
साझा किए गए अनसुलझे प्रतीकों की रिपोर्ट करें
पुस्तकालय, लेकिन अगर वे नियमित वस्तु से आते हैं तो उन्हें अनदेखा करें
फाइलें.

अनदेखा-इन-साझा-libs
नियमित ऑब्जेक्ट फ़ाइलों से आने वाले अनसुलझे प्रतीकों की रिपोर्ट करें,
लेकिन अगर वे साझा पुस्तकालयों से आते हैं तो उन्हें अनदेखा करें। यह हो सकता है
गतिशील बाइनरी बनाते समय उपयोगी हो और यह ज्ञात हो कि
सभी साझा पुस्तकालय जिन्हें संदर्भित किया जाना चाहिए वे हैं
लिंकर की कमांड लाइन पर शामिल है।

साझा पुस्तकालयों के लिए स्वयं का व्यवहार भी हो सकता है
द्वारा नियंत्रित किया जाता है --[नहीं-]अनुमति-श्लिब-अपरिभाषित विकल्प.

आम तौर पर लिंकर प्रत्येक के लिए एक त्रुटि संदेश उत्पन्न करेगा
अनसुलझे प्रतीक की सूचना दी लेकिन विकल्प --चेतावनी-अनसुलझे-प्रतीकों
इसे चेतावनी में बदल सकते हैं।

--dll-verbose
--verbose[=नंबर]
के लिए संस्करण संख्या प्रदर्शित करें ld और लिंकर इम्यूलेशन सूचीबद्ध करें
का समर्थन किया। प्रदर्शित करें कि कौन सी इनपुट फाइलें खोली जा सकती हैं और नहीं खोली जा सकती हैं।
लिंकर द्वारा उपयोग की जा रही लिंकर स्क्रिप्ट प्रदर्शित करें। यदि वैकल्पिक
नंबर तर्क> 1, प्लगइन प्रतीक स्थिति भी प्रदर्शित की जाएगी।

--संस्करण-स्क्रिप्ट=संस्करण-स्क्रिप्टफ़ाइल
लिंकर के लिए संस्करण स्क्रिप्ट का नाम निर्दिष्ट करें। यह है
आमतौर पर अतिरिक्त निर्दिष्ट करने के लिए साझा लाइब्रेरी बनाते समय उपयोग किया जाता है
पुस्तकालय के लिए संस्करण पदानुक्रम के बारे में जानकारी
बनाया था। यह विकल्प केवल ईएलएफ प्लेटफॉर्म पर पूरी तरह से समर्थित है
जो साझा पुस्तकालयों का समर्थन करते हैं; देख VERSION. यह आंशिक रूप से है
पीई प्लेटफॉर्म पर समर्थित है, जो फ़िल्टर करने के लिए संस्करण स्क्रिप्ट का उपयोग कर सकता है
ऑटो-निर्यात मोड में प्रतीक दृश्यता: चिह्नित कोई भी प्रतीक स्थानीय in
संस्करण स्क्रिप्ट निर्यात नहीं की जाएगी।

--चेतावनी-आम
चेतावनी जब एक सामान्य प्रतीक को दूसरे सामान्य प्रतीक के साथ जोड़ा जाता है या
एक प्रतीक परिभाषा के साथ। यूनिक्स लिंकर्स इसे कुछ हद तक मैला होने देते हैं
अभ्यास, लेकिन कुछ अन्य ऑपरेटिंग सिस्टम पर लिंकर नहीं करते हैं। इस
विकल्प आपको वैश्विक संयोजन से संभावित समस्याओं को खोजने की अनुमति देता है
प्रतीक दुर्भाग्य से, कुछ सी पुस्तकालय इस अभ्यास का उपयोग करते हैं, इसलिए आप
पुस्तकालयों के साथ-साथ प्रतीकों के बारे में कुछ चेतावनियाँ मिल सकती हैं
आपके कार्यक्रम।

तीन प्रकार के वैश्विक प्रतीक हैं, जिन्हें यहाँ C . द्वारा दर्शाया गया है
उदाहरण:

int i = 1;
एक परिभाषा, जो आरंभिक डेटा अनुभाग में जाती है
निर्गम संचिका।

बाहरी int i;
एक अपरिभाषित संदर्भ, जो स्थान आवंटित नहीं करता है। वहां
चर के लिए या तो एक परिभाषा या एक सामान्य प्रतीक होना चाहिए
कहीं।

int i;
एक सामान्य प्रतीक। यदि केवल (एक या अधिक) सामान्य हैं
एक चर के लिए प्रतीक, यह अप्रारंभीकृत डेटा क्षेत्र में जाता है
आउटपुट फ़ाइल का। लिंकर कई सामान्य प्रतीकों को मिलाता है
एक ही चर के लिए एक ही प्रतीक में। अगर वे . के हैं
विभिन्न आकार, यह सबसे बड़ा आकार चुनता है। लिंकर बदल जाता है
एक घोषणा में आम प्रतीक, अगर वहाँ की परिभाषा है
एक ही चर।

RSI --चेतावनी-आम विकल्प पाँच प्रकार की चेतावनियाँ उत्पन्न कर सकता है। प्रत्येक
चेतावनी में पंक्तियों की एक जोड़ी होती है: पहला प्रतीक का वर्णन करता है
बस सामना हुआ, और दूसरा पिछले प्रतीक का वर्णन करता है
इसी नाम का सामना करना पड़ा। दो प्रतीकों में से एक या दोनों
एक सामान्य प्रतीक होगा।

1. एक सामान्य प्रतीक को संदर्भ में बदलना, क्योंकि वहाँ है
प्रतीक के लिए पहले से ही एक परिभाषा।

( ): चेतावनी: ` . का सामान्य '
परिभाषा के अनुसार ओवरराइड
( ): चेतावनी: यहाँ परिभाषित

2. एक सामान्य प्रतीक को संदर्भ में बदलना, क्योंकि बाद में
प्रतीक के लिए परिभाषा का सामना करना पड़ता है। यह वही है
पिछला मामला, सिवाय इसके कि प्रतीकों का सामना a . में होता है
अलग क्रम।

( ): चेतावनी: ` . की परिभाषा '
ओवरराइडिंग कॉमन
( ): चेतावनी: आम यहाँ है

3. एक सामान्य प्रतीक को पिछले समान आकार के सामान्य के साथ मिलाना
प्रतीक।

( ): चेतावनी: एकाधिक सामान्य
का '
( ): चेतावनी: पिछला आम यहाँ है

4. एक सामान्य प्रतीक को पिछले बड़े सामान्य प्रतीक के साथ मिलाना।

( ): चेतावनी: ` . का सामान्य '
बड़े सामान्य द्वारा ओवरराइड किया गया
( ): चेतावनी: बड़ा आम यहाँ है

5. एक सामान्य प्रतीक को पिछले छोटे सामान्य प्रतीक के साथ मिलाना।
यह पिछले मामले जैसा ही है, सिवाय इसके कि प्रतीकों
एक अलग क्रम में सामना कर रहे हैं।

( ): चेतावनी: ` . का सामान्य '
छोटे सामान्य ओवरराइडिंग
( ): चेतावनी: छोटा आम यहाँ है

--चेतावनी-निर्माता
चेतावनी दें कि क्या किसी वैश्विक कंस्ट्रक्टर का उपयोग किया जाता है। यह केवल के लिए उपयोगी है
कुछ ऑब्जेक्ट फ़ाइल स्वरूप। सीओएफएफ या ईएलएफ जैसे प्रारूपों के लिए,
लिंकर वैश्विक निर्माणकर्ताओं के उपयोग का पता नहीं लगा सकता है।

--चेतावनी-एकाधिक-जीपी
चेतावनी दें कि आउटपुट में एकाधिक वैश्विक सूचक मान आवश्यक हैं
फ़ाइल। यह केवल कुछ प्रोसेसर के लिए सार्थक है, जैसे कि
अल्फा। विशेष रूप से, कुछ प्रोसेसर बड़े-मूल्यवान स्थिरांक डालते हैं
एक विशेष खंड। एक विशेष रजिस्टर (वैश्विक सूचक) अंक
इस खंड के मध्य में, ताकि स्थिरांक लोड किए जा सकें
बेस-रजिस्टर रिलेटिव एड्रेसिंग मोड के माध्यम से कुशलतापूर्वक। तब से
बेस-रजिस्टर रिलेटिव मोड में ऑफसेट निश्चित और अपेक्षाकृत है
छोटा (जैसे, 16 बिट), यह स्थिरांक के अधिकतम आकार को सीमित करता है
पूल। इस प्रकार, बड़े कार्यक्रमों में, अक्सर इसका उपयोग करना आवश्यक होता है
सभी को संबोधित करने में सक्षम होने के लिए एकाधिक वैश्विक सूचक मान
संभव स्थिरांक। यह विकल्प चेतावनी जारी करने का कारण बनता है
जब भी यह मामला होता है।

--चेतावनी-एक बार
प्रत्येक अपरिभाषित प्रतीक के लिए केवल एक बार चेतावनी दें, बजाय एक बार प्रति
मॉड्यूल जो इसे संदर्भित करता है।

--चेतावनी-अनुभाग-संरेखण
चेतावनी दें कि क्या आउटपुट सेक्शन का पता बदल गया है
संरेखण। आमतौर पर, संरेखण एक इनपुट द्वारा निर्धारित किया जाएगा
अनुभाग। पता तभी बदला जाएगा जब वह स्पष्ट रूप से नहीं होगा
निर्दिष्ट; यही है, अगर "सेक्शन" कमांड निर्दिष्ट नहीं करता है a
अनुभाग के लिए पता प्रारंभ करें।

--चेतावनी-साझा-पाठ्यक्रम
चेतावनी दें कि लिंकर किसी साझा ऑब्जेक्ट में DT_TEXTREL जोड़ता है।

--चेतावनी-वैकल्पिक-ईएम
यदि किसी वस्तु में वैकल्पिक ELF मशीन कोड है तो चेतावनी दें।

--चेतावनी-अनसुलझे-प्रतीकों
यदि लिंकर एक अनसुलझे प्रतीक की रिपोर्ट करने जा रहा है (देखें
विकल्प --अनसुलझे-प्रतीकों) यह सामान्य रूप से एक त्रुटि उत्पन्न करेगा।
यह विकल्प इसके बजाय एक चेतावनी उत्पन्न करता है।

--त्रुटि-अनसुलझे-प्रतीक
यह त्रुटियों को उत्पन्न करने के लिंकर के डिफ़ॉल्ट व्यवहार को पुनर्स्थापित करता है
जब यह अनसुलझे प्रतीकों की रिपोर्ट कर रहा हो।

--whole-संग्रह
के बाद कमांड लाइन पर उल्लिखित प्रत्येक संग्रह के लिए
--whole-संग्रह विकल्प, संग्रह में प्रत्येक ऑब्जेक्ट फ़ाइल को शामिल करें
लिंक, आवश्यक वस्तु के लिए संग्रह खोजने के बजाय
फ़ाइलें। यह आम तौर पर एक संग्रह फ़ाइल को साझा में बदलने के लिए प्रयोग किया जाता है
पुस्तकालय, हर वस्तु को परिणामी में शामिल करने के लिए मजबूर करता है
साझा पुस्तकालय। इस विकल्प का उपयोग एक से अधिक बार किया जा सकता है।

जीसीसी से इस विकल्प का उपयोग करते समय दो नोट: पहला, जीसीसी नहीं जानता
इस विकल्प के बारे में, तो आपको उपयोग करना होगा -Wl, -संपूर्ण-संग्रह। दूसरा,
उपयोग करना न भूलें -Wl,-नहीं-संपूर्ण-संग्रह आपकी सूची के बाद
अभिलेखागार, क्योंकि जीसीसी आपके संग्रहों की अपनी सूची जोड़ देगा
लिंक और आप नहीं चाहते कि यह ध्वज उन पर भी प्रभाव डाले।

--रैप=प्रतीक
के लिए रैपर फ़ंक्शन का उपयोग करें प्रतीक. कोई अपरिभाषित संदर्भ
प्रतीक "__wrap_" के लिए हल किया जाएगाप्रतीक". कोई अपरिभाषित
"__वास्तविक_" के संदर्भ मेंप्रतीक" करने के लिए हल किया जाएगा प्रतीक.

इसका उपयोग सिस्टम फ़ंक्शन के लिए एक आवरण प्रदान करने के लिए किया जा सकता है। NS
रैपर फ़ंक्शन को "__wrap_" कहा जाना चाहिएप्रतीक". अगर यह चाहता है
सिस्टम फ़ंक्शन को कॉल करें, इसे "__real_" कॉल करना चाहिएप्रतीक".

यहाँ एक तुच्छ उदाहरण है:

शून्य *
__wrap_malloc (size_t c)
{
प्रिंटफ ("मॉलोक को %zu\n", c);
वापसी __real_malloc (सी);
}

यदि आप अन्य कोड को इस फ़ाइल के साथ लिंक करते हैं --रैप malloc, फिर सब
"मॉलोक" को कॉल करने के बजाय "__wrap_malloc" फ़ंक्शन को कॉल करेगा।
"__wrap_malloc" में "__real_malloc" के लिए कॉल वास्तविक कॉल करेगा
"मॉलोक" फ़ंक्शन।

आप एक "__real_malloc" फ़ंक्शन भी प्रदान करना चाह सकते हैं, ताकि
के बिना लिंक --रैप विकल्प सफल होगा। यदि आप ऐसा करते हैं, तो आप
एक ही फाइल में "__real_malloc" की परिभाषा नहीं डालनी चाहिए
"__wrap_malloc" के रूप में; यदि आप ऐसा करते हैं, तो असेंबलर कॉल का समाधान कर सकता है
इससे पहले कि लिंकर को इसे "मॉलोक" में लपेटने का मौका मिले।

--एह-फ्रेम-एचडीआर
".eh_frame_hdr" अनुभाग और ELF . के निर्माण का अनुरोध करें
"PT_GNU_EH_FRAME" सेगमेंट हेडर।

--नो-एलडी-जेनरेटेड-अनविंड-जानकारी
".eh_frame" के निर्माण का अनुरोध लिंकर जनरेट के लिए जानकारी खोलना
पीएलटी जैसे कोड अनुभाग। यह विकल्प डिफ़ॉल्ट रूप से चालू है यदि लिंकर
उत्पन्न खोलना जानकारी समर्थित है।

--सक्षम-नया-dtags
--अक्षम-नया-dtags
यह लिंकर ईएलएफ में नए डायनामिक टैग बना सकता है। लेकिन पुराने
ईएलएफ सिस्टम उन्हें समझ नहीं सकते हैं। यदि आप निर्दिष्ट करते हैं
--सक्षम-नया-dtags, नए डायनामिक टैग आवश्यकतानुसार बनाए जाएंगे
और पुराने डायनामिक टैग हटा दिए जाएंगे। यदि आप निर्दिष्ट करते हैं
--अक्षम-नया-dtags, कोई नया डायनामिक टैग नहीं बनाया जाएगा। द्वारा
डिफ़ॉल्ट रूप से, नए डायनामिक टैग नहीं बनाए जाते हैं। ध्यान दें कि उन
विकल्प केवल ईएलएफ सिस्टम के लिए उपलब्ध हैं।

--हैश-आकार=संख्या
लिंकर के हैश टेबल के डिफ़ॉल्ट आकार को प्राइम नंबर पर सेट करें
पास में संख्या. इस मान को बढ़ाने से की लंबाई कम हो सकती है
की कीमत पर, लिंकर को अपने कार्यों को करने में समय लगता है
लिंकर की स्मृति आवश्यकताओं को बढ़ाना। इसी तरह कम करना
यह मान की कीमत पर स्मृति आवश्यकताओं को कम कर सकता है
गति।

--हैश-शैली=अंदाज
लिंकर की हैश तालिका का प्रकार सेट करें। अंदाज या तो "sysv" हो सकता है
क्लासिक ELF ".hash" अनुभाग के लिए, "gnu" नई शैली GNU के लिए
क्लासिक ELF ".hash" और . दोनों के लिए ".gnu.hash" अनुभाग या "दोनों"
नई शैली जीएनयू ".gnu.hash" हैश टेबल। डिफ़ॉल्ट "sysv" है।

--compress-डीबग-सेक्शन = कोई नहीं
--compress-डीबग-सेक्शन = zlib
--compress-डीबग-सेक्शन = zlib-gnu
--compress-डीबग-सेक्शन = zlib-gabi
ELF प्लेटफ़ॉर्म पर, ये विकल्प नियंत्रित करते हैं कि DWARF अनुभागों को कैसे डिबग करता है
zlib का उपयोग करके संपीड़ित किया जाता है। --compress-डीबग-सेक्शन = कोई नहीं नहीं करता
DWARF डिबग अनुभागों को संपीड़ित करें। --compress-डीबग-सेक्शन = zlib-gnu
DWARF डिबग सेक्शन को कंप्रेस करता है और डिबग सेक्शन के नामों का नाम बदल देता है
से शुरू .जेडडीबग के बजाय .डीबग.
--compress-डीबग-सेक्शन = zlib और
--compress-डीबग-सेक्शन = zlib-gabi DWARF डिबग अनुभागों को संपीड़ित करें
ELF ABI की ओर से SHF_COMPRESSED के साथ। डिफ़ॉल्ट व्यवहार भिन्न होता है
शामिल लक्ष्य और उपयोग किए गए कॉन्फ़िगर विकल्पों के आधार पर
टूलचेन बनाने के लिए। डिफ़ॉल्ट परीक्षा द्वारा निर्धारित किया जा सकता है
लिंकर के आउटपुट से --मदद विकल्प.

--कम-स्मृति-उपरिव्यय
यह विकल्प ld रनटाइम पर स्मृति आवश्यकताओं को कम करता है
गति जोड़ने का खर्च। यह पुराने का चयन करने के लिए पेश किया गया था
लिंक मैप फ़ाइल निर्माण के लिए O(n^2) एल्गोरिथम, नए के बजाय
ओ (एन) एल्गोरिदम जो प्रतीक भंडारण के लिए लगभग 40% अधिक मेमोरी का उपयोग करता है।

स्विच का एक अन्य प्रभाव डिफ़ॉल्ट हैश तालिका आकार सेट करना है
1021 तक, जो फिर से मेमोरी को लंबा करने की कीमत पर बचाता है
लिंकर का रन टाइम। हालांकि ऐसा नहीं किया जाता है अगर --हैश-आकार
स्विच का प्रयोग किया गया है।

RSI --कम-स्मृति-उपरिव्यय स्विच का उपयोग सक्षम करने के लिए भी किया जा सकता है
लिंकर के भविष्य के संस्करणों में अन्य ट्रेडऑफ़।

--बिल्ड-आईडी
--बिल्ड-आईडी=अंदाज
".note.gnu.build-id" ELF नोट अनुभाग बनाने का अनुरोध करें या
एक ".buildid" सीओएफएफ अनुभाग। नोट की सामग्री अद्वितीय है
इस लिंक की गई फ़ाइल की पहचान करने वाले बिट्स। अंदाज 128 . का उपयोग करने के लिए "uuid" हो सकता है
यादृच्छिक बिट्स, "sha1" मानक पर 160-बिट SHA1 हैश का उपयोग करने के लिए
आउटपुट सामग्री के हिस्से, "md5" 128-बिट MD5 हैश ऑन का उपयोग करने के लिए
आउटपुट सामग्री के मानक भाग, या "0xहेक्सस्ट्रिंग" उपयोग करने के लिए
एक चुनी हुई बिट स्ट्रिंग को हेक्साडेसिमल की सम संख्या के रूप में निर्दिष्ट किया जाता है
अंक ("-" और ":" अंक जोड़े के बीच वर्णों को अनदेखा किया जाता है)।
If अंदाज छोड़ा गया है, "sha1" का प्रयोग किया जाता है।

"Md5" और "sha1" शैलियाँ एक ऐसे पहचानकर्ता का निर्माण करती हैं जो हमेशा होता है
समान आउटपुट फ़ाइल में समान, लेकिन सभी के बीच अद्वितीय होगा
गैर-समान आउटपुट फ़ाइलें। इसकी तुलना a . के रूप में करने का इरादा नहीं है
फ़ाइल की सामग्री के लिए चेकसम। लिंक की गई फ़ाइल को बदला जा सकता है
बाद में अन्य टूल्स द्वारा, लेकिन बिल्ड आईडी बिट स्ट्रिंग की पहचान कर रहा है
मूल लिंक की गई फ़ाइल नहीं बदलती है।

के लिए "कोई नहीं" पास करना अंदाज किसी भी "--build-id" से सेटिंग को अक्षम करता है
कमांड लाइन पर पहले विकल्प।

i386 पीई लिंकर का समर्थन करता है कमरा साझा विकल्प, जो आउटपुट का कारण बनता है
सामान्य के बजाय गतिशील रूप से लिंक्ड लाइब्रेरी (डीएलएल) होने के लिए
निष्पादन योग्य। जब आप इसका उपयोग करते हैं तो आपको आउटपुट को "*.dll" नाम देना चाहिए
विकल्प। इसके अलावा, लिंकर पूरी तरह से मानक "*.def" का समर्थन करता है
फ़ाइलें, जो किसी ऑब्जेक्ट की तरह लिंकर कमांड लाइन पर निर्दिष्ट की जा सकती हैं
फ़ाइल (वास्तव में, यह उन अभिलेखों से पहले होना चाहिए जो इससे प्रतीकों को निर्यात करते हैं, to
सुनिश्चित करें कि वे सामान्य ऑब्जेक्ट फ़ाइल की तरह ही लिंक हो जाएं)।

सभी लक्ष्यों के लिए सामान्य विकल्पों के अतिरिक्त, i386 PE लिंकर
अतिरिक्त कमांड लाइन विकल्पों का समर्थन करें जो i386 के लिए विशिष्ट हैं
पीई लक्ष्य। मान लेने वाले विकल्पों को उनके मूल्यों से अलग किया जा सकता है
या तो एक स्थान या एक समान चिह्न द्वारा।

--add-stdcall-उपनाम
यदि दिया गया है, तो एक stdcall प्रत्यय के साथ प्रतीक (@nn) के रूप में निर्यात किया जाएगा-
है और प्रत्यय छीनने के साथ भी। [यह विकल्प इसके लिए विशिष्ट है
लिंकर का i386 PE लक्षित पोर्ट]

--बेस-फाइल पट्टिका
उपयोग पट्टिका फ़ाइल के नाम के रूप में जिसमें आधार पते को सहेजना है
के साथ डीएलएल उत्पन्न करने के लिए आवश्यक सभी स्थानांतरणों की डीएलटूल.
[यह एक i386 PE विशिष्ट विकल्प है]

--dll
एक नियमित निष्पादन योग्य के बजाय एक डीएलएल बनाएं। आप भी इस्तेमाल कर सकते हैं
कमरा साझा या दी गई ".def" फ़ाइल में "लाइब्रेरी" निर्दिष्ट करें। [इस
विकल्प लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट है]

--सक्षम-लंबे-अनुभाग-नाम
--अक्षम-लंबे-अनुभाग-नाम
सीओएफएफ ऑब्जेक्ट प्रारूप के पीई संस्करण एक एक्सटेंशन जोड़ते हैं जो
आठ वर्णों से अधिक लंबे अनुभाग नामों के उपयोग की अनुमति देता है,
सीओएफएफ के लिए सामान्य सीमा। डिफ़ॉल्ट रूप से, इन नामों की अनुमति केवल में है
ऑब्जेक्ट फ़ाइलें, क्योंकि पूरी तरह से लिंक की गई निष्पादन योग्य छवियां नहीं ले जाती हैं
सीओएफएफ स्ट्रिंग तालिका लंबे नामों का समर्थन करने के लिए आवश्यक है। जीएनयू के रूप में
विस्तार, निष्पादन योग्य छवियों में उनके उपयोग की अनुमति देना संभव है
साथ ही, या (शायद व्यर्थ में!) इसे ऑब्जेक्ट में अस्वीकार करें
इन दो विकल्पों का उपयोग करके फ़ाइलें। निष्पादन योग्य छवियां उत्पन्न
इन लंबे खंडों के साथ नाम थोड़े गैर-मानक हैं, जो ले जा रहे हैं
जैसा कि वे एक स्ट्रिंग टेबल करते हैं, और भ्रमित आउटपुट उत्पन्न कर सकते हैं जब
गैर-जीएनयू पीई-जागरूक टूल से जांच की जाती है, जैसे फ़ाइल व्यूअर और
डम्पर हालाँकि, GDB PE लंबे खंड नामों के उपयोग पर निर्भर करता है
निष्पादन योग्य छवि में बौना -2 डीबग सूचना अनुभाग ढूंढने के लिए
रनटाइम पर, और इसलिए यदि कमांड पर कोई भी विकल्प निर्दिष्ट नहीं है-
लाइन, ld लंबे अनुभाग नामों को सक्षम करेगा, डिफ़ॉल्ट को ओवरराइड करेगा और
तकनीकी रूप से सही व्यवहार, जब यह डिबग की उपस्थिति पाता है
निष्पादन योग्य छवि को लिंक करते समय जानकारी और स्ट्रिपिंग नहीं
प्रतीक [यह विकल्प सभी पीई लक्षित बंदरगाहों के लिए मान्य है
लिंकर]

--enable-stdcall-fixup
--अक्षम-stdcall-fixup
यदि लिंक को कोई ऐसा प्रतीक मिलता है जिसे वह हल नहीं कर सकता है, तो वह प्रयास करेगा
एक और परिभाषित प्रतीक की तलाश में "फजी लिंकिंग" करने के लिए
केवल प्रतीक नाम के प्रारूप में भिन्न होता है (cdecl बनाम stdcall)
और उस चिन्ह को मैच से जोड़कर हल करेगा। उदाहरण के लिए,
अपरिभाषित प्रतीक "_foo" को फ़ंक्शन से जोड़ा जा सकता है
"_foo@12", या अपरिभाषित प्रतीक "_bar@16" को से जोड़ा जा सकता है
फ़ंक्शन "_बार"। जब लिंकर ऐसा करता है, तो यह एक चेतावनी प्रिंट करता है,
चूंकि इसे सामान्य रूप से लिंक करने में विफल होना चाहिए था, लेकिन कभी-कभी आयात
तृतीय-पक्ष dll से उत्पन्न पुस्तकालयों को इस सुविधा की आवश्यकता हो सकती है
प्रयोग करने योग्य हो। यदि आप निर्दिष्ट करते हैं --enable-stdcall-fixup, यह सुविधा है
पूरी तरह से सक्षम है और चेतावनियां मुद्रित नहीं हैं। यदि आप निर्दिष्ट करते हैं
--अक्षम-stdcall-fixup, यह सुविधा अक्षम है और ऐसे
विसंगतियों को त्रुटि माना जाता है। [यह विकल्प विशिष्ट है
लिंकर के i386 PE लक्षित पोर्ट पर]

--अग्रणी-अंडरस्कोर
--नहीं-अग्रणी-अंडरस्कोर
अधिकांश लक्ष्यों के लिए डिफ़ॉल्ट प्रतीक-उपसर्ग एक अंडरस्कोर है और है
लक्ष्य के विवरण में परिभाषित। इस विकल्प से संभव है
डिफ़ॉल्ट अंडरस्कोर प्रतीक-उपसर्ग को अक्षम/सक्षम करें।

--निर्यात-सभी-प्रतीकों
यदि दिया गया है, तो वस्तुओं में सभी वैश्विक प्रतीकों का उपयोग डीएलएल बनाने के लिए किया जाता है
डीएलएल द्वारा निर्यात किया जाएगा। ध्यान दें कि यह डिफ़ॉल्ट है अगर
अन्यथा कोई निर्यातित प्रतीक नहीं होगा। जब प्रतीक हैं
स्पष्ट रूप से डीईएफ फाइलों के माध्यम से निर्यात किया गया या परोक्ष रूप से निर्यात किया गया
फ़ंक्शन विशेषताएँ, डिफ़ॉल्ट कुछ और निर्यात नहीं करना है
जब तक यह विकल्प न दिया जाए। ध्यान दें कि प्रतीक "DllMain@12",
"DllEntryPoint@0", "DllMainCRTStartup@12", और "impure_ptr"
स्वचालित रूप से निर्यात नहीं किया जाएगा। साथ ही, दूसरे से आयातित प्रतीक
डीएलएल को फिर से निर्यात नहीं किया जाएगा, न ही डीएलएल को निर्दिष्ट करने वाले प्रतीक होंगे
आंतरिक लेआउट जैसे कि "_head_" से शुरू होने वाले या समाप्त होने वाले
"_iname" के साथ। इसके अलावा, "libgcc", "libstd++" से कोई प्रतीक नहीं,
"libmingw32", या "crtX.o" निर्यात किया जाएगा। प्रतीक जिनके नाम
मदद के लिए "__rtti_" या "__builtin_" से शुरू करें निर्यात नहीं किया जाएगा
सी ++ डीएलएल के साथ। अंत में, साइबरविन की एक विस्तृत सूची है-
निजी प्रतीक जो निर्यात नहीं किए जाते हैं (जाहिर है, यह इस पर लागू होता है
साइबरविन लक्ष्यों के लिए डीएलएल बनाते समय)। ये साइबरविन-बहिष्कृत हैं:
"_cygwin_dll_entry@12", "_cygwin_crt0_common@8",
"_cygwin_noncygwin_dll_entry@12", "_fmode", "_impure_ptr",
"cygwin_attach_dll", "cygwin_premain0", "cygwin_premain1",
"cygwin_premain2", "cygwin_premain3", और "environ"। [इस विकल्प
लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट है]

--बहिष्कृत-प्रतीक प्रतीक,प्रतीक, ...
प्रतीकों की एक सूची निर्दिष्ट करता है जो स्वचालित रूप से नहीं होनी चाहिए
निर्यात किया। प्रतीक नामों को अल्पविराम या कोलन द्वारा सीमांकित किया जा सकता है।
[यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर]

--बहिष्कृत-सभी-प्रतीक
निर्दिष्ट करता है कि कोई भी प्रतीक स्वचालित रूप से निर्यात नहीं किया जाना चाहिए। [इस
विकल्प लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट है]

--फ़ाइल-संरेखण
फ़ाइल संरेखण निर्दिष्ट करें। फ़ाइल में अनुभाग हमेशा प्रारंभ होंगे
फ़ाइल ऑफ़सेट पर जो इस संख्या के गुणक हैं। यह चूक
से 512. [यह विकल्प i386 पीई लक्षित बंदरगाह के लिए विशिष्ट है
लिंकर]

--ढेर रिज़र्व
--ढेर रिज़र्व,करना
आरक्षित करने के लिए स्मृति के बाइट्स की संख्या निर्दिष्ट करें (और वैकल्पिक रूप से
प्रतिबद्ध) इस कार्यक्रम के लिए ढेर के रूप में इस्तेमाल किया जाना है। डिफ़ॉल्ट 1MB . है
आरक्षित, 4K प्रतिबद्ध। [यह विकल्प i386 PE के लिए विशिष्ट है
लिंकर का लक्षित बंदरगाह]

--छवि-आधार मूल्य
उपयोग मूल्य आपके प्रोग्राम या dll के मूल पते के रूप में। यह है
सबसे कम मेमोरी लोकेशन जिसका उपयोग तब किया जाएगा जब आपका प्रोग्राम या dll
भरी हुई है। स्थानांतरित करने और प्रदर्शन में सुधार करने की आवश्यकता को कम करने के लिए
आपके dll में से प्रत्येक का एक विशिष्ट आधार पता होना चाहिए न कि
किसी भी अन्य dll को ओवरलैप करें। निष्पादन योग्य के लिए डिफ़ॉल्ट 0x400000 है,
और डीएलएस के लिए 0x10000000। [यह विकल्प i386 PE के लिए विशिष्ट है
लिंकर का लक्षित बंदरगाह]

--मार-एट
यदि दिया गया है, तो stdcall प्रत्यय (@nn) प्रतीकों से हटा दिया जाएगा
इससे पहले कि वे निर्यात किए जाते हैं। [यह विकल्प i386 PE के लिए विशिष्ट है
लिंकर का लक्षित बंदरगाह]

--बड़े-पते-जागरूक
यदि दिया गया है, तो के "विशेषताओं" क्षेत्र में उपयुक्त बिट
सीओएफएफ हेडर यह इंगित करने के लिए सेट है कि यह निष्पादन योग्य समर्थन करता है
2 गीगाबाइट से अधिक के आभासी पते। इसका उपयोग में किया जाना चाहिए
/3GB या /USERVA= . के साथ संयोजनमूल्य में मेगाबाइट स्विच
BOOT.INI का "[ऑपरेटिंग सिस्टम]" खंड। अन्यथा, यह बिट
कोई प्रभाव नहीं है। [यह विकल्प पीई लक्षित बंदरगाहों के लिए विशिष्ट है
लिंकर]

--अक्षम-बड़ा-पता-जागरूक
पिछले के प्रभाव को उलट देता है --बड़े-पते-जागरूक विकल्प.
यह उपयोगी है अगर --बड़े-पते-जागरूक हमेशा द्वारा निर्धारित किया जाता है
कंपाइलर ड्राइवर (जैसे सिग्विन जीसीसी) और निष्पादन योग्य नहीं है
2 गीगाबाइट से अधिक आभासी पतों का समर्थन करें। [इस विकल्प
लिंकर के पीई लक्षित बंदरगाहों के लिए विशिष्ट है]

--प्रमुख-छवि-संस्करण मूल्य
"छवि संस्करण" की प्रमुख संख्या सेट करता है। 1 के लिए डिफ़ॉल्ट।
[यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर]

--मेजर-ओएस-संस्करण मूल्य
"ओएस संस्करण" की प्रमुख संख्या सेट करता है। 4 के लिए डिफ़ॉल्ट। [यह
विकल्प लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट है]

--मेजर-सबसिस्टम-संस्करण मूल्य
"सबसिस्टम संस्करण" की प्रमुख संख्या सेट करता है। 4 के लिए डिफ़ॉल्ट।
[यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर]

--मामूली-छवि-संस्करण मूल्य
"छवि संस्करण" की मामूली संख्या सेट करता है। 0 के लिए डिफ़ॉल्ट।
[यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर]

--माइनर-ओएस-संस्करण मूल्य
"ओएस संस्करण" की मामूली संख्या सेट करता है। डिफ़ॉल्ट 0. [यह
विकल्प लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट है]

--माइनर-सबसिस्टम-संस्करण मूल्य
"सबसिस्टम संस्करण" की छोटी संख्या सेट करता है। 0 के लिए डिफ़ॉल्ट।
[यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर]

--आउटपुट-डिफ पट्टिका
लिंकर फ़ाइल बनाएगा पट्टिका जिसमें एक DEF फ़ाइल होगी
डीएलएल के अनुरूप लिंकर उत्पन्न कर रहा है। यह डीईएफ़ फ़ाइल
(जिसे "*.def" कहा जाना चाहिए) का उपयोग आयात बनाने के लिए किया जा सकता है
पुस्तकालय "dlltool" के साथ या संदर्भ के रूप में इस्तेमाल किया जा सकता है
स्वचालित रूप से या परोक्ष रूप से निर्यात किए गए प्रतीक। [यह विकल्प है
लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट]

--आउट-इम्प्लिब पट्टिका
लिंकर फ़ाइल बनाएगा पट्टिका जिसमें एक आयात शामिल होगा
डीएलएल से संबंधित lib लिंकर उत्पन्न कर रहा है। यह आयात
lib (जिसे "*.dll.a" या "*.a" कहा जाना चाहिए, को जोड़ने के लिए इस्तेमाल किया जा सकता है
उत्पन्न डीएलएल के खिलाफ ग्राहक; यह व्यवहार इसे संभव बनाता है
एक अलग "dlltool" आयात पुस्तकालय निर्माण चरण को छोड़ने के लिए। [इस
विकल्प लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट है]

--सक्षम-ऑटो-छवि-आधार
--सक्षम-ऑटो-छवि-आधार=मूल्य
वैकल्पिक रूप से प्रारंभ करते हुए, DLL के लिए स्वचालित रूप से छवि आधार चुनें
आधार के साथ मूल्य, जब तक कि "--image-base" का उपयोग करके निर्दिष्ट नहीं किया जाता है
तर्क। बनाने के लिए dllname से उत्पन्न हैश का उपयोग करके
प्रत्येक डीएलएल के लिए अद्वितीय छवि आधार, इन-मेमोरी टकराव और
स्थानांतरण जो कार्यक्रम निष्पादन में देरी कर सकते हैं, से बचा जाता है। [इस
विकल्प लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट है]

--अक्षम-ऑटो-छवि-आधार
एक अद्वितीय छवि आधार स्वचालित रूप से उत्पन्न न करें। अगर वहाँ कोई नहीं है
उपयोगकर्ता द्वारा निर्दिष्ट छवि आधार ("--छवि-आधार") फिर प्लेटफ़ॉर्म का उपयोग करें
चूक जाना। [यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर]

--dll-खोज-उपसर्ग स्ट्रिंग
एक आयात पुस्तकालय के बिना एक डीएलएल को गतिशील रूप से लिंक करते समय, खोजें
के लिये " .dll" वरीयता में "lib ." .dll"।
यह व्यवहार इसके लिए बनाए गए डीएलएल के बीच आसान अंतर की अनुमति देता है
विभिन्न "सबप्लेटफॉर्म": देशी, साइबरविन, यूविन, पीडब्ल्यू, आदि
उदाहरण के लिए, साइबरविन डीएलएल आमतौर पर "--dll-search-prefix=cyg" का उपयोग करते हैं।
[यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर]

--सक्षम-ऑटो-आयात
डेटा के लिए "_symbol" को "__imp__symbol" से परिष्कृत लिंकिंग करें
डीएलएल से आयात करता है, और आवश्यक थंकिंग प्रतीक बनाता है जब
उन डेटा निर्यात के साथ आयात पुस्तकालयों का निर्माण। नोट: का उपयोग करें
'ऑटो-आयात' एक्सटेंशन के कारण टेक्स्ट सेक्शन होगा
छवि फ़ाइल को लिखने योग्य बनाया जाना है। यह पीई के अनुरूप नहीं है-
माइक्रोसॉफ्ट द्वारा प्रकाशित सीओएफएफ प्रारूप विनिर्देश।

नोट - 'ऑटो-इम्पोर्ट' एक्सटेंशन का उपयोग भी रीड ओनली का कारण बनेगा
डेटा जिसे सामान्य रूप से .rdata अनुभाग में रखा जाएगा
इसके बजाय .data अनुभाग में रखा गया है। यह काम करने के लिए है
यहां वर्णित कॉन्स के साथ एक समस्या के आसपास:
http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html

'ऑटो-आयात' का उपयोग करना आम तौर पर 'बस काम करेगा' -- लेकिन कभी-कभी आप
यह संदेश देख सकते हैं:

"वेरिएबल ' ' को स्वतः आयात नहीं किया जा सकता। कृपया इसे पढ़ें
विवरण के लिए ld के "--enable-auto-import" के लिए प्रलेखन।"

यह संदेश तब होता है जब कुछ (उप) अभिव्यक्ति किसी पते तक पहुंचती है
अंततः दो स्थिरांक के योग द्वारा दिया गया (Win32 आयात तालिकाएँ
केवल एक को अनुमति दें)। जिन उदाहरणों में यह हो सकता है उनमें एक्सेस शामिल हैं
एक डीएलएल से आयात किए गए संरचना चर के सदस्य क्षेत्रों के साथ-साथ
a . से आयात किए गए सरणी चर में स्थिर अनुक्रमणिका का उपयोग करने के रूप में
डीएलएल। कोई भी बहु-शब्द चर (सरणी, संरचना, लंबा लंबा, आदि) हो सकता है
इस त्रुटि स्थिति को ट्रिगर करें। हालांकि, सटीक की परवाह किए बिना
आपत्तिजनक निर्यातित चर का डेटा प्रकार, ld हमेशा पता लगाएगा
यह, चेतावनी जारी करें, और बाहर निकलें।

इस कठिनाई को दूर करने के कई तरीके हैं, भले ही
निर्यात किए गए चर का डेटा प्रकार:

एक तरीका है --enable-runtime-pseudo-reloc स्विच का उपयोग करना। यह छोड़ देता है
रनटाइम के लिए आपके क्लाइंट कोड में संदर्भों को समायोजित करने का कार्य
पर्यावरण, इसलिए यह विधि तभी काम करती है जब रनटाइम वातावरण
इस सुविधा का समर्थन करता है।

एक दूसरा समाधान 'स्थिरांक' में से एक को a . होने के लिए मजबूर करना है
चर - यानी अज्ञात और संकलन समय पर अनुकूलन योग्य नहीं है।
सरणियों के लिए, दो संभावनाएं हैं: a) अनुक्रमणिका बनाएं (the
सरणी का पता) एक चर, या बी) 'स्थिर' अनुक्रमणिका बनाते हैं a
चर। इस प्रकार:

बाहरी प्रकार extern_array [];
बाहरी_अरे [1] -->
{अस्थिर प्रकार *t=extern_array; टी[1] }

or

बाहरी प्रकार extern_array [];
बाहरी_अरे [1] -->
{अस्थिर इंट टी = 1; बाहरी_सरणी [टी] }

स्ट्रक्चर्स (और अधिकांश अन्य मल्टीवर्ड डेटा प्रकार) के लिए एकमात्र विकल्प
संरचना को स्वयं बनाना है (या लंबा लंबा, या ...)
चर:

बाहरी संरचना एस extern_struct;
बाहरी_संरचना.फ़ील्ड ->
{अस्थिर संरचना s *t=&extern_struct; टी-> फ़ील्ड}

or

बाहरी लंबे लंबे extern_ll;
बाहरी_एल ->
{अस्थिर लंबा लंबा * local_ll=&extern_ll; *लोकल_एल}

इस कठिनाई से निपटने का तीसरा तरीका त्यागना है
आपत्तिजनक प्रतीक के लिए 'स्वतः-आयात' करें और इसे चिह्नित करें
"__declspec(dllimport)"। हालाँकि, व्यवहार में जिसका उपयोग करने की आवश्यकता होती है
यह इंगित करने के लिए संकलन-समय # परिभाषित करता है कि क्या आप एक डीएलएल बना रहे हैं,
क्लाइंट कोड बनाना जो डीएलएल से लिंक होगा, या केवल
एक स्थिर पुस्तकालय का निर्माण/लिंकिंग। चुनाव करने में
'सीधे पते के साथ' को हल करने के विभिन्न तरीकों के बीच
निरंतर ऑफसेट' समस्या, आपको सामान्य वास्तविक दुनिया पर विचार करना चाहिए
उपयोग:

मूल:

--foo.h
बाहरी इंट गिरफ्तारी [];
--foo.c
#शामिल "foo.h"
शून्य मुख्य (int argc, char **argv){
प्रिंटफ ("% d \ n", एआर [1]);
}

1 समाधान:

--foo.h
बाहरी इंट गिरफ्तारी [];
--foo.c
#शामिल "foo.h"
शून्य मुख्य (int argc, char **argv){
/* यह समाधान win32 और cygwin के लिए है; "अनुकूलित" न करें */
अस्थिर int * parr = arr;
प्रिंटफ ("% d \ n", पार [1]);
}

2 समाधान:

--foo.h
/* नोट: ऑटो-एक्सपोर्ट माना जाता है (कोई __declspec(dllexport) नहीं) */
#if (परिभाषित(_WIN32) || परिभाषित (__CYGWIN__)) && \
!(परिभाषित(FOO_BUILD_DLL) || परिभाषित (FOO_STATIC))
# परिभाषित करें FOO_IMPORT __declspec(dllimport)
#else
#FOO_IMPORT परिभाषित करें
#endif
बाहरी FOO_IMPORT int arr[];
--foo.c
#शामिल "foo.h"
शून्य मुख्य (int argc, char **argv){
प्रिंटफ ("% d \ n", एआर [1]);
}

इस समस्या से बचने का चौथा तरीका है अपनी लाइब्रेरी को फिर से कोड करना
के लिए डेटा इंटरफ़ेस के बजाय एक कार्यात्मक इंटरफ़ेस का उपयोग करें
आपत्तिजनक चर (जैसे सेट_फू () और get_foo() एक्सेसर
कार्य)। [यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर का]

--अक्षम-ऑटो-आयात
"_symbol" को . से परिष्कृत लिंकिंग करने का प्रयास न करें
डीएलएल से डेटा आयात के लिए "__imp__symbol"। [यह विकल्प है
लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट]

--सक्षम-रनटाइम-छद्म-स्थानांतरण
यदि आपके कोड में --enable-auto-import . में वर्णित भाव हैं
अनुभाग, अर्थात्, गैर-शून्य ऑफ़सेट के साथ डीएलएल से डेटा आयात, यह
स्विच 'रनटाइम छद्म स्थानांतरण' का एक वेक्टर बनाएगा जो
इस तरह के संदर्भों को समायोजित करने के लिए रनटाइम पर्यावरण द्वारा उपयोग किया जा सकता है
आपके क्लाइंट कोड में डेटा। [यह विकल्प i386 PE के लिए विशिष्ट है
लिंकर का लक्षित बंदरगाह]

--अक्षम-रनटाइम-छद्म-स्थानांतरण
गैर-शून्य ऑफ़सेट डेटा आयात के लिए छद्म स्थानान्तरण न करें
डीएलएल से। [यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर का]

--सक्षम-अतिरिक्त-पे-डीबग
ऑटो-आयात प्रतीक थंकिंग से संबंधित अतिरिक्त डिबग जानकारी दिखाएं।
[यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर]

--सेक्शन-संरेखण
अनुभाग संरेखण सेट करता है। स्मृति में अनुभाग हमेशा शुरू होंगे
उन पतों पर जो इस संख्या के गुणज हैं। डिफ़ॉल्ट करने के लिए
0x1000। [यह विकल्प i386 PE लक्षित पोर्ट के लिए विशिष्ट है
लिंकर]

--ढेर रिज़र्व
--ढेर रिज़र्व,करना
आरक्षित करने के लिए स्मृति के बाइट्स की संख्या निर्दिष्ट करें (और वैकल्पिक रूप से
प्रतिबद्ध) इस कार्यक्रम के लिए ढेर के रूप में इस्तेमाल किया जाना है। डिफ़ॉल्ट 2MB . है
आरक्षित, 4K प्रतिबद्ध। [यह विकल्प i386 PE के लिए विशिष्ट है
लिंकर का लक्षित बंदरगाह]

--उपप्रणाली कौन कौन से
--उपप्रणाली कौन कौन से:प्रमुख
--उपप्रणाली कौन कौन से:प्रमुख.नाबालिग
उस सबसिस्टम को निर्दिष्ट करता है जिसके तहत आपका प्रोग्राम निष्पादित होगा। NS
के लिए कानूनी मूल्य कौन कौन से "मूल", "विंडोज़", "कंसोल", "पॉज़िक्स" हैं,
और "एक्सबॉक्स"। आप वैकल्पिक रूप से सबसिस्टम संस्करण भी सेट कर सकते हैं।
संख्यात्मक मान भी स्वीकार किए जाते हैं कौन कौन से. [यह विकल्प है
लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट]

निम्नलिखित विकल्प "DllCharacteristics" फ़ील्ड में फ़्लैग सेट करते हैं
पीई फ़ाइल शीर्षलेख की: [ये विकल्प लक्षित पीई के लिए विशिष्ट हैं
लिंकर के बंदरगाह]

--उच्च एन्ट्रापी-va
छवि 64-बिट एड्रेस स्पेस लेआउट रैंडमाइजेशन के साथ संगत है
(एएसएलआर)।

--गतिशील आधार
पता स्थान लेआउट का उपयोग करके छवि आधार पते को स्थानांतरित किया जा सकता है
रैंडमाइजेशन (एएसएलआर)। यह सुविधा एमएस विंडोज के साथ पेश की गई थी
i386 पीई लक्ष्यों के लिए विस्टा।

--forceinteg
कोड अखंडता जांच लागू की जाती है।

--nxcompat
छवि डेटा निष्पादन रोकथाम के साथ संगत है। इस
i2 PE लक्ष्यों के लिए MS Windows XP SP386 के साथ फीचर पेश किया गया था।

--नो-आइसोलेशन
हालांकि छवि अलगाव को समझती है, छवि को अलग न करें।

--नो-सेहो
छवि SEH का उपयोग नहीं करती है। इससे कोई एसई हैंडलर नहीं बुलाया जा सकता है
छवि।

--नो-बाइंड
इस छवि को मत बांधो।

--wdmdriver
ड्राइवर MS Windows ड्राइवर मॉडल का उपयोग करता है।

--tsaware
छवि टर्मिनल सर्वर जागरूक है।

--इन्सर्ट-टाइमस्टैम्प
--नो-इन्सर्ट-टाइमस्टैम्प
छवि में एक वास्तविक टाइमस्टैम्प डालें। यह डिफ़ॉल्ट है
व्यवहार के रूप में यह विरासत कोड से मेल खाता है और इसका मतलब है कि छवि
अन्य, मालिकाना उपकरणों के साथ काम करेगा। इसके साथ समस्या
डिफ़ॉल्ट यह है कि इसके परिणामस्वरूप थोड़ी अलग छवियां होंगी
हर बार एक ही स्रोत जुड़े हुए हैं। विकल्प
--नो-इन्सर्ट-टाइमस्टैम्प के लिए शून्य मान डालने के लिए उपयोग किया जा सकता है
टाइमस्टैम्प, यह सुनिश्चित करता है कि समान से उत्पन्न बायनेरिज़
स्रोत समान रूप से तुलना करेंगे।

C6X uClinux लक्ष्य समर्थन करने के लिए DSBT नामक बाइनरी प्रारूप का उपयोग करता है
साझा पुस्तकालय। सिस्टम में प्रत्येक साझा पुस्तकालय में एक होना चाहिए
अद्वितीय सूचकांक; सभी निष्पादन योग्य 0 की अनुक्रमणिका का उपयोग करते हैं।

--डीएसबीटी-आकार आकार
यह विकल्प वर्तमान के DSBT में प्रविष्टियों की संख्या निर्धारित करता है
निष्पादन योग्य या साझा पुस्तकालय आकार. डिफ़ॉल्ट बनाना है a
64 प्रविष्टियों के साथ तालिका।

--डीएसबीटी-सूचकांक अनुक्रमणिका
यह विकल्प वर्तमान निष्पादन योग्य या साझा का DSBT अनुक्रमणिका सेट करता है
पुस्तकालय करने के लिए अनुक्रमणिका. डिफ़ॉल्ट 0 है, जो इसके लिए उपयुक्त है
निष्पादन योग्य उत्पन्न करना। यदि एक साझा पुस्तकालय a . के साथ उत्पन्न होता है
0 का DSBT इंडेक्स, "R_C6000_DSBT_INDEX" रिलोक्स को कॉपी किया गया है
आउटपुट फ़ाइल।

RSI --नो-मर्ज-एक्सिडएक्स-प्रविष्टियां स्विच के विलय को अक्षम करता है
फ्रेम में आसन्न exidx प्रविष्टियां खोलना जानकारी।

68HC11 और 68HC12 लिंकर्स को नियंत्रित करने के लिए विशिष्ट विकल्पों का समर्थन करते हैं
मेमोरी बैंक स्विचिंग मैपिंग और ट्रैम्पोलिन कोड जनरेशन।

--नो-ट्रैम्पोलिन
यह विकल्प ट्रैम्पोलिन की पीढ़ी को निष्क्रिय कर देता है। डिफ़ॉल्ट रूप से a
प्रत्येक दूर के कार्य के लिए ट्रैम्पोलिन उत्पन्न होता है जिसे उपयोग करना कहा जाता है
एक "jsr" निर्देश (यह तब होता है जब एक दूर के कार्य के लिए एक सूचक
लिया जाता है)।

--बैंक-खिड़की नाम
यह विकल्प लिंकर को स्मृति क्षेत्र का नाम इंगित करता है
में स्मृति विनिर्देश जो मेमोरी बैंक विंडो का वर्णन करता है।
ऐसे क्षेत्र की परिभाषा का उपयोग लिंकर द्वारा गणना करने के लिए किया जाता है
मेमोरी विंडो के भीतर पेजिंग और पते।

GOT की हैंडलिंग को नियंत्रित करने के लिए निम्नलिखित विकल्प समर्थित हैं:
68K लक्ष्यों के लिए लिंक करते समय पीढ़ी।

--गोट=टाइप
यह विकल्प लिंकर को बताता है कि किस GOT जनरेशन स्कीम का उपयोग करना है।
टाइप में से एक होना चाहिए एक, नकारात्मक, मल्टीगोट or लक्ष्य. के लिए
अधिक जानकारी के लिए जानकारी प्रविष्टि देखें ld.

माइक्रोएमआईपीएस निर्देश को नियंत्रित करने के लिए निम्नलिखित विकल्प समर्थित हैं:
एमआईपीएस लक्ष्यों के लिए लिंक करते समय पीढ़ी।

--insn32
--no-insn32
इन विकल्पों में इस्तेमाल किए गए माइक्रोएमआईपीएस निर्देशों की पसंद को नियंत्रित करते हैं
लिंकर द्वारा उत्पन्न कोड, जैसे कि पीएलटी या आलसी में
बाध्यकारी स्टब्स, या विश्राम में। अगर --insn32 प्रयोग किया जाता है, तो
लिंकर केवल 32-बिट निर्देश एन्कोडिंग का उपयोग करता है। डिफ़ॉल्ट रूप से या यदि
--no-insn32 उपयोग किया जाता है, सभी निर्देश एन्कोडिंग का उपयोग किया जाता है, जिसमें शामिल हैं
16-बिट वाले जहां संभव हो।

वातावरण


आप का व्यवहार बदल सकते हैं ld पर्यावरण चर के साथ
"GNUTARGET", "LDEMULATION" और "COLLECT_NO_DEMANGLE"।

यदि आप उपयोग नहीं करते हैं तो "GNUTARGET" इनपुट-फाइल ऑब्जेक्ट प्रारूप को निर्धारित करता है -b
(या इसके समानार्थी --प्रारूप) इसका मान BFD नामों में से एक होना चाहिए
एक इनपुट प्रारूप के लिए। यदि वातावरण में "GNUTARGET" नहीं है, ld
लक्ष्य के प्राकृतिक स्वरूप का उपयोग करता है। यदि "GNUTARGET" को पर सेट किया गया है
"डिफ़ॉल्ट" तो बीएफडी जांच करके इनपुट प्रारूप की खोज करने का प्रयास करता है
बाइनरी इनपुट फ़ाइलें; यह विधि अक्सर सफल होती है, लेकिन संभावनाएं हैं
अस्पष्टता, चूंकि जादू संख्या सुनिश्चित करने का कोई तरीका नहीं है
ऑब्जेक्ट-फ़ाइल स्वरूपों को निर्दिष्ट करने के लिए उपयोग किया जाता है अद्वितीय है। हालांकि
प्रत्येक सिस्टम पर बीएफडी के लिए कॉन्फ़िगरेशन प्रक्रिया पारंपरिक रखती है
खोज-सूची में पहले उस सिस्टम के लिए प्रारूप, इसलिए अस्पष्टताएं हैं
कन्वेंशन के पक्ष में हल किया।

यदि आप इसका उपयोग नहीं करते हैं तो "LDEMULATION" डिफ़ॉल्ट इम्यूलेशन निर्धारित करता है -m
विकल्प। अनुकरण लिंकर व्यवहार के विभिन्न पहलुओं को प्रभावित कर सकता है,
विशेष रूप से डिफ़ॉल्ट लिंकर स्क्रिप्ट। आप उपलब्ध को सूचीबद्ध कर सकते हैं
के साथ अनुकरण --verbose or -V विकल्प। अगर -m विकल्प नहीं है
प्रयुक्त, और "LDEMULATION" पर्यावरण चर परिभाषित नहीं है,
डिफ़ॉल्ट अनुकरण इस बात पर निर्भर करता है कि लिंकर को कैसे कॉन्फ़िगर किया गया था।

आम तौर पर, लिंकर प्रतीकों को हटाने के लिए डिफ़ॉल्ट होगा। हालांकि, यदि
"COLLECT_NO_DEMANGLE" वातावरण में सेट है, तो यह डिफ़ॉल्ट होगा
प्रतीकों को भंग नहीं करने के लिए। इस पर्यावरण चर का उपयोग a . में किया जाता है
"जीसीसी" लिंकर रैपर प्रोग्राम द्वारा समान फैशन। डिफ़ॉल्ट मई
द्वारा ओवरराइड किया जा सकता है --demangle और --नो-डेमंगल विकल्प.

onworks.net सेवाओं का उपयोग करके i686-linux-gnu-ld ऑनलाइन का उपयोग करें


Ad


Ad