सी ++ मॉड्यूलर (अभी तक) होने के कारण, संकलन बाधाओं को अक्सर मुद्दों को शामिल करने के कारण होते हैं; जब उनकी आवश्यकता नहीं होती है तो बहुत सारी फाइलें शामिल कर रही हैं। यह भी संभव है कि इस समय पर आवश्यक है, लेकिन कुछ सरल पुनर्वितरण के साथ अनिवार्य हो सकता है।
- ज़रूरत से ज़्यादा शामिल पता लगाने के लिए, आप जाँच कर सकते हैं include-what-you-use, केवल मुद्दा आप होगा कि यह बजना के शीर्ष पर काम करता है, तो आप वहाँ कुछ सेटअप की आवश्यकता होगी।
- अन्यथा, आपको अपने कोड की समीक्षा करने की आवश्यकता है, और विशेष रूप से शीर्षलेख।
चूंकि उपकरण स्व-पर्याप्त और दस्तावेज है, इसलिए मुझे समीक्षा प्रक्रिया पर थोड़ा विस्तार करने दें।
- कोई भी शीर्षलेख जो
#include
से अधिक है, अत्यधिक संदिग्ध है।
- इसके विपरीत, यदि आपके पास एक स्रोत फ़ाइल है जो विभिन्न प्रकारों और कार्यों से भरा हुआ है और इसमें केवल कुछ जोड़े शामिल हैं, तो शायद इसका मतलब है कि हेडर में से एक बहुत अधिक लाता है।
यदि आपको यह जानने में परेशानी हो रही है कि क्या आवश्यक है, क्या नहीं है, और अनावश्यक हेडर को कैसे हटाया जाए, तो मैं Pimpls - Beauty Marks You Can Depend On पढ़ने की अनुशंसा करता हूं; यदि आपको नहीं पता कि एक पिंपल क्या है, तो Compilation Firewalls पढ़ें। हालांकि सावधानी बरतने की सलाह दी जाएगी, हालांकि, पिंपल में रनटाइम और रखरखाव लागत है, इसलिए इसे वास्तव में जरूरी होने पर ही इसका इस्तेमाल करें। व्यक्तिगत रूप से मैं पूरी तरह से उस पुस्तकालय के सार्वजनिक शीर्षकों में अनुशंसा करता हूं जो आप तृतीय पक्ष (एबीआई संगतता) को देते हैं, और अन्यथा इससे बचने की कोशिश करें।
तो मैनुअल निरीक्षण अपने विशेष क्षमता नहीं है, तो आप प्रत्येक हैडर के लिए पूर्वप्रक्रमक उत्पादन उत्पन्न कर सकते हैं (स्रोत के बारे में चिंता नहीं है बहुत ज्यादा फ़ाइलें), और बड़ा आउटपुट की जाँच करें।
स्रोत
2012-05-14 06:46:53
नहीं सीधे एक जवाब है, लेकिन आप पर समानांतर निर्माण बारी किया था? – dbrank0
सामान्य टिप्पणी में उन शीर्षलेखों को शामिल नहीं किया गया है जिनकी आपको आवश्यकता नहीं है। निर्माण समय के लिए सबसे बुरी चीज एक हेडर फ़ाइल है जिसे include.hpp कहा जाता है जिसमें आपको आवश्यक सभी संभावित शीर्षलेख फ़ाइलें शामिल होती हैं। मैंने देखा है कि ब्लोट फिर से संकलित समय। –
हार्डवेयर अपग्रेड के बारे में कैसे? –