में खाली फ़ंक्शन मेरे पास एक बहुत ही मूल श्रेणी है, इसे मूल नाम दें, किसी अन्य प्रोजेक्ट में लगभग सभी अन्य फ़ाइलों में उपयोग किया जाता है। कुछ मामलों में, आउटपुट डीबग करने की आवश्यकता होती है, लेकिन रिलीज मोड में, इसे सक्षम नहीं किया जाना चाहिए और एनओयूपी होना चाहिए।सी ++ प्रदर्शन, कम्पाइलर को अनुकूलित करना, .cpp
वर्तमान में शीर्षलेख में परिभाषित किया गया है, जो सेटिंग के आधार पर एक निर्माता को चालू या बंद करता है। इसलिए यह निश्चित रूप से एक एनओओपी है, जब बंद हो जाता है। मैं सोच रहा हूं, अगर मेरे पास निम्न कोड है, यदि एक कंपाइलर (एमएसवीएस/जीसीसी) फ़ंक्शन कॉल को अनुकूलित करने में सक्षम है, तो यह फिर से एक एनओओपी है। (ऐसा करने से, स्विच .cpp में हो सकता है और स्विचिंग बहुत तेज़, संकलित/समयबद्ध रूप से लिंक हो जाएगा)।
--Header--
void printDebug(const Basic* p);
class Basic {
Basic() {
simpleSetupCode;
// this should be a NOOP in release,
// but constructor could be inlined
printDebug(this);
}
};
--Source--
// PRINT_DEBUG defined somewhere else or here
#if PRINT_DEBUG
void printDebug(const Basic* p) {
// Lengthy debug print
}
#else
void printDebug(const Basic* p) {}
#endif
शैतान के वकील: क्या इस साइट पर बड़ी संख्या में प्रश्नों को शामिल नहीं किया गया है? लोग यहाँ क्यों आते हैं? क्योंकि वे नहीं जानते हैं। और क्योंकि वे या तो नहीं जानते कि कैसे पता लगाना है (इस मामले में शायद वे असेंबली नहीं बोलते हैं), या वे बहुत आलसी हैं या ऐसा करने में जल्दी हैं। मेटा-प्रश्न: क्या हम आलसी/जल्दी लोगों को पट्टी करना चाहते हैं और केवल नली का उत्तर देना चाहते हैं जो वास्तव में नहीं जानते? कुछ अक्सर पूछे जाने वाले प्रश्नों से उलझन में पड़ सकते हैं (और उन पर छोड़ सकते हैं); कुछ मूल रूप से एक ही प्रश्न के लिए बार-बार पिंट्स प्राप्त करना पसंद कर सकते हैं। ओपी को कम से कम इस साइट (या google) की खोज की जानी चाहिए, हालांकि – Mawg
@mawg इसमें इस साइट के बहुत सारे उपयोग शामिल हैं, और मेरी राय है कि शायद यहां पोस्ट किए गए 50% प्रश्नों से नहीं पूछा जाना चाहिए। इसे विशेष रूप से बार-बार पूछा जाता है और मेरा जवाब ईमानदार है - हम यह नहीं बता सकते कि आपका अनुकूलक आपके कोड के साथ क्या करने जा रहा है, केवल आप ही ऐसा कर सकते हैं। –
(-1) तो फिर आपका उत्तर उपयोगकर्ता को वास्तव में "उपयोगी" नहीं है। आपने वास्तव में उनके प्रश्नों का उत्तर नहीं दिया है, भले ही यह एक उचित प्रश्न था या नहीं। वास्तव में, आपने डुप्लिकेट के रूप में बंद करने के लिए वोट नहीं दिया था। अगर मैं पूछता हूं कि "2 + 2 क्या है" और आप कहते हैं "इसे अपने लिए समझें" तो आप * सहायक नहीं हैं * और आप * सही * नहीं हैं। यह सच है कि मुझे इसे अपने लिए समझना चाहिए, लेकिन आपने ** मुझे उत्तर नहीं दिया है। आपकी प्रतिक्रिया एक टिप्पणी होनी चाहिए। – DevinB