संकलित करें मैं एक निष्पादन योग्य (ईएलएफ फ़ाइल) संकलित करने की कोशिश कर रहा हूं जो गतिशील लोडर का उपयोग नहीं करता है। मैंने एक क्रॉस कंपाइलर बनाया जो मैंने बनाया सिम्युलेटर पर लिनक्स से मिप्स को संकलित करता है। मैंने अपने hello.cpp फ़ाइल (हैलो वर्ल्ड प्रोग्राम) के संकलन पर ध्वज-स्टेटिक-libgcc जोर दिया। जाहिर है यह हालांकि पर्याप्त नहीं है। क्योंकि मेरे निष्पादन योग्य में अभी भी एक सेगमेंट है जिसमें गतिशील लोडर का नाम/पथ शामिल है। निष्पादन योग्य उत्पन्न करने के लिए मैं किस झंडे का उपयोग करता हूं जिसमें चलाने के लिए आवश्यक सब कुछ शामिल है? क्या मुझे अपने क्रॉस कंपाइलर का पुनर्निर्माण करने की ज़रूरत है?एक स्टैंडअलोन स्टेटिक निष्पादन योग्य
उत्तर
-static
ध्वज का उपयोग करने का प्रयास करें?
जोड़ने
-static -static-libgcc -static-libstdc++
सभी निर्भरता (यह मानते हुए जीसीसी) के स्थिर संस्करणों के खिलाफ लिंक करने के लिए इन तीन झंडे का प्रयोग करें निम्नलिखित झंडे का प्रयोग करें। ध्यान दें, कि कुछ स्थितियों में आपको जरूरी नहीं कि सभी तीन झंडे की आवश्यकता हो, लेकिन वे या तो "चोट" नहीं करते हैं। इसलिए बस तीनों को चालू करें।
जांच करें कि यह वास्तव में काम किया
यकीन है कि वास्तव में कोई गतिशील संबंध
ldd yourexecutable
लौटना चाहिए "एक गतिशील निष्पादन योग्य नहीं" या कुछ बराबर है कि वहाँ बनाओ।
सुनिश्चित करें कि कोई अनसुलझे प्रतीकों छोड़ दिया
nm yourexecutable | grep " U "
सूची खाली होना चाहिए या
केवल कुछ विशेष कर्नेल-स्थान प्रतीकों की तरहU __tls_get_addr
अंत में शामिल करना चाहिए, अगर आप की जाँच देखते हैं कि बनाओ वास्तव में आपके निष्पादन योग्य
यह स्वीकार्य उत्तर होना चाहिए! –
- 1. एक स्टैंडअलोन निष्पादन योग्य
- 2. स्टैंडअलोन रूबी निष्पादन योग्य
- 3. स्टैंडअलोन लुआ निष्पादन योग्य बनाना
- 4. एक स्टैंडअलोन एंड्रॉयड NDK निष्पादन
- 5. लिनक्स पर मोनो के साथ स्टैंडअलोन निष्पादन योग्य?
- 6. एक ईएलएफ निष्पादन योग्य
- 7. एक निष्पादन योग्य
- 8. matlab निष्पादन योग्य
- 9. निष्पादन योग्य
- 10. निष्पादन योग्य
- 11. निष्पादन योग्य
- 12. निष्पादन योग्य
- 13. निष्पादन योग्य
- 14. निष्पादन योग्य
- 15. निष्पादन योग्य
- 16. निष्पादन योग्य
- 17. निष्पादन योग्य
- 18. निष्पादन योग्य
- 19. एक निष्पादन योग्य सी प्रोग्राम
- 20. एक निष्पादन योग्य (नहीं नेट)
- 21. निष्पादन योग्य
- 22. निष्पादन योग्य
- 23. निष्पादन योग्य
- 24. सी # निष्पादन योग्य निष्पादन निर्देशिका
- 25. गैर निष्पादन निष्पादन योग्य फ़ाइल
- 26. स्टैंड-अलोन स्कैला निष्पादन योग्य कैसे बनाएं
- 27. अनचाहे निष्पादन योग्य
- 28. PyInstaller धीमी निष्पादन योग्य
- 29. .net निष्पादन योग्य
- 30. एंटीवायरस मेरे निष्पादन योग्य
क्या कोई अच्छा संसाधन वर्णन निष्पादित कर सकता है प्रत्येक जीसीसी झंडे के सटीक परिणाम में? मैं 100% निश्चित नहीं हूं कि मैं वास्तव में गतिशील लोडिंग अक्षम कर रहा हूं या नहीं। जब मैं -स्टैटिक का उपयोग करता हूं तब भी मेरे पास एक गतिशील लोडर का नाम होता है जो elf फ़ाइल के मेरे .interp खंड में रखा जाता है। –
http://gcc.gnu.org/onlinedocs/gcc/Option-Index.html मैं एक ऑपरेटिंग सिस्टम लिखता था जो एल्फ़ एक्जिक्यूटिव लोड करता है और मैं पुष्टि कर सकता हूं कि -स्टैटिक ध्वज काम करता है, बस एलडी से संबंधित सामानों को अनदेखा करें और निष्पादन योग्य प्रविष्टि बिंदु पर सीधे कूदें – Tomaka17
मैंने कुछ कॉन्फ़िगरेशन विकल्प "-डिसेबल-साझा" का उपयोग करने के बारे में कुछ पढ़ा है। क्या एक स्टैंडअलोन निष्पादन योग्य संकलन करना आवश्यक नहीं है? –