बाइनरी / एल्फ प्रोग्राम को अलग करने का क्या मतलब है?


9

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


क्या यह सीपीयू या मेमोरी को बचाता है?

एम्बेडेड सिस्टम पर जहां भंडारण तंग है यह कुछ डिस्क स्थान बचाएगा।
7

स्मृति पर एक मूत बचाता है।
सिम्बियन

जवाबों:


8

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

सबसे बड़ी बाधा यह है कि यदि आप किसी समस्या में भाग लेते हैं तो यह डिबगिंग को और अधिक कठिन बना देता है।

सीपीयू गति के साथ एक आधुनिक प्रणाली में वे क्या हैं, और मेमोरी / डिस्क मात्रा वे क्या हैं, किसी भी तरह से प्रदर्शन पर एक बाइनरी स्ट्रिपिंग का बहुत कम व्यावहारिक प्रभाव होगा। यह वास्तव में डिबगिंग, "स्वच्छता" और व्यक्तिगत प्राथमिकताओं के बारे में है। कुछ लोग हमेशा उत्पादन या "शिप" किए गए सॉफ़्टवेयर के लिए छीन ली गई बायनेरी का उपयोग करना पसंद करते हैं। कुछ लोग हमेशा शामिल प्रतीकों को छोड़ना पसंद करते हैं, "बस के मामले में"।

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


2
जब तक आप 32MB NSLU2 जैसी मेमोरी-विवश, एम्बेडेड सिस्टम में हैं, तब तक सहमत रहें। रैम बाइट्स में प्रत्येक बाइट 10% और बाइनरी को शेविंग करना उन परिदृश्यों में बहुत आम है। मैं इसी तरह एक मरने या मरने की प्रक्रिया से जुड़ी gdb है और एक अपंग हो गया होगा यह unstripped प्रतीकों के लिए नहीं था। मेरा लेना यह है कि स्ट्रिपिंग सिंबल केवल मेमोरी संरक्षण और बेहतर कैश-लाइन उपयोग के लिए है। लेकिन उत्तरार्द्ध का परीक्षण करें क्योंकि अनुकूलन आपकी उम्मीदों को अनदेखा कर सकता है।
zerolagtime

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

0

आप परीक्षण के लिए डिबग प्रतीकों के साथ सॉफ्टवेयर संकलित कर सकते हैं और फिर तैनाती के लिए उन्हें बाहर निकाल सकते हैं। यदि आपके डिबगिंग के प्रतीकों में से कुछ को आप उजागर नहीं करते हैं, तो यह आपके लिए काम का हो सकता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.