कुछ समय पहले तक मेरा कोड बेस #include
नरक के बहुत करीब था। हर बार जब मैंने एक हल्के ढंग से महत्वपूर्ण भी बदल दिया। एच फाइल व्यावहारिक रूप से सभी फाइलों को पुनः संकलित कर दिया गया।
इस तरह के उच्च हेडर निर्भरता का मुख्य कारण यह था कि मेरे पास कई छोटे कार्य हैं जिन्हें इनलाइन होने की आवश्यकता है और मैं इस धारणा के तहत था कि काम करने के लिए इनलाइन के लिए उन्हें कॉलिंग कोड के समान अनुवाद इकाई में होना आवश्यक है, इसलिए उन्हें आवश्यकता है हेडर में होना अन्य शीर्षकों को संकलित करने के लिए इनलाइन फ़ंक्शन के लिए हेडर में भी शामिल होना आवश्यक है, विज्ञापन को न्यूनतम।सी ++: इनलाइन फ़ंक्शंस और लिंक टाइम कोड जनरेशन
link-time code generation (विजुअल स्टूडियो में) दर्ज करें। इसका मुख्य उल्लेख यह है कि अब इनलाइन फ़ंक्शन अनुवाद इकाइयों को पार कर सकता है।
लेकिन मैं अभी भी iffy हूँ। मैं वास्तव में कैसे सुनिश्चित कर सकता हूं कि ये कार्य वास्तव में रेखांकित हैं? मुझे एहसास है कि संकलक मूल रूप से जो कुछ भी चाहता है वह कर सकता है इससे कोई फर्क नहीं पड़ता कि मैं समारोह को परिभाषित करता हूं।
क्या इनलाइनों को जांचने का कोई तरीका है?
यह क्यों आवश्यक है कि इन कार्यों को रेखांकित किया गया हो? यह अजीब लगता है। आम तौर पर, आप कार्यों को रेखांकित करना चाहते हैं * जब यह प्रदर्शन * को लाभान्वित करता है, जो संकलक आमतौर पर – jalf
@ रूडिगर स्टीवंस से निर्धारित करने में सक्षम होता है - असल में, यह संभव है।/एलटीसीजी ध्वज पर वीसी ++ का 'PGINSTRUMENT' विकल्प देखें। http://msdn.microsoft.com/en-us/library/xbf3tbeh%28VS.80%29.aspx –