क्या रिहाई मोड (वीसी ++) में जोर दिया गया है (झूठा)?रिलीज मोड (वीसी ++) में अनदेखा (झूठा) है?
उत्तर
रिलीज़ मोड में संकलन NDEBUG को परिभाषित करने में शामिल है, तो हाँ।
IIRC, जोर (एक्स) एक मैक्रो कि कुछ भी नहीं करने के लिए मूल्यांकन करता है जब NDEBUG परिभाषित किया गया है, जो रिलीज के लिए मानक दृश्य स्टूडियो में बनाता है।
सिर्फ अगर NDEBUG परिभाषित किया गया है मुझे लगता है कि (यह विजुअल C++ क्षुधा के लिए डिफ़ॉल्ट रूप से किया जाएगा जो)।
ज़ोर मैक्रो (कम से कम यह आम तौर पर एक मैक्रो है) आम तौर पर रिहाई कोड में कोई-op के परिभाषित किया गया है। यह केवल डीबग कोड में ट्रिगर होगा। यह कहने के बाद। मैंने उन स्थानों पर काम किया है जिन्होंने अपने स्वयं के जोर मैक्रो को परिभाषित किया है, और यह डीबग और रिलीज मोड दोनों में ट्रिगर हुआ है।
मैं उपयोग करने के लिए सिखाया गया था शर्त है जो "कभी नहीं" एक समारोह के लिए पूर्व शर्तों के रूप में, झूठी ऐसे हो सकता है के लिए दावा है।
मुझे लगता है कि यह एक गलती ज़ोर से सही व्यवहार पर बहुत अधिक भरोसा करने के लिए है देखें। "ज़ोर (expr)" का सही अर्थ विज्ञान हैं:
- अभिव्यक्ति expr या मूल्यांकन नहीं किया जा सकता है हो सकता है।
- यदि expr सत्य है, तो निष्पादन सामान्य रूप से जारी रहता है।
- यदि expr गलत है, तो क्या होता है अपरिभाषित।
सही अर्थ विज्ञान आईएसओ सी में वर्णित दावे सक्षम हैं, तो ('NDEBUG' सहित करने से पहले निर्धारित नहीं है'
पर अधिक जीएनयू के लिए एक ही:
#ifdef NDEBUG
# define assert(expr) (__ASSERT_VOID_CAST (0))
- 1. रिलीज मोड बनाम डीबग = "झूठा"
- 2. रिलीज मोड
- 3. रिलीज मोड में डीबग प्रतीकों
- 4. रिलीज मोड में अनंत लूप
- 5. रिलीज मोड में डीबग कैसे करें?
- 6. Debug.Assert रिलीज मोड
- 7. वीसी ++ में ढेर का आकार क्या है?
- 8. रिलीज मोड में संकलित NuGet परियोजनाओं पैकिंग?
- 9. रिलीज मोड में डीबग को लिखें
- 10. डीबग/रिलीज मोड में फ्लोट/डबल परिशुद्धता
- 11. कोड रिलीज बनाम डीबग मोड
- 12. 64 बिट वीसी ++ प्रोग्राम 32 बिट मोड
- 13. क्या डीबग.एस्र्ट रिलीज मोड में आईएल उत्पन्न करता है?
- 14. क्या स्टैकट्रैक जानकारी .NET रिलीज मोड बिल्ड में उपलब्ध है?
- 15. एनएलओजी रिलीज मोड में काम नहीं कर रहा है
- 16. मेरा एप्लिकेशन रिलीज मोड में क्यों क्रैश होता है लेकिन डीबग मोड में नहीं?
- 17. सी ++ एक 'बेहतर' रिलीज मोड वी.एस.
- 18. विजुअल स्टूडियो 2010 में डीबग मोड और रिलीज मोड के बीच क्या अंतर है?
- 19. रिलीज फ़ाइल
- 20. वीसी ++
- 21. वीसी ++
- 22. वीसी ++
- 23. वीसी ++
- 24. "डीबग जानकारी के साथ रिलीज" मोड में क्यूटी बनाएं?
- 25. प्रकाशित डीएलएल में डीबग/रिलीज मोड का निर्धारण करें? #DEBUG
- 26. आप रिलीज मोड में वेबसाइट क्यों नहीं बना सकते?
- 27. रिलीज मोड में पीडीबी से लाइन नंबर प्राप्त करना
- 28. कंसोल के साथ समस्याएं। रिलीज मोड में सेटऑट?
- 29. रिलीज मोड में TRACE मैक्रो को कैसे सक्षम करें?
- 30. विजुअल स्टूडियो - रिलीज मोड में संदर्भ को कैसे हटाएं
दस्तावेजों में कहा गया है "ज़ोर दिनचर्या सी चलाने के समय पुस्तकालयों के दोनों रिहाई और डिबग संस्करणों में उपलब्ध है।" Assert.h हेडर को देखते हुए, यह निश्चित रूप से सच है कि इसमें शामिल होने से पहले एनडीईबीयूजी को परिभाषित करने से जोर() को नो-ऑप में संकलित करने का कारण बन जाएगा। हालांकि, यह रिलीज मोड कोड के लिए पूरी तरह से संभव है जो एनडीईबीयूजी को निरस्त करने के लिए दावा करने के लिए परिभाषित नहीं करता है। मैं बस अपनी समझ को स्पष्ट करना चाहता था और जो मिला वह साझा करना चाहता था। –