2010-12-20 9 views
14

आर फ़ाइल नामक्या गैर-जीएनयू लिंकर्स के लिए जीएनयू लिंकर "--just-symbols" विकल्प के बराबर है?

--just-प्रतीकों = फ़ाइल नाम

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

उदाहरण के लिए, पर मेरी मैक, ld -R libsomething.a या यहाँ तक कि gcc -Wl,-R,libsomething.a काम नहीं करता।

+1

त्रुटि संदेश क्या है? –

+9

निश्चित रूप से उत्तर उस गैर-जीएनयू लिंकर पर निर्भर करेगा जिस पर आप उपयोग करते हैं, क्योंकि तर्कों को लागू किए गए विशिष्ट लिंकर द्वारा संसाधित किया जाता है। –

+1

आपको क्या त्रुटि संदेश प्राप्त हो रहा है; आप किस लिंकर और संस्करण का उपयोग कर रहे हैं? – Unsigned

उत्तर

2

चूंकि आप "अपने मैक" के बारे में बात कर रहे हैं, मुझे लगता है कि हम ओएस एक्स ऑपरेटिंग सिस्टम के बारे में बात कर रहे हैं।

यूनिक्स-आधारित सिस्टम पर लिंकर "ld" (with -R विकल्प) का उपयोग ज्यादातर बार किया जाता है (यह भी देखें: ELF)। इसके विपरीत ओएस एक्स सिस्टम Mach-O बाइनरी प्रारूप और टूलिंग के लिए टूल dyld का उपयोग करते हैं। ओएस एक्स यूनिक्स के रूप में पुस्तकालयों के लिए समान सुविधाएं प्रदान नहीं करता है। पुस्तकालयों की अपेक्षा की जाती है यह देखने के लिए otool -L बाइनरी पर आज़माएं। आप अपनी बाइनरी के लिए DYLD_LIBRARY_PATH (man dyld) सेट करने का प्रयास भी कर सकते हैं लेकिन सुरक्षा जोखिम को ध्यान में रखें (इसका उपयोग यूनिक्स-सिस्टम पर LD_LIBRARY_PATH जैसे कोड इंजेक्ट करने के लिए किया जा सकता है)।

संबंधित मुद्दे