अंग्रेज़ीफ्रेंचजर्मनइतालवीपुर्तगालीरूसीस्पेनिश

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

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

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

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

कार्यक्रम:

नाम


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

SYNOPSIS


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

वर्णन


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

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

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

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

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

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

विकल्प


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

अन्यथा, डिफ़ॉल्ट इम्यूलेशन इस बात पर निर्भर करता है कि लिंकर को कैसे कॉन्फ़िगर किया गया था।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-S
--पट्टी-डीबग
आउटपुट फ़ाइल से डिबगर प्रतीक जानकारी (लेकिन सभी प्रतीक नहीं) को छोड़ दें।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

RSI -रपाथ विकल्प का उपयोग SunOS पर भी किया जा सकता है। डिफ़ॉल्ट रूप से, 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 पर समर्थित है
मंच। SunOS पर, लिंकर स्वचालित रूप से एक साझा पुस्तकालय बना देगा यदि -e
विकल्प का उपयोग नहीं किया गया है और लिंक में अपरिभाषित प्रतीक हैं।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

int i = 1;
एक परिभाषा, जो आउटपुट फ़ाइल के आरंभिक डेटा अनुभाग में जाती है।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--निर्यात-सभी-प्रतीकों
यदि दिया गया है, तो डीएलएल बनाने के लिए उपयोग की जाने वाली वस्तुओं में सभी वैश्विक प्रतीकों को निर्यात किया जाएगा
डीएलएल। ध्यान दें कि यह डिफ़ॉल्ट है यदि अन्यथा कोई निर्यात नहीं किया जाएगा
प्रतीक जब प्रतीकों को स्पष्ट रूप से डीईएफ फाइलों के माध्यम से निर्यात किया जाता है या स्पष्ट रूप से निर्यात किया जाता है
फ़ंक्शन विशेषताओं के माध्यम से, डिफ़ॉल्ट कुछ और निर्यात नहीं करना है जब तक कि यह विकल्प नहीं है
दिया हुआ है। ध्यान दें कि प्रतीक "DllMain@12", "DllEntryPoint@0",
"DllMainCRTStartup@12", और "impure_ptr" स्वचालित रूप से निर्यात नहीं किए जाएंगे। भी,
अन्य डीएलएल से आयात किए गए प्रतीकों को फिर से निर्यात नहीं किया जाएगा, न ही प्रतीकों को निर्दिष्ट किया जाएगा
डीएलएल का आंतरिक लेआउट जैसे "_head_" से शुरू होने वाले या समाप्त होने वाले
"_मेरा बड़ा नाम है"। इसके अलावा, "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", और "वातावरण"। [यह विकल्प लक्षित i386 PE के लिए विशिष्ट है
लिंकर का बंदरगाह]

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

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

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

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

--छवि-आधार मूल्य
उपयोग मूल्य आपके प्रोग्राम या 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 होगा
डीएलएल लिंकर उत्पन्न कर रहा है। यह आयात परिवाद (जिसे "*.dll.a" या . कहा जाना चाहिए
"*.a" का उपयोग क्लाइंट को जेनरेट किए गए DLL से जोड़ने के लिए किया जा सकता है; यह व्यवहार इसे बनाता है
एक अलग "dlltool" आयात पुस्तकालय निर्माण चरण को छोड़ना संभव है। [यह विकल्प है
लिंकर के i386 PE लक्षित पोर्ट के लिए विशिष्ट]

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

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

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

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

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

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

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

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

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

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

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

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

or

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

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

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

or

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

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

मूल:

--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 लक्षित पोर्ट के लिए विशिष्ट]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

वातावरण


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

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

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

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

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


Ad


Ad

नवीनतम Linux और Windows ऑनलाइन प्रोग्राम