] ऐसे अप्रयुक्त चर कई कारणों से होते हैं। इस पोस्ट में, हम कुछ सबसे आम कारणों को देखते हैं कि सी/सी कोड में अप्रयुक्त चर क्यों होते हैं। हम समीक्षा करते हैं कि अप्रयुक्त चर के बारे में संकलक को कैसे चेतावनी दी जाए, और विशिष्ट अप्रयुक्त चर के लिए चेतावनी को कैसे दबाया जाए।
क्यों चर अप्रयुक्त हैं
कई कारण हैं कि अप्रयुक्त चर एक कोड आधार में क्यों रह सकते हैं। इसमे शामिल है:
] चर जो कभी कोड के लिए महत्वपूर्ण थे, जैसे कि सहायक गणना के परिणाम, फिर पीछे छोड़ दिया जा सकता है, अप्रयुक्त।
] एक मानक उदाहरण एक चर है जो केवल डिबग उद्देश्यों के लिए परिभाषित किया गया है। आपके कोड में कुछ फॉर्म हो सकता है
कैसे अप्रयुक्त चर का पता लगाने के लिए ] उदाहरण के लिए, जीसीसी और क्लैंग में -वुन्यूस्ड -चर ध्वज है, जो अप्रयुक्त चर के बारे में चेतावनी देता है। ध्वज पहले से ही -wall चेतावनी विकल्प द्वारा निहित है, और इसे -wno -Unused -Variable के माध्यम से बंद किया जा सकता है।
] यह अप्रयुक्त चर के सभी उदाहरण होगा।] ऐसा करने का एक लोकप्रिय तरीका शून्य करने के लिए एक कास्ट है:
ऑब्जेक्ट UNUSED_OBJECT; (शून्य) unused_object;
#अप्रयुक्त (x) (शून्य) (x) को परिभाषित करें;
// ...
ऑब्जेक्ट UNUSED_OBJECT;
अप्रयुक्त (unused_object);
] इसके अलावा, यदि हम अप्रयुक्त चर के कोड को शुद्ध करने का निर्णय लेते हैं, तो उन्हें खोजना बहुत आसान है।
] उदाहरण के लिए, क्लैंग और जीसीसी चर विशेषता __attribute __ ((अप्रयुक्त)) के लिए अनुमति देते हैं। C 17 [[शायद_UNUSED]] विशेषता का समर्थन करता है:
const auto value = compute_some_value(); const auto value_for_comparison_only = compute_same_value_differently(); assert( value == value_for_comparison_only );उदाहरण के लिए, यह डिबग-केवल चर के लिए एक प्राकृतिक विशेषता है। विशुद्ध रूप से सौंदर्य संबंधी कारणों के लिए, मैं व्यक्तिगत रूप से एक मैक्रो #Define को परिभाषित करना पसंद करता हूं हो सकता है। ] यह
नहीं है शायद अप्रयुक्त
लेकिनबेकार चीजें रखना
]
तुलनात्मक रूप से, अप्रयुक्त चर को एक अच्छी रणनीति पर टिप्पणी कर रहा है? हमेशा नहीं! ऐसे कारण हैं कि आप विकास कोड और डिबगिंग चरण में एक अप्रयुक्त चर क्यों रखेंगे। मान लीजिए कि चर का उपयोग कोड के एक पिछले संस्करण में किया गया था, शायद आपने अभी तक यह तय नहीं किया है कि क्या पुराने कोड को आश्रय दिया जाना चाहिए या फिर से एकीकृत किया जाना चाहिए; अर्थ: आप नहीं जानते कि क्या आपको फिर से अप्रयुक्त चर की आवश्यकता हो सकती है।यह कोड रखने के लिए डिबगिंग उद्देश्यों के लिए सहायक हो सकता है
मुझे आशा है कि अप्रयुक्त चर के बारे में यह पोस्ट आपके लिए उपयोगी थी।
Object unused_object; (void)unused_object;
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3