2011-02-15 13 views
8

According to MSDN विज़ुअल सी ++ सी 4711 चेतावनी उत्सर्जित कर सकता है: फ़ंक्शन एक्स इनलाइन विस्तार के लिए चुना गया है यदि संकलक इनलाइन को फ़ंक्शन इनलाइन करने का निर्णय लेता है।सी 4711 "इनलाइन विस्तार के लिए चयनित फ़ंक्शन" का उपयोग क्या है दृश्य सी ++ चेतावनी?

मुझे नहीं पता कि यह चेतावनी कैसे उपयोगी हो सकती है। मान लीजिए कि मैं अपना कोड संकलित करता हूं और यह चेतावनी देखता हूं। अब क्या? मुझे परवाह क्यों होगी?

+0

मुझे सच में यकीन नहीं है कि लोग जवाब पोस्ट क्यों कर रहे हैं कि यह "मेरे डिफ़ॉल्ट पर नहीं है"। नहीं, विजुअल स्टूडियो स्तर 3 चेतावनी के लिए डिफ़ॉल्ट है। मैं * हमेशा * इसे '/ Wall' में बदलता हूं। मैंने कभी सोचा नहीं कि हर किसी ने ऐसा नहीं किया ... यह एक अच्छा सवाल है; एकमात्र स्पष्टीकरण जिसके साथ मैं आने में सक्षम हूं, यह आपको कुछ सूक्ष्म बग इनलाइनिंग में संकेत दे सकता है (लेकिन यह काफी दर लगता है)। –

उत्तर

11

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

यह पूरी तरह से जानकारीपूर्ण है।

+2

+1, अच्छी जानकारीपूर्ण प्रतिक्रिया! ;) – sjr

+0

कोई उम्मीद कर सकता है कि पूरी तरह से सूचनात्मक संदेश संकलन को रोक नहीं पाएगा जब// आतंक '(या जो भी एमएस स्विच, मुझे याद नहीं आ रहा है) चालू है:/ –

+1

@Matthieu: यदि आप इसे चाहते हैं, तो यह होगा । ज्यादातर लोग नहीं चाहते हैं, यही कारण है कि यह डिफ़ॉल्ट रूप से बंद है। लेकिन अगर आपको लगता है कि संकलन रोकने के लिए यह एक महत्वपूर्ण पर्याप्त चेतावनी है, तो आप चेतावनी को चालू करने के लिए स्वतंत्र हैं। –

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