2012-10-28 16 views
7

सी ++ में मेरे पास यह है: http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspxक्या सी # पूर्वनिर्धारित प्रतीक हैं?

तो मैं कोड लिख सकता हूं जो केवल तब ही चलाएगा जब मैं डिबगिंग कर रहा हूं, या केवल विशिष्ट प्लेटफार्मों (पावरपीसी, एमआईपीएस, पावर मैकिंटोश आदि के लिए) यह अब समर्थित नहीं है लेकिन यह एक बहुत अच्छा उदाहरण है)। आप 32 बिट और 64 बिट सिस्टम के बीच भी स्विच कर सकते हैं (बेशक यह केवल तब उपयोगी होता है जब आप 2 अलग-अलग बिल्ड जारी कर रहे होते हैं, प्रत्येक अपने प्रोसेसर आर्किटेक्चर के साथ। सी # में यह एक दुर्लभ आवश्यकता है लेकिन फिर भी, है)।

तो मेरे सवाल का ऐसा ही कुछ सी # में मौजूद रहने पर है। मुझे पता है कोई मैक्रो देखते हैं, लेकिन फिर भी वहाँ प्रतीकों (यहां तक ​​कि एक ही #define कीवर्ड के साथ कर रहे हैं तो यह एक तरह से समझ बनाने -। मुझे कम से कम के लिए - यह है कि यह मौजूद होना चाहिए

उत्तर

6

नेट में Pre-processing directives हैं। । कोड के कुछ ब्लॉक केवल जब डीबगिंग, तुम कर सकते हो शामिल करने के लिए:।

#define Debug  // Debugging on 

class PurchaseTransaction 
{ 
    void Commit() { 
     #if Debug 
     CheckConsistency(); 
     #else 
     /* Do something else 
     #endif 
    } 
} 

आप, दृश्य स्टूडियो में सेटिंग्स को प्रोजेक्ट बिल्ड टैब की जाँच करने के लिए जाना है, तो वहाँ आप डीबग को परिभाषित करने और चयनित विन्यास के लिए स्थिरांक ट्रेस (जाँच कर सकते हैं डीबग बिल्ड के लिए डिफ़ॉल्ट) द्वारा। तुम भी अतिरिक्त सशर्त संकलन प्रतीकों को परिभाषित कर सकते हैं।

enter image description here

+0

लेकिन आप इसे पहली पंक्ति में परिभाषित किया .. यह पूर्वनिर्धारित नहीं है। (या आपने इसे सिर्फ प्रदर्शन के लिए लिखा है और प्रीप्रोसेसर स्वचालित रूप से करता है?) – MasterMastic

+1

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

+2

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

5

MSDN प्रलेखीकरण किसी भी पूर्व निर्धारित नामों की सूची नहीं है। ऐसा लगता है कि सभी को # परिभाषित करने और परिभाषित करने की आवश्यकता है।

Check IF here

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