Tuesday 12 December 2017

Ld प्रारूप बाइनरी विकल्प


फ़ाइल एक्सटेंशन एलडी क्या है: जे जेएटर चीफ टेक्नोलॉजी राइटर क्या आपने किसी एलडी फाइल को ईमेल किया था और आपको यह नहीं पता कि यह कैसे खोल सकता है शायद आपको अपने कंप्यूटर पर एलडी फाइल मिल गई है और आप सोच सकते हैं कि विंडोज़ के लिए यह आपको बता सकता है कि आप इसे खोल सकते हैं, या सबसे खराब स्थिति में एक एलडी फाइल संबंधित त्रुटि संदेश का सामना कर सकते हैं एलडी फाइल खोलने से पहले, आपको यह पता लगाना होगा कि किस प्रकार की फाइल एलडी फाइल एक्सटेंशन का संदर्भ देती है। युक्ति: गलत एलडी फ़ाइल एसोसिएशन की त्रुटियों आपके विंडोज ऑपरेटिंग सिस्टम के भीतर अन्य अंतर्निहित मुद्दों का एक लक्षण हो सकती है। ये अमान्य प्रविष्टियां भी संबंधित लक्षण उत्पन्न कर सकती हैं जैसे धीमे विंडोज स्टार्टअप, कंप्यूटर फ्रीज और अन्य पीसी प्रदर्शन समस्याएं। इसलिए, यह अत्यधिक अनुशंसा की जाती है कि आप अमान्य फाइल संघों और विखंडित रजिस्ट्री से संबंधित अन्य समस्याओं के लिए अपनी Windows रजिस्ट्री स्कैन करें। एलडी फाइल असामान्य फाइलें मुख्य रूप से पैराडाक्स भाषा ड्राइवर (कोरल) से जुड़ी हुई हैं। एलडी फाइलें पीसी-बिब्लियोथेक यूजर ऑप्शंस (बिबलीोग्राफिस इंस्टीट्यूट एफए ए ब्रोकहाउस एजी), टेलिक्स लांग डिस्टेंस कोड्स और फ़ॉल्लेव्यूप्रो के साथ भी जुड़ी हुई हैं। अतिरिक्त प्रकार की फाइलें एलडी फ़ाइल एक्सटेंशन का उपयोग भी कर सकती हैं। यदि आप एलडी फ़ाइल एक्सटेंशन का उपयोग करते हुए किसी भी अन्य फ़ाइल स्वरूपों के बारे में जानते हैं, तो कृपया हमसे संपर्क करें ताकि हम हमारी सूचना को तदनुसार अपडेट कर सकें। अपना एलडी फाइल कैसे खोलें: एलडी फाइल ओपनर आपकी एलडी फाइल को खोलने का सबसे तेज़ और सबसे आसान तरीका है इसे डबल क्लिक करें इससे विंडोज की खुफिया आपकी एलडी फाइल को खोलने के लिए सही सॉफ़्टवेयर एप्लिकेशन को तय करने की अनुमति देता है। इस मामले में कि आपका एलडी फ़ाइल खुला नहीं है, यह बहुत अधिक संभावना है कि आपके पास एलडी फ़ाइल एक्सटेंशन देखने या संपादित करने के लिए आपके पीसी पर स्थापित सही सॉफ़्टवेयर एप्लिकेशन नहीं है। यदि आपका पीसी एलडी फाइल खोलता है, लेकिन इसका गलत अनुप्रयोग है, तो आपको अपने Windows रजिस्ट्री फ़ाइल एसोसिएशन सेटिंग्स को बदलने की आवश्यकता होगी। दूसरे शब्दों में, विंडोज़ एलडी फाइल एक्सटेन्शंस को ग़लत सॉफ्टवेयर प्रोग्राम के साथ जोड़ रहा है। हम अत्यधिक अमान्य फाइल संघों और अन्य संबंधित रजिस्ट्री समस्याओं के लिए अपनी Windows रजिस्ट्री स्कैन करने की अनुशंसा करते हैं। सॉफ्टवेयर एक्सटेंशन फाइल एक्सटेंशन एलडी के साथ संबद्ध: कुछ एलडी फ़ाइल एक्सटेंशन प्रारूप केवल बाइनरी प्रारूप में खोला जा सकता है। एलडी फाइल विश्लेषण उपकरण के बारे में सुनिश्चित करें कि आप किस एलडी फ़ाइल को जानते हैं क्या आप जानना चाहते हैं कि वह क्या है, इसे किसने बनाया है, और इसे कैसे खोलें अंत में, अब आप अपनी एलडी फाइल के बारे में जानना चाहते हैं। तुरन्त क्रांतिकारी एलडी फाइल विश्लेषण टूल आपके एलडी फाइल के बारे में प्रत्येक विवरण को स्कैन, विश्लेषण, और रिपोर्ट करता है। हमारे पेटेंट-लंबित एल्गोरिथ्म आपकी फ़ाइल का त्वरित विश्लेषण करती है, और क्षणों के भीतर, यह जानकारी आपको एक सुरुचिपूर्ण, आसान-से-पढ़ने वाली प्रारूप में प्रस्तुत करता है। 8224 सेकंड में, आप सीखेंगे कि आपकी किस प्रकार की एलडी फाइल है, सॉफ्टवेयर प्रोग्राम संबद्ध है आपकी फ़ाइल के साथ, प्रकाशक ने इसे बनाया, उसकी सुरक्षा सुरक्षा की स्थिति और कई अन्य उपयोगी जानकारी अपने मुफ्त फ़ाइल विश्लेषण को शुरू करने के लिए, बस नीचे दिए गए रेखाओं के अंदर अपनी एलडी फाइल को खींचें और ड्रॉप करें, या मेरा कंप्यूटर ब्राउज़ करें पर क्लिक करें और अपनी फ़ाइल का चयन करें। तब आपके एलडी फाइल विश्लेषण रिपोर्ट इस ब्राउज़र विंडो में सीधे नीचे प्रदर्शित की जाएगी। अपने एलडी फाइल को ड्रैग करें विश्लेषण शुरू करने के लिए मेरा कंप्यूटर ब्राउज़ करें कृपया मेरी फाइल को वायरस के लिए भी स्कैन करें। सॉल्वसॉफ्ट: माइक्रोसॉफ्ट गोल्ड प्रमाणित कंपनी जीएनयू लिंकर (एक्जीक्यूशन किया गया एलडी) binutils पैकेज का हिस्सा है। यह लिनक्स और अन्य यूनिक्स जैसी ऑपरेटिंग सिस्टंस के मानक मानक है। यह अस्तित्व में अधिकांश इनपुट और आउटपुट स्वरूपों (libbfd के उपयोग के माध्यम से) का समर्थन करता है, और यह सूचीबद्ध लिंकरों का सबसे लचीला है सबसे ज्ञात इनपुट स्वरूपों (एएलएफ, डीजेजीपीपीसीओएफएफ, विन्डोज़कोएफएफ, ए. एउट आदि) का समर्थन करता है सबसे ज्ञात आउटपुट फॉर्मेटों (एएलएफ, विन 32 पीई, सीओएफएफ, ए. एउउट आदि) का समर्थन करता है। साझा पुस्तकालयों के निर्माण का समर्थन करता है लचीला लिंकर स्क्रिप्ट भाषा के माध्यम से, उत्पन्न आउटपुट फ़ाइल पर पूर्ण नियंत्रण प्रदान करता है। फ्लैट बाइनरी फ़ाइलें बना सकते हैं अलग लोड और निष्पादन पते (उच्च आधे कर्नेल के लिए महत्वपूर्ण) के साथ, कोडडेटा पतों को निर्दिष्ट कर सकते हैं। DWARF, ECOFF और STABS डीबगिंग सूचना का समर्थन करता है। जीपीएल वर्जन के तहत निशुल्क सॉफ्टवेयर। एलडी स्वयं साझा पुस्तकालय नहीं बनाते हैं। आपको कंपाइलर को उचित झंडे देना होगा ताकि वह स्थिति-स्वतंत्र कोड उत्पन्न कर सके (ध्यान दें कि यह केवल ELF साझा पुस्तकालयों के बारे में बात कर रहा है) एलडी अपने अंतिम उद्देश्य (जो कि वृद्धिशील लिंक कहा जाता है) में पुनर्स्थापना रखते हुए लिंक करने में सक्षम है, और ऐसा करने के निर्देश दिए जाने पर भी यह अनसुलझे प्रतीकों को छोड़ सकता है। आप भी एआर देख सकते हैं। एलडी के लिए एक स्थिर लिंक लाइब्रेरी साथी। बाहरी लिंक्स लिनक्स और यूनिक्स लिंड कमांड एलडी कई ऑब्जेक्ट और आर्काइव फाइलों को जोड़ती है, उनके डेटा को स्थानांतरित करता है और प्रतीक संदर्भों को जोड़ता है। आम तौर पर एक प्रोग्राम को संकलित करने में अंतिम चरण एलडी को चलाने के लिए है। एलडी लिंकपर कमांड भाषा फ़ाइलों को लिखे जाने की प्रक्रिया पर स्पष्ट और कुल नियंत्रण प्रदान करने के लिए एटीएमएमटी लिंक लिंक कमांड भाषा सिंटैक्स के एक सुपरसेट में लिखे गए हैं। Ld कमांड भाषा पर पूर्ण विवरण के लिए, ld info पेज देखें यहां, अच्छी तरह से जीएनयू एलडी का उपयोग करने के बारे में एक व्यापक सिंहावलोकन को कवर किया गया है, जो कि लिनक्स के अधिकांश संस्करणों में प्रयोग किया जाता है। एलडी का यह संस्करण ऑब्जेक्ट फाइलों पर काम करने के लिए सामान्य उद्देश्य बीएफडी पुस्तकालयों का उपयोग करता है। यह एलडी को कई अलग-अलग प्रारूपों में ऑब्जेक्ट फ़ाइलों को पढ़ने, संयोजन और लिखने की अनुमति देता है: उदाहरण के लिए, COFF या a. out किसी भी प्रकार की ऑब्जेक्ट फ़ाइल का निर्माण करने के लिए विभिन्न प्रारूपों को एक साथ जोड़ा जा सकता है। इसके लचीलेपन के अलावा, जीएनयू लिंकर नैदानिक ​​जानकारी प्रदान करने में अन्य लिंकरों की तुलना में अधिक उपयोगी है। जब भी संभव हो, एक त्रुटि का सामना करने पर कई लिंकर्स निष्पादन को छोड़ देते हैं, एलडी निरंतर जारी रहता है, जिससे आप अन्य त्रुटियों की पहचान कर सकते हैं (या, कुछ मामलों में, त्रुटि के बावजूद आउटपुट फ़ाइल प्राप्त करने के लिए) जीएनयू लिंकर एलडी का एक व्यापक परिस्थितियों को कवर करना है, और अन्य लिंकरों के साथ संभव के अनुरूप होना चाहिए। नतीजतन, आपके व्यवहार को नियंत्रित करने के लिए आपके पास कई विकल्प हैं लिंकर कई कमांड लाइन विकल्पों का समर्थन करता है, लेकिन वास्तविक प्रथाओं में उनमें से कुछ का उपयोग किसी विशेष संदर्भ में किया जाता है। उदाहरण के लिए, एलडी का लगातार उपयोग मानक यूनिक्स ऑब्जेक्ट फाइलों को एक मानक, समर्थित यूनिक्स सिस्टम पर लिंक करने के लिए है। ऐसी प्रणाली पर, एक फाइल को जोड़ने के लिए hello. o: यह एलडी फाइल को libcrt0.o के साथ hello. o और लाइब्रेरी लाइब्रेरी लाइब्रेरी को जोड़ने के परिणाम के रूप में आउटपुट कहता है, जो कि मानक खोज से आएगा निर्देशिका। नीचे-एल विकल्प देखें कमांड लाइन विकल्पों में से कुछ कमांड लाइन में किसी भी बिंदु पर निर्दिष्ट हो सकते हैं। हालांकि, विकल्प जो फ़ाइलों को संदर्भित करता है, जैसे - एल या - टी ऑब्जेक्ट फाइलों और अन्य फाइल विकल्पों के सापेक्ष, कमांड लाइन में विकल्प दिखाई देने वाले बिंदु पर फ़ाइल को पढ़ने के लिए कारण। एक अलग तर्क के साथ गैर-फ़ाइल विकल्पों को दोहराते हुए या तो उस विकल्प के आगे कोई प्रभाव नहीं होगा, या पूर्ववर्ती घटनाओं (जो कि कमांड लाइन पर आगे बचे हैं) को ओवरराइड करेंगे। विकल्प जो कि एक बार से ज्यादा अर्थात् निर्दिष्ट किया जा सकता है नीचे विवरण में वर्णित है। गैर-विकल्प तर्क ऑब्जेक्ट फ़ाइलें या अभिलेखागार हैं जो एक साथ लिंक किए जाने हैं। वे कमांड लाइन विकल्प के साथ अनुसरण, पहले से या मिश्रित हो सकते हैं, सिवाय इसके कि कोई ऑब्जेक्ट फ़ाइल तर्क एक विकल्प और इसके तर्क के बीच नहीं रखा जा सकता है आम तौर पर लिंकर को कम से कम एक ऑब्जेक्ट फ़ाइल के साथ लागू किया जाता है, लेकिन आप - l का उपयोग करके बाइनरी इनपुट फ़ाइलों के अन्य रूप निर्दिष्ट कर सकते हैं - आर और स्क्रिप्ट आदेश भाषा। यदि कोई भी बाइनरी इनपुट फ़ाइलें निर्दिष्ट नहीं हैं, तो लिंकर किसी भी आउटपुट का उत्पादन नहीं करता है, और संदेश को इनपुट नहीं करता है। यदि लिंकर किसी ऑब्जेक्ट फ़ाइल के प्रारूप को नहीं पहचान सकता है, तो वह मान लेगा कि यह एक लिंकर स्क्रिप्ट है। इस रूप में निर्दिष्ट एक स्क्रिप्ट लिंक के लिए उपयोग की जाने वाली मुख्य लिंकर स्क्रिप्ट का उपयोग करती है (या तो डिफ़ॉल्ट लिंकर स्क्रिप्ट या - T का उपयोग करके निर्दिष्ट)। यह सुविधा लिंकर को उस फ़ाइल के खिलाफ लिंक करने की अनुमति देती है जो किसी ऑब्जेक्ट या संग्रह में प्रतीत होती है लेकिन वास्तव में केवल कुछ प्रतीक मूल्यों को परिभाषित करता है, या अन्य वस्तुओं को लोड करने के लिए INPUT या GROUP का उपयोग करता है इस प्रकार एक स्क्रिप्ट को निर्दिष्ट करने से मुख्य लिंकर स्क्रिप्ट को बढ़ाया जाता है, मुख्य स्क्रिप्ट के बाद दिए गए अतिरिक्त कमांड के साथ - t विकल्प को डिफ़ॉल्ट लिंकर स्क्रिप्ट को पूरी तरह से बदलने के लिए उपयोग किया जाता है, लेकिन INSERT कमांड के प्रभाव पर ध्यान दें। विकल्पों के लिए जिनके नाम एक अक्षर हैं, ऑप्शन आर्गुग्स को या तो ऑब्जेक्ट अक्षर का बिना किसी सफेद स्थान को हस्तक्षेप करना चाहिए। या उन विकल्पों के तुरंत बाद अलग तर्क के रूप में दिए जाएंगे जिन्हें उन्हें आवश्यकता है। ऐसे विकल्पों के लिए जिनके नाम एकाधिक अक्षर हैं, या तो एक या दो दो विकल्प नाम से पहले उदाहरण के लिए, - trace-symbol और --trace-symbol समकक्ष हो सकते हैं। ध्यान दें कि इस नियम के लिए एक अपवाद है: एक से अधिक अक्षर विकल्प जो कि लोअर केस से प्रारंभ होता है, केवल दो डैश से पहले ही हो सकता है। यह - o विकल्प से भ्रम को कम करना है इसलिए उदाहरण के लिए - मैजिक ने आउटपुट फाइल नाम को जादू में सेट किया है, जबकि - मैगिक आउटपुट पर एनएमएजीआईआईसी ध्वज सेट करता है। कई-अक्षर विकल्पों के तर्कों को या तो बराबर चिह्न द्वारा विकल्प नाम से अलग किया जाना चाहिए या उन विकल्पों के तुरंत बाद अलग तर्क के रूप में दिया जाना चाहिए जो उन्हें आवश्यकता होती है। उदाहरण के लिए, --trace-symbol foo और --trace-symbolfoo बराबर हैं बहु-अक्षर विकल्पों के नामों के अनन्य संक्षिप्त नाम स्वीकार किए जाते हैं। ध्यान दें कि यदि लिंकर को अप्रत्यक्ष रूप से लागू किया जा रहा है, तो एक कंपाइलर ड्राइवर (उदाहरण के लिए जीसीसी) के माध्यम से सभी लिंकर कमांड लाइन विकल्पों को पहले से - प्रारंभ किया जाना चाहिए - Wl (या जो कुछ खास संकलक ड्राइवर के लिए उपयुक्त है) इस तरह: यह महत्वपूर्ण है, क्योंकि अन्यथा कंपाइलर ड्राइवर प्रोग्राम चुपचाप लिंकर विकल्पों को छोड़ सकता है, जिसके परिणामस्वरूप एक खराब लिंक हो सकता है। विचलन भी हो सकता है जब एक विकल्प के माध्यम से मूल्यों की आवश्यकता होती है, क्योंकि विकल्प और तर्क के बीच स्थान का उपयोग विभाजक के रूप में होता है, और ड्राइवर को लिंकर को केवल विकल्प और कंपाइलर के लिए तर्क देता है। इस मामले में, एकल और एकाधिक-पत्र विकल्पों दोनों में शामिल किए गए रूपों का उपयोग करना सरल है, जैसे: यहां जीएनयू लिंकर द्वारा स्वीकार किए जाने वाले जेनेरिक कमांड लाइन स्विच की एक तालिका है: फ़ाइल से कमांड लाइन विकल्प पढ़ें। पढ़ा गया विकल्प मूल फ़ाइल विकल्प के स्थान पर डाला जाता है। अगर फ़ाइल मौजूद नहीं है, या पढ़ी नहीं जा सकती है, तो विकल्प का शाब्दिक व्यवहार किया जाएगा, और हटाया नहीं जाएगा। फ़ाइल में विकल्प सफेद स्थान से अलग हैं I एक श्वेत स्थान का चरित्र एक विकल्प में संपूर्ण विकल्प को एक या दोहरे उद्धरण में चारों ओर से शामिल किया जा सकता है। किसी भी चरित्र (बैकस्लैश सहित) को बैकस्लैश के साथ शामिल करने के लिए वर्ण को प्रीफ़िक्स करके शामिल किया जा सकता है। फाइल में अतिरिक्त फ़ाइल विकल्प शामिल हो सकते हैं, ऐसे विकल्पों को पुनरावर्ती रूप से संसाधित किया जाएगा। यह विकल्प HP-UX संगतता के लिए समर्थित है। कीवर्ड तर्क स्ट्रिंग संग्रह में से एक होना चाहिए। साझा किया या डिफ़ॉल्ट - अरेक्रैवल कार्यात्मक रूप से बराबर - विस्तृत है और अन्य दो कीवर्ड कार्यात्मक रूप से - व्यवहार के समान हैं यह विकल्प किसी भी समय उपयोग किया जा सकता है गतिशील अनुभाग के डीटीएडीआईटी प्रविष्टि में AUDITLIB को जोड़ता है। AUDITLIB अस्तित्व के लिए जाँच नहीं है, न ही यह पुस्तकालय में निर्दिष्ट डीटीएसओएएनएएम का उपयोग करेगा। यदि निर्दिष्ट कई बार DTAUDIT में उपयोग के लिए ऑडिट इंटरफेस की एक बृहदान्त्र से अलग सूची होगी। यदि लिंकर को साझा पुस्तकालयों की खोज करते समय एक ऑडिट प्रविष्टि के साथ कोई ऑब्जेक्ट मिलता है, तो यह आउटपुट फाइल में एक संबंधित डीटीडीएपीडीआईटी प्रविष्टि जोड़ देगा। यह विकल्प केवल एलएलएफ प्लैटफॉर्म पर उपयोगी है, जो आरटीडी-ऑडिट इंटरफ़ेस का समर्थन करते हैं। एलडी के वर्तमान रिलीज में यह विकल्प केवल आर्किटेक्चर के इंटेल 960 परिवार के लिए उपयोगी है I उस एलडी कॉन्फ़िगरेशन में, आर्किटेक्चर तर्क में 960 वास्तुकला में विशिष्ट आर्किटेक्चर की पहचान होती है, कुछ सुरक्षा उपायों को सक्षम करने और संग्रह-पुस्तकालय खोज पथ को संशोधित करने के लिए। एलडी के भविष्य के रिलीज अन्य वास्तुकला परिवारों के लिए समान कार्यक्षमता का समर्थन कर सकते हैं। एलडी को एक से अधिक प्रकार की ऑब्जेक्ट फ़ाइल का समर्थन करने के लिए कॉन्फ़िगर किया जा सकता है यदि आपका एलडी इस तरह कॉन्फ़िगर किया गया है, तो आप इनपुट ऑब्जेक्ट फ़ाइलों के लिए बाइनरी प्रारूप को निर्दिष्ट करने के लिए - b विकल्प का उपयोग कर सकते हैं जो कि कमांड लाइन पर इस विकल्प का अनुसरण करते हैं। यहां तक ​​कि जब एलडी वैकल्पिक ऑब्जेक्ट स्वरूपों का समर्थन करने के लिए कॉन्फ़िगर किया गया है, तो आपको आमतौर पर इसे निर्दिष्ट करने की आवश्यकता नहीं है, क्योंकि एलडी को प्रत्येक मशीन पर सबसे सामान्य प्रारूप के रूप में डिफ़ॉल्ट इंफॉर्म प्रारूप के रूप में अपेक्षा करने के लिए कॉन्फ़िगर किया जाना चाहिए। इनपुट-फ़ॉर्मेट एक पाठ स्ट्रिंग है, BFD पुस्तकालयों द्वारा समर्थित किसी विशेष प्रारूप का नाम। आप objdump - i के साथ उपलब्ध बाइनरी स्वरूपों की सूची कर सकते हैं आप इस विकल्प का उपयोग करना चाह सकते हैं यदि आप एक असामान्य बाइनरी फ़ॉर्मेट के साथ फाइलें जोड़ रहे हैं आप स्पष्ट रूप से स्वरूपों को स्विच करने के लिए - (जब विभिन्न प्रारूपों की ऑब्जेक्ट फाइलों को लिंक करते हुए) - बी ऑप्शन-फ़ॉर्मेट को किसी विशेष प्रारूप में ऑब्जेक्ट फ़ाइलों के प्रत्येक समूह से पहले भी शामिल कर सकते हैं। डिफ़ॉल्ट स्वरूप पर्यावरण चर GNUTARGET से लिया गया है। आप एमआरआई द्वारा निर्मित लिंकर्स के संगतता के लिए TARGET आदेश का उपयोग करके एक स्क्रिप्ट से इनपुट प्रारूप को परिभाषित भी कर सकते हैं, एलडी एक वैकल्पिक, प्रतिबंधित कमांड भाषा में लिखित स्क्रिप्ट फ़ाइलों को स्वीकार करता है, जो कि एमएनआई संगत स्क्रिप्ट फाइलों में वर्णित है, जीएनयू एलडी दस्तावेज़ीकरण। सामान्य प्रयोजन के एलडी स्क्रिप्टिंग भाषा में लिखे गए लिंकर स्क्रिप्ट को चलाने के लिए - T विकल्प का उपयोग करें- विकल्प के साथ एमआरआई स्क्रिप्ट फाइलों का परिचय। यदि एमआरआई-सीएमडीफ़ाइल मौजूद नहीं है, तो एलडी इसके लिए किसी भी - एल विकल्प द्वारा निर्दिष्ट निर्देशिका में दिखता है। ये तीन विकल्प समान हैं, कई प्रकार के अन्य लिंकरों के साथ संगतता के लिए समर्थित हैं। वे सामान्य प्रतीकों के लिए स्थान प्रदान करते हैं भले ही एक स्थानांतरित आउटपुट फाइल निर्दिष्ट की गई हो (-आर) के साथ। स्क्रिप्ट कमांड FORCECOMMONALLOICATION का एक ही प्रभाव है। डायनेमिक सेक्शन के डीटीडीईएपीडीआईटी प्रविष्टि में AUDITLIB जोड़ता है। AUDITLIB अस्तित्व के लिए जाँच नहीं है, न ही यह पुस्तकालय में निर्दिष्ट डीटीएसओएएनएएम का उपयोग करेगा। अगर निर्दिष्ट कई बार DTDEPAUDIT में उपयोग के लिए ऑडिट इंटरफेस की एक बृहदान्त्र से अलग सूची होगी। यह विकल्प केवल एलएलएफ प्लैटफॉर्म पर उपयोगी है, जो आरटीडी-ऑडिट इंटरफ़ेस का समर्थन करते हैं। सोलारिस संगतता के लिए - P विकल्प प्रदान किया गया है। डिफ़ॉल्ट एंट्री बिंदु के बजाय, अपने प्रोग्राम के निष्पादन को प्रारंभ करने के लिए स्पष्ट प्रतीक के रूप में प्रविष्टि का उपयोग करें अगर प्रविष्टि नाम का कोई प्रतीक नहीं है लिंकर एक संख्या के रूप में प्रविष्टि को पार्स करने की कोशिश करेगी, और इसका उपयोग एंट्री पते के रूप में करेगा (संख्या को आधार 10 में समझाया जाएगा, आप बेस 16 के लिए अग्रणी 0x का उपयोग कर सकते हैं, या बेस 8 के लिए अग्रणी 0) का उपयोग कर सकते हैं। संग्रह लाइब्रेरीज़ की एक सूची निर्दिष्ट करता है, जिसमें से प्रतीकों को स्वचालित रूप से निर्यात नहीं किया जाना चाहिए। लाइब्रेरी नाम अल्पविराम या कॉलन द्वारा सीमांकित किया जा सकता है। निर्दिष्ट --exclude-libs सभी स्वचालित संग्रह से सभी संग्रह लाइब्रेरी में प्रतीकों को शामिल नहीं करता है। यह विकल्प केवल लिंकर के i386 पीई लक्षित पोर्ट और एलीएफ लक्षित पोर्ट के लिए उपलब्ध है। I386 पीई के लिए, स्पष्ट रूप से.def फाइल में सूचीबद्ध प्रतीक अभी भी निर्यात किए जाते हैं, इस विकल्प की परवाह किए बिना। ELF लक्षित पोर्ट के लिए, इस विकल्प से प्रभावित प्रतीकों को छिपी माना जाएगा। ऑब्जेक्ट फाइलों या संग्रह सदस्यों की एक सूची निर्दिष्ट करती है, जिसमें से प्रतीकों को स्वचालित रूप से निर्यात नहीं किया जाना चाहिए, लेकिन लिंक के दौरान उत्पन्न होने वाले आयात लाइब्रेरी में थोक को कॉपी करना चाहिए। मॉड्यूल नामों को अल्पविराम या कॉलन द्वारा सीमांकित किया जा सकता है, और संग्रह सदस्यों के लिए फ़ाइलों को खोलने के लिए एलडी द्वारा उपयोग किए गए फ़ाइल नामों से मेल खाना चाहिए, यह केवल सदस्य का नाम है, लेकिन ऑब्जेक्ट फ़ाइलों के लिए सूचीबद्ध नामों में शामिल होने और ठीक से उपयोग किए जाने वाले किसी भी पथ को शामिल करना आवश्यक है लिंकर्स कमांड लाइन पर इनपुट फ़ाइल निर्दिष्ट करने के लिए यह विकल्प केवल लिंकर के i386 PE लक्षित पोर्ट के लिए उपलब्ध है। इस विकल्प के बावजूद स्पष्ट रूप से.def फाइल में सूचीबद्ध प्रतीक अभी भी निर्यात किए जाते हैं। जब गतिशील रूप से लिंक किए गए निष्पादन योग्य बनाते हैं, - ई विकल्प या --export-dynamic विकल्प का उपयोग करते हुए लिंकर को सभी प्रतीकों को गतिशील प्रतीक तालिका में जोड़ देता है गतिशील प्रतीक तालिका प्रतीकों का समूह है जो गति समय पर गतिशील ऑब्जेक्ट से दिखाई दे रहे हैं। यदि आप इनमें से किसी एक विकल्प का उपयोग नहीं करते हैं (या डिफ़ॉल्ट व्यवहार को पुनर्स्थापित करने के लिए --no-export-dynamic विकल्प का उपयोग करें), तो गतिशील प्रतीक तालिका में केवल उन प्रतीकों को ही शामिल होगा जो लिंक में वर्णित कुछ गतिशील ऑब्जेक्ट द्वारा संदर्भित हैं। यदि आप गतिशील ऑब्जेक्ट लोड करने के लिए dlopen का उपयोग करते हैं, जिसे प्रोग्राम द्वारा परिभाषित प्रतीकों को वापस संदर्भित करने की आवश्यकता होती है, कुछ अन्य डायनामिक ऑब्जेक्ट की बजाय, आपको इस विकल्प का उपयोग तब करना होगा जब प्रोग्राम को स्वयं जोड़ना होगा आप गतिशील सूची का उपयोग करके नियंत्रित कर सकते हैं कि डायनामिक प्रतीक तालिका में कौन-से प्रतीकों को जोड़ा जाना चाहिए यदि आउटपुट स्वरूप इसका समर्थन करता है --dynamic-list का विवरण देखें ध्यान दें कि यह विकल्प ELF लक्षित पोर्टों के लिए विशिष्ट है। पीई लक्ष्य डीएलएल या एक्सईई से सभी प्रतीकों को निर्यात करने के लिए एक समान फ़ंक्शन का समर्थन करते हैं - नीचे एक्सपोर्ट-सभी-प्रतीकों का विवरण देखें। बिग-एंडियन ऑब्जेक्ट लिंक करें यह डिफ़ॉल्ट आउटपुट स्वरूप को प्रभावित करता है। लिंक-एंडियन ऑब्जेक्ट लिंक करें यह डिफ़ॉल्ट आउटपुट स्वरूप को प्रभावित करता है। जब एक एल्फ साझा वस्तु बनाते हैं, तो निर्दिष्ट नाम के लिए आंतरिक DTAUXILIARY फ़ील्ड सेट करें। यह गतिशील लिंकर को बताता है कि साझा ऑब्जेक्ट का प्रतीक तालिका साझा ऑब्जेक्ट नाम के प्रतीक तालिका पर एक सहायक फ़िल्टर के रूप में उपयोग की जानी चाहिए। यदि आप बाद में इस फ़िल्टर ऑब्जेक्ट के विरुद्ध प्रोग्राम को लिंक करते हैं, तो, जब आप प्रोग्राम चलाते हैं, तो डायनेमिक लिंकर DTAUXILIARY फ़ील्ड देखेंगे। अगर डायनेमिक लिंकर फ़िल्टर ऑब्जेक्ट से किसी भी प्रतीक को हल करता है, तो यह पहले जांच करेगा कि साझा वस्तु नाम में कोई परिभाषा है या नहीं। यदि एक है, तो इसका प्रयोग फ़िल्टर ऑब्जेक्ट में परिभाषा के बजाय किया जाएगा। साझा वस्तु नाम की आवश्यकता नहीं है इस प्रकार साझा ऑब्जेक्ट का नाम कुछ फ़ंक्शंस के एक वैकल्पिक क्रियान्वयन प्रदान करने के लिए उपयोग किया जा सकता है, शायद डिबगिंग के लिए या मशीन विशिष्ट प्रदर्शन के लिए। यह विकल्प एक से अधिक बार निर्दिष्ट हो सकता है। DTAUXILLIARY प्रविष्टियां उन आदेशों में बनाएगी जिनमें वे कमांड लाइन पर दिखाई देते हैं। जब एक एल्फ को साझा ऑब्जेक्ट बनाते हैं, तो निर्दिष्ट नाम पर आंतरिक DTFILTER फ़ील्ड सेट करें। यह डायनेमिक लिंकर को बताता है कि साझा ऑब्जेक्ट की प्रतीक तालिका जो साझा की जा रही है, को साझा ऑब्जेक्ट नाम के प्रतीक तालिका पर फ़िल्टर के रूप में उपयोग किया जाना चाहिए। यदि आप बाद में इस फ़िल्टर ऑब्जेक्ट के विरुद्ध प्रोग्राम को लिंक करते हैं, तो, जब आप प्रोग्राम चलाते हैं, तो गतिशील लिंकर को डीटीएफआईएलआरआर फील्ड दिखाई देगा। गतिशील लिंकर सामान्य रूप से फ़िल्टर ऑब्जेक्ट के प्रतीक तालिका के अनुसार प्रतीकों को हल करेगा, लेकिन यह वास्तव में साझा ऑब्जेक्ट नाम में मिली परिभाषाओं से लिंक होगा। इस प्रकार ऑब्जेक्ट नाम द्वारा दिए गए प्रतीकों के सबसेट को चुनने के लिए फ़िल्टर ऑब्जेक्ट का उपयोग किया जा सकता है। कुछ पुराने लिंकर्स ने इनपुट और आउटपुट ऑब्जेक्ट फाइल दोनों के लिए ऑब्जेक्ट-फ़ाइल स्वरूप निर्दिष्ट करने के लिए एक संकलन टूलचैन भर में - F विकल्प का उपयोग किया। जीएनयू लिंकर इस उद्देश्य के लिए अन्य तंत्र का उपयोग करता है: - बी। - प्रारूप --फोर्मेट विकल्प, लिंकर लिपियों में टार्गेट कमांड, और जीएनटीएआरजेईटी पर्यावरण चर। एएलएफ साझा ऑब्जेक्ट नहीं बनाते समय जीएनयू लिंकर - एफ विकल्प को अनदेखा कर देगा। जब एक ELF निष्पादन योग्य या साझा ऑब्जेक्ट बनाते हैं, तो फ़ंक्शन के पते पर DTFINI को सेट करके, निष्पादन योग्य या साझा ऑब्जेक्ट लोड होने पर, NAME को कॉल करें। डिफ़ॉल्ट रूप से, कॉलर कॉल करने के लिए फ़ंक्शन के रूप में फ़िनी का उपयोग करता है। अवहेलना करना। अन्य उपकरणों के साथ संगतता के लिए प्रदान की गई आकार के लिए जीपी रजिस्टर का उपयोग करके अनुकूलित किए जाने वाले ऑब्जेक्ट का अधिकतम आकार सेट करें। यह केवल एमआईपीएस ईओओएफएफ जैसे ऑब्जेक्ट फ़ाइल स्वरूपों के लिए सार्थक है जो बड़े और छोटे ऑब्जेक्ट्स को अलग-अलग खंडों में लगाने का समर्थन करता है। इसे अन्य ऑब्जेक्ट फ़ाइल स्वरूपों के लिए अनदेखा किया गया है। एक ELF साझा ऑब्जेक्ट बनाते समय, निर्दिष्ट नाम के लिए आंतरिक डीटीएसओएएनएएम फील्ड सेट करें। जब निष्पादन योग्य एक साझा ऑब्जेक्ट से जुड़ा होता है जिसमें डीटीएसओएनएएम फ़ील्ड होता है, तो जब निष्पादन योग्य डायनेमिक लिंकर चलाया जाता है तो लिंकर को दिए गए फ़ाइल नाम का उपयोग करने के बजाय DTSONAME फ़ील्ड द्वारा निर्दिष्ट साझा ऑब्जेक्ट लोड करने का प्रयास करेगा। एक वृद्धिशील लिंक करें (विकल्प-आर के समान) जब एक ELF निष्पादन योग्य या साझा ऑब्जेक्ट बनाते हैं, तो कॉल करें जब निष्पादन योग्य या साझा ऑब्जेक्ट लोड होता है, तो डीटीआईएनआईटी को फ़ंक्शन के पते पर सेट कर दिया जाता है। डिफ़ॉल्ट रूप से, लिंकर कॉल करने के लिए फ़ंक्शन के रूप में init का उपयोग करता है। लिंक करने के लिए फाइलों की सूची में नामपीक द्वारा निर्दिष्ट संग्रह या ऑब्जेक्ट फ़ाइल जोड़ें यह विकल्प किसी भी समय उपयोग किया जा सकता है यदि नाम का नाम फॉर्म का है: फ़ाइल नाम ld एक फ़ाइल नामक फ़ाइल के लिए पुस्तकालय पथ खोज करेगा। अन्यथा यह पुस्तकालय पथ को लिब नामपीक. a नामक फ़ाइल के लिए खोज करेगा साझा पुस्तकालयों का समर्थन करने वाले सिस्टम पर, एलडी लिब नेमस्पेई के अलावा अन्य फ़ाइलों को भी खोज सकता है। विशेष रूप से, एएलएफ और सनओस सिस्टम पर, एलडी एक लाइब्रेरी के लिए लिबर नामपीक नामक एक निर्देशिका की खोज करेगा। इससे पहले एक नामक लिब नामपीक। ए खोज करने से पहले। सम्मेलन के अनुसार, एक. so एक्सटेंशन एक साझा पुस्तकालय इंगित करता है ध्यान दें कि यह व्यवहार इस पर लागू नहीं होता है: फ़ाइल नाम जो हमेशा फाइल नाम नामक फ़ाइल निर्दिष्ट करता है लिंकर एक संग्रह को केवल एक बार, उस स्थान पर खोज करेगा जहां उसे कमांड लाइन पर निर्दिष्ट किया गया है। यदि संग्रह एक प्रतीक को परिभाषित करता है जो किसी ऑब्जेक्ट में अपरिभाषित था जो कमांड लाइन पर संग्रह से पहले दिखाई देता था, लिंकर में संग्रह से उचित फ़ाइल शामिल होगी हालांकि, कमांड लाइन पर दिखाई देने वाले ऑब्जेक्ट में एक अपरिभाषित प्रतीक लिंककर्ता को फिर से संग्रह को खोजने के लिए कारण नहीं देगा। (- विकल्प को लिंकर को अभिलेखों को कई बार खोज करने के लिए मजबूर करने के लिए विकल्प देखें) आप कमांड लाइन पर एक ही संग्रह को कई बार सूचीबद्ध कर सकते हैं। इस प्रकार के पुरालेख खोज यूनिक्स लिंकर्स के लिए मानक हैं। हालांकि, यदि आप ld पर उपयोग कर रहे हैं एएक्स नोट करें कि यह एआईएस लिंकर के व्यवहार से अलग है। पथ खोज की सूची में उन पथों की सूची में जोड़ें जो संग्रह पुस्तकालयों और एलडी नियंत्रण स्क्रिप्ट के लिए खोज करेंगे। आप इस विकल्प को कई बार उपयोग कर सकते हैं। जिस क्रम में उन्हें कमांड लाइन पर निर्दिष्ट किया जाता है। कमांड लाइन पर निर्दिष्ट निर्देशिकाएँ डिफ़ॉल्ट निर्देशिका से पहले खोजी जाती हैं। ऑल-एल ऑप्शंस सभी-एल ऑप्शन्स पर लागू होते हैं, चाहे ऑर्डर किस विकल्प में हो। यदि कोई लिंकर स्क्रिप्ट के लिए एलडी खोजों को प्रभावित नहीं करता है, जब तक कि - t विकल्प निर्दिष्ट नहीं होता है। यदि searchdir के साथ शुरू होता है, तो sysroot उपसर्ग द्वारा बदल दिया जाएगा, एक निर्दिष्ट पथ, जब लिंकर कॉन्फ़िगर किया गया है। पथ के डिफ़ॉल्ट सेट (बीआई एनजी के साथ निर्दिष्ट) उस पर निर्भर करता है जिस पर इम्यूलेशन मोड एलडी प्रयोग कर रहा है, और कुछ मामलों में भी इसे बिल्ड समय पर कैसे कॉन्फ़िगर किया गया। पथ एक लिंक स्क्रिप्ट में निर्दिष्ट किया जा सकता है जो SEARCHDIR आदेश के साथ है। निर्देशकों ने इस तरह निर्दिष्ट किया है कि उस बिंदु पर खोजे गए हैं जिसमें लिंकर स्क्रिप्ट आदेश पंक्ति में दिखाई देती है। अनुकरण लिंकर का अनुकरण करें आप --verbose या - V विकल्प के साथ उपलब्ध emulations की सूची कर सकते हैं। यदि - एम विकल्प का उपयोग नहीं किया जाता है, तो इम्यूलेशन LDEMULATION परिवेश चर से लिया जाता है, यदि वह परिभाषित है। अन्यथा, डिफ़ॉल्ट इम्यूलेशन इस पर निर्भर करता है कि कैसे लिंकर कॉन्फ़िगर किया गया था। मानक आउटपुट के लिए एक लिंक मैप प्रिंट करें एक लिंक मैप लिंक के बारे में जानकारी प्रदान करता है, जिसमें निम्न शामिल हैं: ऑब्जेक्ट फाइल मेमोरी में मैप किए जाते हैं। आम प्रतीक कितने आवंटित किए जाते हैं सभी संग्रह सदस्यों को लिंक में शामिल किया गया, प्रतीक का एक उल्लेख है जिसके कारण संग्रह सदस्य को अंदर लाया गया था। प्रतीकों को सौंपा गया मूल्य। नोट: जिन प्रतीकों का मान एक अभिव्यक्ति द्वारा गणना की जाती है जिसमें एक ही प्रतीक के पिछले मान के संदर्भ शामिल हैं, संभवतः लिंक मैप में प्रदर्शित सही परिणाम नहीं हो सकता है। इसका कारण यह है कि लिंकर मध्यवर्ती परिणाम को हटा देता है और केवल अभिव्यक्ति के अंतिम मान को बरकरार रखता है। ऐसी परिस्थितियों में लिंकर चौकोर ब्रैकेट द्वारा संलग्न अंतिम मूल्य प्रदर्शित करेगा। इस प्रकार उदाहरण के लिए एक लिंकर स्क्रिप्ट है जिसमें: - एम विकल्प का उपयोग किया जाता है, तो लिंक मैप में निम्नलिखित आउटपुट का उत्पादन होगा: शेयरों के पेज संरेखण को बंद करें और साझा किए गए पुस्तकालयों के विरुद्ध लिंक को अक्षम करें। यदि आउटपुट स्वरूप यूनिक्स शैली जादू संख्या का समर्थन करता है, तो एनएमएजीआईसी के रूप में आउटपुट को चिह्नित करें। पठनीय और लिखने योग्य होने के लिए पाठ और डेटा अनुभाग सेट करें साथ ही, डेटा सेगमेंट को पेज-संरेखित न करें, और साझा लाइब्रेरी के विरुद्ध लिंक को अक्षम करें। यदि आउटपुट प्रारूप यूनिक्स शैली जादू संख्या का समर्थन करता है, तो OMAGIC के रूप में आउटपुट को चिह्नित करें। नोट: यद्यपि एक लिखने योग्य पाठ अनुभाग को पीई-सीओएफएफ लक्ष्य के लिए अनुमति दी गई है, यह माइक्रोसॉफ्ट द्वारा प्रकाशित प्रारूप विनिर्देश के अनुरूप नहीं है। यह विकल्प - न विकल्प के अधिकांश प्रभावों को नकार देता है यह पाठ अनुभाग को केवल-पढ़ने के लिए सेट करता है, और डेटा सेगमेंट को पृष्ठ-संरेखित करने के लिए मजबूर करता है नोट - यह विकल्प साझा लाइब्रेरी के विरुद्ध लिंक को सक्षम नहीं करता है। इस के लिए उपयोग करें- गतिशील एलडी द्वारा निर्मित प्रोग्राम के नाम के रूप में आउटपुट का उपयोग करें यदि यह विकल्प निर्दिष्ट नहीं है, तो नाम a. out डिफ़ॉल्ट रूप से उपयोग किया जाता है। स्क्रिप्ट आदेश आउटपुट फ़ाइल नाम भी निर्दिष्ट कर सकते हैं। अगर स्तर शून्य से एलडी के मुकाबले एक संख्यात्मक मान होता है तो आउटपुट का अनुकूलन करता है। यह काफी अधिक समय ले सकता है और इसलिए शायद केवल अंतिम बाइनरी के लिए सक्षम होना चाहिए। फिलहाल यह विकल्प केवल ELF साझा लाइब्रेरी पीढ़ी को प्रभावित करता है। लिंकर के भविष्य के रिलीज इस विकल्प का अधिक उपयोग कर सकते हैं। वर्तमान में इस विकल्प के विभिन्न गैर-शून्य मानों के लिए लिंकर्स व्यवहार में कोई अंतर नहीं है। फिर यह भविष्य के रिलीज के साथ बदल सकता है स्थानांतरण लिंक और पूरी तरह से लिंक किए गए एक्जिक्यूटरों में सामग्री छोड़ें। पोस्ट लिंक विश्लेषण और अनुकूलन उपकरण के लिए निष्पादन योग्य के सही संशोधन करने के लिए इस जानकारी की आवश्यकता हो सकती है यह बड़े निष्पादनयोग्य में परिणाम यह विकल्प वर्तमान में केवल ELF प्लेटफ़ॉर्म पर समर्थित है गतिशील वर्गों के लिए आउटपुट फाइल को बल दें यह विकल्प VxWorks लक्ष्य के लिए विशिष्ट है। पुनर्स्थापूर्ण आउटपुट उत्पन्न करें: यानी एक आउटपुट फाइल उत्पन्न करें जो बदले में एलडी के इनपुट के रूप में सेवा कर सकती है। इसे अक्सर आंशिक लिंकिंग कहा जाता है। एक पक्ष प्रभाव के रूप में, मानक यूनिक्स जादू संख्याओं का समर्थन करने वाले वातावरण में, यह विकल्प आउटपुट फाइल मैजिक नंबर को ओमैगिक के लिए सेट करता है। यदि यह विकल्प निर्दिष्ट नहीं है, तो एक पूर्ण फ़ाइल का उत्पादन किया जाता है सी कार्यक्रमों को जोड़ते समय, यह विकल्प कंसल्टेंट्स के संदर्भों को ऐसा करने के लिए हल नहीं करेगा, उपयोग करें - यूआर जब एक इनपुट फाइल में आउटपुट फाइल के समान प्रारूप नहीं होता है, तो आंशिक लिंकिंग केवल तभी समर्थित है यदि उस इनपुट फ़ाइल में कोई स्थान स्थान नहीं है विभिन्न आउटपुट स्वरूपों में कुछ अन्य प्रतिबंध हो सकते हैं, उदाहरण के लिए, कुछ एओआउट-आधारीत स्वरूप अन्य प्रारूपों में इनपुट फाइलों के साथ आंशिक लिंकिंग का समर्थन नहीं करते हैं। यह विकल्प - i के समान ही काम करता है फ़ाइल नाम से प्रतीक नाम और उनके पते पढ़ें लेकिन इसे स्थानांतरित न करें या इसे आउटपुट में शामिल करें। यह आपकी आउटपुट फ़ाइल को अन्य कार्यक्रमों में परिभाषित स्मृति के पूर्ण स्थानों के लिए सांकेतिक रूप से संदर्भित करने की अनुमति देता है। आप इस विकल्प का एक से अधिक बार उपयोग कर सकते हैं। अन्य ELF लिंकरों के साथ संगतता के लिए, यदि- R विकल्प का नाम किसी फाइल नाम के बजाय निर्देशिका नाम से किया जाता है, तो इसे - rpath विकल्प माना जाता है। आउटपुट फ़ाइल से सभी प्रतीक जानकारी छोड़ें स्क्रिप्टफाइल को लिंकर स्क्रिप्ट के रूप में उपयोग करें यह स्क्रिप्ट लिड की डिफ़ॉल्ट लिंकर स्क्रिप्ट (इसे जोड़ने के बजाय) की जगह लेता है, इसलिए कमांडफ़ाइल को आउटपुट फ़ाइल का वर्णन करने के लिए आवश्यक सभी को निर्दिष्ट करना होगा। अगर स्क्रिप्टफ़ाइल मौजूदा निर्देशिका में मौजूद नहीं है, तो एलडी इसके पूर्ववर्ती-एल विकल्पों के द्वारा निर्दिष्ट निर्देशिकाओं में दिखता है एकाधिक - T विकल्प जमा होते हैं स्क्रिप्टफाइल को डिफ़ॉल्ट लिंकर स्क्रिप्ट के रूप में उपयोग करें। यह विकल्प --script विकल्प के समान है, सिवाय इसके कि स्क्रिप्ट की प्रोसेसिंग विलंब हो जाती है जब तक कि शेष कमांड लाइन संसाधित नहीं हो जाती। यह लिंकर स्क्रिप्ट के व्यवहार को प्रभावित करने के लिए कमांड लाइन पर --default-script विकल्प के बाद दिए गए विकल्पों को अनुमति देता है, जो महत्वपूर्ण हो सकता है जब लिंकर कमांड लाइन सीधे उपयोगकर्ता द्वारा नियंत्रित नहीं हो सकती। (उदाहरण के लिए क्योंकि कमांड लाइन को अन्य उपकरण, जैसे जीसीसी द्वारा बनाया जा रहा है)। फ़ोर्स प्रतीक को एक अपरिभाषित प्रतीक के रूप में आउटपुट फाइल में दर्ज किया जाना है। ऐसा करना, उदाहरण के लिए, मानक पुस्तकालयों से अतिरिक्त मॉड्यूल जोड़ने से ट्रिगर किया जा सकता है। - u को अतिरिक्त अपरिभाषित प्रतीकों को दर्ज करने के लिए विभिन्न विकल्प तर्कों के साथ दोहराया जा सकता है। यह विकल्प EXTERN लिंकर स्क्रिप्ट आदेश के बराबर है। सी प्रोग्राम के अलावा अन्य किसी के लिए, यह विकल्प - आर के बराबर है यह पुनर्स्थापना उत्पादन उत्पन्न करता है अर्थात एक आउटपुट फाइल जो बदले में एलडी के इनपुट के रूप में सेवा कर सकती है। सी कार्यक्रमों को जोड़ने पर, - र, कन्स्ट्रक्टर के संदर्भों को हल करता है, - आर के विपरीत। यह उपयोग करने के लिए काम नहीं करता है - उपरी फाइलों पर जो यूआरएल के साथ जुड़ा हुआ था - उर एक बार कंस्ट्रक्टर तालिका का निर्माण किया गया है, इसे जोड़ा नहीं जा सकता। उपयोग करें- केवल अंतिम आंशिक लिंक के लिए, और दूसरों के लिए - r प्रत्येक इनपुट अनुभाग सेक्शन सेक्शन के लिए एक अलग आउटपुट अनुभाग बनाता है, या यदि हर वा अनाथ इनपुट अनुभाग के लिए वैकल्पिक वाइल्डकार्ड अनुभाग तर्क अनुपलब्ध है, तो एक अनाथ अनुभाग एक लिंकर स्क्रिप्ट में विशेष रूप से उल्लिखित नहीं है। आप कमांड लाइन पर इस विकल्प का कई बार उपयोग कर सकते हैं यह समान नाम वाले इनपुट वर्गों के सामान्य मर्जिंग को रोकता है, एक लिंकर स्क्रिप्ट में ओवरराइड आउटपुट अनुभाग असाइनमेंट। एलडी के लिए संस्करण संख्या प्रदर्शित करें। - V विकल्प में समर्थित इम्यूलेशन की सूची भी है। अन्य कीवर्ड को सोलारिस संगतता के लिए अनदेखा कर दिया जाता है - स्टार्ट-ग्रुप अभिलेखागार --एंड-समूह अभिलेखागार संग्रह फ़ाइलों की सूची होना चाहिए। वे या तो स्पष्ट फ़ाइल नाम, या - l विकल्प हो सकते हैं। निर्दिष्ट अभिलेखागार बार-बार खोज किए जाते हैं जब तक कि कोई भी नए अपरिभाषित संदर्भ नहीं बनाए जाते हैं। आम तौर पर, एक संग्रह को केवल एक बार क्रम में खोजा जाता है ताकि यह कमांड लाइन पर निर्दिष्ट हो। अगर उस संग्रह में प्रतीक को अनिर्धारित प्रतीक को हल करने के लिए आवश्यक होता है जिसे किसी ऑब्जेक्ट द्वारा एक आदेश में निर्दिष्ट किया जाता है जो बाद में कमांड लाइन पर प्रकट होता है, लिंकर उस संदर्भ को हल करने में सक्षम नहीं होगा। अभिलेखागार को समूहित करके, उन सभी को बार-बार खोजा जाता है जब तक कि सभी संभावित संदर्भों का समाधान नहीं हो जाता। इस विकल्प का उपयोग करना एक महत्वपूर्ण प्रदर्शन लागत है। दो या अधिक अभिलेखागार के बीच अपरिहार्य परिपत्र संदर्भ होने पर ही इसका उपयोग करना सबसे अच्छा होता है। लिंकर को इनपुट फ़ाइलों को स्वीकार करने के लिए कहता है जिनके आर्किटेक्चर को पहचाना नहीं जा सकता। धारणा यह है कि उपयोगकर्ता जानता है कि वे क्या कर रहे हैं और जानबूझकर इन अज्ञात इनपुट फ़ाइलों में लिंक करना चाहता है। रिलीज़ 2.14 से पहले यह लिंकर का डिफ़ॉल्ट व्यवहार था। रिलीज़ 2.14 के बाद से डिफ़ॉल्ट व्यवहार ऐसे इनपुट फाइलों को अस्वीकार करना है, और इसलिए - - सैप्ट-अनजान-इनपुट-आर्च विकल्प को पुराने व्यवहार को पुनर्स्थापित करने के लिए जोड़ा गया है। यह विकल्प - एएस-आवश्यक विकल्प के बाद कमांड लाइन पर वर्णित गतिशील पुस्तकालयों के लिए ELF DTNEEDED टैग को प्रभावित करता है। आम तौर पर लिंकर कमांड लाइन पर वर्णित प्रत्येक गतिशील लाइब्रेरी के लिए एक डीटीएनईईडीईड टैग जोड़ देगा, चाहे लाइब्रेरी वास्तव में जरूरी है या नहीं। - ए-आवश्यक एक पुस्तकालय के लिए उत्सर्जित एक डीटीएनईईडीड टैग का कारण बनता है जो नियमित ऑब्जेक्ट फ़ाइल से एक अनिर्धारित प्रतीक संदर्भ को संतुष्ट करता है या यदि पुस्तकालय उस बिंदु तक जुड़े अन्य पुस्तकालयों की DTNEEDED सूचियों में नहीं मिला है, तो एक अपरिभाषित प्रतीक संदर्भ एक अन्य गतिशील पुस्तकालय से - कोई भी आवश्यक नहीं डिफ़ॉल्ट व्यवहार को पुनर्स्थापित करता है इन दोनों विकल्पों को उनके नामों की समानता के कारण नापसंद कर दिया गया है - आवश्यक-और - नहीं-आवश्यक विकल्पों उन्हें प्रतिलिपि-डीटी-आवश्यक-प्रविष्टियों और --कोई-कॉपी-डीटी-आवश्यक-प्रविष्टियां द्वारा प्रतिस्थापित किया गया है। यह विकल्प SunOS संगतता के लिए उपेक्षा है गतिशील पुस्तकालयों के बारे में लिंक प्लेटफॉर्म्स पर यह केवल सार्थक है जिसके लिए साझा लाइब्रेरी समर्थित हैं। यह विकल्प सामान्यत: ऐसे प्लेटफ़ॉर्म पर डिफ़ॉल्ट होता है इस विकल्प के विभिन्न संस्करण विभिन्न प्रणालियों के साथ संगतता के लिए हैं। You may use this option multiple times on the command line: it affects library searching for - l options which follow it. Set the DF1GROUP flag in the DTFLAGS1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. --unresolved-symbolsreport-all is implied. This option is only meaningful on ELF platforms which support shared libraries. Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for - l options which follow it. This option also implies --unresolved-symbolsreport-all . This option can be used with - shared . Doing so means that a shared library is being created but that all of the librarys external references must be resolved by pulling in entries from static libraries. When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries. When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries. Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldnt be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. Include all global data symbols to the dynamic list. Provide the builtin dynamic list for C operator new and delete. It is mainly useful for building shared libstdc. Provide the builtin dynamic list for C runtime type identification. Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command line switch --check-sections . Section overlap is not usually checked for relocatable links. You can force checking in that case by using the --check-sections option. This option affects the treatment of dynamic libraries referred to by DTNEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker wont add a DTNEEDED tag to the output binary for each library mentioned in a DTNEEDED tag in an input dynamic library. With --copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DTNEEDED entries added. The default behaviour can be restored with --no-copy-dt-needed-entries . This option also has an effect on the resolution of symbols in dynamic libraries. With --copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DTNEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DTNEEDED links will be traversed to resolve symbols. Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. The remaining files contain references to the symbol. This option inhibits the assignment of addresses to common symbols. The script command INHIBITCOMMONALLOCATION has the same effect. The --no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using --no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution. Create a global symbol in the output file, containing the absolute address given by expression . You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ( ), and expression . These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECTNODEMANGLE is set. These options may be used to override the default. Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct dont use this unless you know what you are doing. Treat all warnings as errors. The default behaviour can be restored with the option --no-fatal-warnings . Make sure that an output file has a. exe suffix. If a successfully built fully linked output file does not have a. exe or. dll suffix, this option forces the linker to copy the output file to one of the same name with a. exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows wont run an image unless it ends in a. exe suffix. Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying --no-gc-sections on the command line. --gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See --entry and --undefined . This option can be set when doing a partial link (enabled with option - r ). In this case the root of symbols kept must be explicitly specified either by an --entry or --undefined option or by a ENTRY command in the linker script. List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the --gc-sections ) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying --no-print-gc-sections on the command line. Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUTFORMAT linker script command. Print a summary of the command-line options on the standard output and exit. Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files. Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linkers command line. The behaviour for shared libraries on their own can also be controlled by the -- no - allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option --warn-unresolved-symbols can change this to a warning. Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument gt 1 . plugin symbol status will also be displayed. Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported. Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples: A definition, which goes in the initialized data section of the output file. An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere. A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable. The --warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol. 1. Turning a common symbol into a reference, because there is already a definition for the symbol. 2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. 3. Merging a common symbol with a previous same-sized common symbol. 4. Merging a common symbol with a previous larger common symbol. 5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors. Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the DEC Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e. g. 16 bits ), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs. Only warn once for each undefined symbol, rather than once per module which refers to it. Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified that is, if the SECTIONS command does not specify a start address for the section. Warn if the linker adds a DTTEXTREL to a shared object. The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior. Here is a summary of the options you can use on the ld command line: This plethora of command-line options may seem intimidating, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello. o. This tells ld to produce a file called output as the result of linking the file libcrt0.o with hello. o and the library libc. a. which will come from the standard search directories. (See the discussion of the - l option below.) The command-line options to ld may be specified in any order, and may be repeated at will. Repeating most options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. The exceptions--which may meaningfully be used more than once--are - A. - b (or its synonym - format ), - defsym. - L. - l. - R. - u. and -( (or its synonym --start-group ). The list of object files to be linked together, shown as objfile. may follow, precede, or be mixed in with command-line options, except that an objfile argument may not be placed between an option and its argument. Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using - l. - R. and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files. If the linker can not recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using - T ). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. See sec tion Command Language. For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them. For options whose names are multiple letters, either one dash or two can precede the option name for example, --oformat and - oformat are equivalent. Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, --oformat srec and --oformatsrec are equivalent. Unique abbreviations of the names of multiple-letter options are accepted. - b input-format ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the - b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you dont usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump - i .) - format input-format has the same effect, as does the script command TARGET. See section BFD. You may want to use this option if you are linking files with an unusual binary format. You can also use - b to switch formats explicitly (when linking object files of different formats), by including - b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET see section Option Commands. - Bstatic Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. - Bdynamic Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. - Bsymbolic When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries. - c MRI-commandfile For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in section MRI Compatible Script Files. Introduce MRI script files with the option - c use the - T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any - L options. - d - dc - dp These three options are equivalent multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with - r ). The script command FORCECOMMONALLOCATION has the same effect. See section Option Commands. - defsym symbol expression Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script (see section Assignment: Defining Symbols ). Note: there should be no white space between symbol. the equals sign ( ), and expression. - embedded-relocs This option is only meaningful when linking MIPS embedded PIC code, generated by the - membedded-pic option to the GNU compiler and assembler. It causes the linker to create a table which may be used at runtime to relocate any data which was statically initialized to pointer values. See the code in testsuiteld-empic for details. - e entry Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. See section The Entry Point. for a discussion of defaults and other ways of specifying the entry point. - F - F format Ignored. Some older linkers used this option throughout a compilation toolchain for specifying object-file format for both input and output object files. The mechanisms ld uses for this purpose (the - b or - format options for input files, - oformat option or the TARGET command in linker scripts for output files, the GNUTARGET environment variable) are more flexible, but ld accepts the - F option for compatibility with scripts written to call the old linker. - format input-format Synonym for - b input-format . - g Ignored. Provided for compatibility with other tools. - G value - G value Set the maximum size of objects to be optimized using the GP register to size under MIPS ECOFF. Ignored for other object file formats. - help Print a summary of the command-line options on the standard output and exit. - i Perform an incremental link (same as option - r ). - l ar Add archive file archive to the list of files to link. This option may be used any number of times. ld will search its path-list for occurrences of lib ar. a for every archive specified. - L searchdir - L searchdir Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All - L options apply to all - l options, regardless of the order in which the options appear. The paths can also be specified in a link script with the SEARCHDIR command. Directories specified this way are searched at the point in which the linker script appears in the command line. - M Print (to the standard output) a link map--diagnostic information about where symbols are mapped by ld. and information on global common storage allocation. - Map mapfile Print to the file mapfile a link map--diagnostic information about where symbols are mapped by ld. and information on global common storage allocation. - m emulation - m emulation Emulate the emulation linker. You can list the available emulations with the --verbose or - V options. The default depends on how your ld was configured. - N Set the text and data sections to be readable and writable. Also, do not page-align the data segment. If the output format supports Unix style magic numbers, mark the output as OMAGIC. - n Set the text segment to be read only, and mark the output as NMAGIC if possible. - noinhibit-exec Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process it exits without writing an output file when it issues any error whatsoever. - no-keep-memory ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable. - o output Use output as the name for the program produced by ld if this option is not specified, the name a. out is used by default. The script command OUTPUT can also specify the output file name. - oformat output-format ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the - oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you dont usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump - i .) The script command OUTPUTFORMAT can also specify the output format, but this option overrides it. See section BFD. - R filename Read symbol names and their addresses from filename. but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. - relax An option with machine dependent effects. On some platforms, the - relax option performs global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes and synthesizing new instructions in the output object file. - retain-symbols-file filename Retain only the symbols listed in the file filename. discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments where a large global symbol table is accumulated gradually, to conserve run-time memory. - retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify - retain-symbols-file once in the command line. It overrides - s and - S. - r Generate relocatable output--i. e. generate an output file that can in turn serve as input to ld. This is often called partial linking . As a side effect, in environments that support standard Unix magic numbers, this option also sets the output files magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C programs, this option will not resolve references to constructors to do that, use - Ur. This option does the same thing as - i. - S Omit debugger symbol information (but not all symbols) from the output file. - s Omit all symbol information from the output file. - shared Create a shared library. This is currently only supported on ELF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the - e option is not used and there are undefined symbols in the link. - sort-common Normally, when ld places the global common symbols in the appropriate output sections, it sorts them by size. First come all the one byte symbols, then all the two bytes, then all the four bytes, and then everything else. This is to prevent gaps between symbols due to alignment constraints. This option disables that sorting. - split-by-reloc count Trys to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable for downloading into certain real time kernels with the COFF object file format since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. - split-by-file Similar to - split-by-reloc but creates a new output section for each input file. - stats Compute and display statistics about the operation of the linker, such as execution time and memory usage. - Tbss org - Tdata org - Ttext org Use org as the starting address for--respectively--the bss. data. or the text segment of the output file. org must be a single hexadecimal integer for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. - T commandfile - T commandfile Read link commands from the file commandfile. These commands replace ld s default link script (rather than adding to it), so commandfile must specify everything necessary to describe the target format. See section Command Language. If commandfile does not exist, ld looks for it in the directories specified by any preceding - L options. Multiple - T options accumulate. - t Print the names of the input files as ld processes them. - traditional-format For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program ( gdb has no trouble). The - traditional-format switch tells ld to not combine duplicate entries. - u symbol Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. - u may be repeated with different option arguments to enter additional undefined symbols. - Ur For anything other than C programs, this option is equivalent to - r. it generates relocatable output--i. e. an output file that can in turn serve as input to ld. When linking C programs, - Ur does resolve references to constructors, unlike - r. It does not work to use - Ur on files that were themselves linked with - Ur once the constructor table has been built, it cannot be added to. Use - Ur only for the last partial link, and - r for the others. --verbose Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. - v - V Display the version number for ld. The - V option also lists the supported emulations. - version Display the version number for ld and exit. - warn-common Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples: int i 1 A definition, which goes in the initialized data section of the output file. extern int i An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere. int i A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable. The - warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol. Turning a common symbol into a reference, because there is already a definition for the symbol. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. Merging a common symbol with a previous same-sized common symbol. Merging a common symbol with a previous larger common symbol. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. - warn-constructors Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors. - warn-once Only warn once for each undefined symbol, rather than once per module which refers to it. For each archive mentioned on the command line, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. - X Delete all temporary local symbols. For most targets, this is all local symbols whose names begin with L. - x Delete all local symbols. - y symbol Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but dont know where the reference is coming from. -( archives -) --start-group archives --end-group The archives should be a list of archive files. They may be either explicit file names, or - l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives. Go to the first. previous. आगामी। last section, table of contents.

No comments:

Post a Comment