Avatar ·

Rust में cfg का उपयोग करके यह कैसे जांचें कि प्रोजेक्ट release या debug मोड में बना है?

सभी को नमस्कार! मैंने अभी Rust सीखना शुरू किया है और Cargo पर एक छोटा प्रोजेक्ट लिख रहा हूँ। मुझे एक समस्या आई: मुझे debug बिल्ड में प्रोग्राम को कंसोल पर बहुत सारी डिबग जानकारी (जैसे TRACE स्तर के लॉग) प्रिंट करनी है, जबकि release बिल्ड में ये संदेश बिल्कुल नहीं दिखने चाहिए ताकि प्रदर्शन धीमा न हो। मुझे पता है कि C/C++ में इसके लिए `#ifdef DEBUG` जैसी प्रीप्रोसेसर डायरेक्टिव का उपयोग किया जाता है। Rust में मैंने `cfg!()` मैक्रो के बारे में सुना है, लेकिन मैं समझ नहीं पा रहा हूँ कि इस विशेष कार्य के लिए इसे सही तरीके से कैसे लागू किया जाए। यहाँ मेरे वर्तमान कोड का उदाहरण है: ```rust fn main() { let x = 42; println!("x = {}", x); // यहाँ मैं डिबग आउटपुट जोड़ना चाहता हूँ जो केवल debug बिल्ड में हो // println!("[DEBUG] x is: {}", x); // यह केवल debug में काम करना चाहिए } ``` मैंने `#[cfg(debug_assertions)]` लिखने की कोशिश की, लेकिन ऐसा लगता है कि यह मेरी अपेक्षा के अनुसार काम नहीं करता। शायद `#[cfg(not(release))]` का उपयोग करना चाहिए? या कोई विशेष फ्लैग है?