8

मेरे पास एक बड़ी बाइनरी है जो कई स्थिर libs और स्टैंडअलोन सीपीपी फ़ाइलों से बना है। यह वृद्धिशील लिंकिंग का उपयोग करने के लिए कॉन्फ़िगर किया गया है, सभी अनुकूलन /Od द्वारा अक्षम किए गए हैं - यह डिबग बिल्ड है।वृद्धिशील लिंकिंग का कम प्रदर्शन

मैंने देखा कि यदि मैं कोई स्टैंडअलोन सीपीपी फ़ाइल बदलता हूं तो वृद्धिशील लिंकिंग तेजी से चलता है - 1 मिनट। लेकिन अगर मैं किसी भी स्थिर lib में किसी भी सीपीपी को बदलता हूं तो यह सामान्य लिंकिंग के साथ-साथ लंबे समय तक 10 मिनट तक चलता है। इस मामले में मुझे वृद्धिशील लिंकिंग से कोई फायदा नहीं होता है। क्या इसे तेज़ करना संभव है? मैं वीएस2005 का उपयोग करता हूं।

+0

क्या आप केवल वास्तविक .lib या हेडर फ़ाइल को बदलते हैं, उस अंतिम मामले में यह वास्तव में संभव नहीं है (लेकिन आप पीएच का उपयोग करने से कुछ लाभ देख सकते हैं)। – KillianDS

+0

मैं .lib से केवल एक cpp फ़ाइल बदल रहा हूं। – ks1322

+0

/yu और/Z7 विकल्पों के लिए .lib प्रोजेक्ट की जांच करें। –

उत्तर

7

अपनी परियोजना के लिए लिंकर सामान्य संपत्ति पृष्ठ में "Use Library Dependency Inputs" सेट करें। वह व्यक्तिगत .obj फ़ाइलों को निर्भरता से लिंक करेगा। Lib के बजाय .lib, जिसमें कुछ अलग दुष्प्रभाव हो सकते हैं।

+0

मैं मानता हूँ, इस स्थापना speeeding जोड़ने के लिए बहुत उपयोगी है। –

+1

हां - यह सीधे सवाल का जवाब देता है। मैं विजुअल स्टूडियो 2003 के साथ Xoreax Incredibuild नामक एक उत्पाद का उपयोग करता था; इसमें एक विशेषता है जिसे "Incredilink" कहा जाता है जो वास्तव में ऐसा करता था। निर्माण के समय को कम करने पर इसका बहुत बड़ा असर पड़ा। ऐसा प्रतीत होता है कि कार्यक्षमता सीधे विजुअल स्टूडियो 2005 में खींची गई थी। –

+0

@MSN धन्यवाद। मेरा प्रोजेक्ट प्रकार मेकफ़ाइल प्रोजेक्ट है। इस प्रकार के प्रोजेक्ट में कोई लिंकर प्रॉपर्टी पेज नहीं है। क्या मैं इस संपत्ति को वैसे भी सेट कर सकता हूं? या इसे लिंकर कमांड लाइन पर पास करें? उत्तर के लिए वैसे भी +1। – ks1322

2

मैं आपको एक अलग प्रकार का उत्तर देने जा रहा हूं। हार्डवेयर।

आपका विकास पर्यावरण क्या है? क्या कोई रैम पाने के लिए या अपनी परियोजना को सॉलिड स्टेट ड्राइव पर रखने के लिए वैसे भी है? मैंने पाया कि एक एसएसडी का उपयोग करके मेरी कार्य परियोजनाओं पर परिमाण के क्रम से मेरे लिंक समय बढ़ गए। संकलन के समय के लिए थोड़ा सा मदद की, लेकिन लिंकिंग बहुत बड़ी थी। पाठ्यक्रम की एक तेज प्रणाली प्राप्त करने में भी मदद मिली।

+0

+1। एसएसडी इसे तेज करेगा। रैम जैसे अन्य सुझावों के लिए लगभग -1 (लिंक करने वाली परियोजना कितनी बड़ी होनी चाहिए मुख्यधारा 2-4-6 जीबी रैम से अधिक की आवश्यकता है?) या तेज प्रणाली (आपका सिस्टम क्या मतलब है?) –

+0

आप इस बात पर हैरान होंगे सिस्टम की तरह लोग @ एंडी पर कोड करने का प्रयास करते हैं। जब मैंने पुराने डुअल कोर 2 गीग रैम विनएक्सपी बॉक्स से क्वाड कोर 8 जीआईजी विन 7 बॉक्स में अपग्रेड किया, तो सबकुछ थोड़ा तेज हो गया। एसएसडी के रूप में बड़ी वृद्धि नहीं है, लेकिन उल्लेखनीय अंतर है। एसएसडी स्टोरेज –

+0

+1। क्या आप इसकी पुष्टि करने के लिए एमएसडीएन या कुछ अन्य संसाधनों के लिंक प्रदान कर सकते हैं? मैं यह सुनिश्चित करना चाहता हूं कि स्थिर libs से ऑब्जेक्ट फ़ाइलों के साथ वृद्धिशील लिंकिंग असंभव है। – ks1322

0

यदि मैं सही ढंग से समझता हूं (कुछ वर्षों के लिए विजुअल स्टूओ का उपयोग करने के बाद), वृद्धिशील लिंकिंग सुविधा ऑब्जेक्ट फ़ाइलों के लिए काम नहीं करती है जो स्थिर पुस्तकालयों का हिस्सा हैं।

इसे हल करने का एक तरीका है अपने समाधान को पुन: स्थापित करना ताकि आपके एप्लिकेशन प्रोजेक्ट में सभी स्रोत फ़ाइलें हों।

+0

धन्यवाद के लिए – ks1322

+0

क्षमा करें, नहीं, यह टूल के साथ काम करने के अपने अनुभव पर आधारित है। – Lindydancer

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