मुझे अपने निष्पादन योग्य आकार ( ARMविकास) के आकार को अनुकूलित करने की आवश्यकता है और मैंने देखा कि मेरी वर्तमान बिल्ड स्कीम ( gcc+ ld) में अप्रयुक्त प्रतीकों को छीना नहीं जा रहा है।
arm-strip --strip-unneededपरिणामी निष्पादकों / पुस्तकालयों के लिए उपयोग निष्पादन योग्य का आउटपुट आकार नहीं बदलता (मुझे पता नहीं क्यों, शायद यह आपको पसंद नहीं है) ।
मेरी बिल्डिंग पाइपलाइन को संशोधित करने का तरीका (यदि यह मौजूद है) क्या होगा , ताकि अप्रयुक्त प्रतीकों को परिणामस्वरूप फ़ाइल से छीन लिया जाए?
मैं इसके बारे में सोच भी नहीं सकता, लेकिन मेरा मौजूदा एम्बेडेड वातावरण बहुत "शक्तिशाली" नहीं है और बहुत अच्छे लोडिंग प्रदर्शन को बढ़ावा देने में परिणाम से 500Kबाहर भी बचा रहा है 2M।
अपडेट करें:
दुर्भाग्य से वर्तमान gccसंस्करण मैं उपयोग नहीं है -dead-stripविकल्प और -ffunction-sections... + --gc-sectionsके लिए ldजिसके परिणामस्वरूप उत्पादन के लिए किसी भी महत्वपूर्ण अंतर नहीं देता है।
मैं हैरान हूं कि यह भी एक समस्या बन गई, क्योंकि मुझे यकीन था कि gcc + ldअप्रयुक्त प्रतीकों को स्वचालित रूप से पट्टी करना चाहिए (उन्हें भी क्यों रखना है?)।
boostपुस्तकालयों का उपयोग करते हैं, तो परिणामस्वरूप .exeफ़ाइल में कई अप्रयुक्त ऑब्जेक्ट फाइलें होती हैं और मेरे वर्तमान एम्बेडेड रनटाइम के विनिर्देशों के कारण। , किसी 10mbएप्लिकेशन को शुरू करना , उदाहरण के लिए, किसी 500kएप्लिकेशन को शुरू करने में अधिक समय लेता है ।