2012-07-12 13 views
7

मैं एक पुस्तकालय परियोजना आ रही हैं उत्पन्न करें, मैं हमेशा लिया है "Strip Debug Symbols" रिहाई के लिए चालू कर बनाता हैXCode LLVM + जीसीसी 4.2 - डीबग चिह्न

मैं हाल ही में "Generate Debug Symbols" झंडा देखा। जब मैं "Generate Debug Symbols" ध्वज को सेट करता हूं तो मेरे लाइब्रेरी का आकार 30%

रिलीज़ बनाने के लिए यह उचित अनुकूलन है?

क्या "पट्टी डीबग चिह्न" और के बीच अंतर "उत्पन्न डीबग चिह्न" विकल्प, आदर्श अगर मैं पट्टी डिबग प्रतीकों नहीं सब उत्पन्न डिबग प्रतीकों दूर जाना होगा है? मैं यह अंतर क्यों देख रहा हूं?

इसके अलावा बाइनरी आकार को कम करने के लिए -ओएस (सबसे तेज़, सबसे छोटा) के अलावा अन्य अनुकूलन क्या कर सकते हैं?

"Strip Linked Product" कैसे काम करता है?

+0

मुझे इस लिंक से बहुत अच्छी समझ मिली है, लेकिन मुझे अभी भी इसे समझाने के लिए किसी से प्यार होगा .. http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference /build_setting_ref.html – Santthosh

उत्तर

2

बाइनरी फ़ाइल आकार को कम करने के संबंध में, यह कैसे मेरी रिहाई विन्यास फाइल बाइनरी को अनावृत करना के विषय में की तरह लग रहा है और मुझे लगता है कि कैसे सबसे डेवलपर्स यह करना है:

DEPLOYMENT_POSTPROCESSING = YES 
COPY_PHASE_STRIP = NO (not necessary since my copied binaries are already stripped and codesigned) 
STRIP_INSTALLED_PRODUCT = YES 
STRIP_STYLE = all 
SEPARATE_STRIP = YES 
DEAD_CODE_STRIPPING = YES 
GCC_GENERATE_DEBUGGING_SYMBOLS = NO 

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

मुझे बाइनरी आकार को और भी कम करने के लिए कोई अन्य तरीका नहीं मिला है। वहां "DEPLOYMENT_POSTPROCESSING" ध्वज नोट करें - बाइनरी आकार इसके बिना बहुत बड़ा होगा और उदाहरण के लिए सभी सी फ़ंक्शंस को नहीं हटाया जाएगा।

+0

प्रश्न का पूरी तरह उत्तर नहीं देता है। "स्ट्रिप डीबग सिंबल" और "डीबग सिंबल जेनरेट करें" के बीच क्या अंतर है? उनके नाम से, वे ध्वनि की तरह लगता है कि वे एक-दूसरे से विरोधाभास करते हैं। विशिष्ट एक्सकोड बकवास आईएमओ। – Ash

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