के लिए सिस्टम सिस्टम आमतौर पर प्रोग्रामिंग करते समय बहुत सी चेतावनियां सक्षम करना पसंद करते हैं। हालांकि, कुछ पुस्तकालयों में कोड होता है जो आसानी से चेतावनियां (.., पायथन, क्यूटी, ..) का कारण बनता है। जीसीसी के साथ संकलन करते समय मैं बस इसके बजाए -सिस्टम का उपयोग कर सकता हूं- मैं इसे चुप करने के लिए। मैं एमएस कंपाइलर के साथ ऐसा कैसे कर सकता हूं? मुझे चेतावनी #pragma पता है, लेकिन मुझे एक समाधान चाहिए जो पूरे स्थान पर कंपाइलर विशिष्ट कोड शामिल नहीं करता है। मुझे यह भी पता है कि मैं विशिष्ट चेतावनियां बंद कर सकता हूं, लेकिन यह वही नहीं है जो मैं चाहता हूं।- एमएस विजुअल स्टूडियो सी ++ कंपाइलर
Btw: isystem इस सवाल का एक टैग होना चाहिए, लेकिन मुझे लगता है कि ऐसा करने के लिए अनुमति नहीं थी ..
सारांश: मैं अपने कोड से सभी चेतावनी, और बाहरी से कोई चेतावनी देखना चाहते हैं कोड।
भाग 1! मैंने सिर्फ यह समझने के लिए प्रश्न संपादित किया कि मेरा क्या मतलब था। समस्याग्रस्त शीर्षलेख समेत, आप वास्तव में #pragma को धक्का/पॉप चेतावनी स्तर 0 पर उपयोग कर सकते हैं, लेकिन यह वह नहीं है जिसे मैं ढूंढ रहा हूं। इस तरह आप बाकी फाइल के लिए चेतावनियां प्राप्त करेंगे। एक आदर्श समाधान, सिवाय इसके कि मैं इसे किसी भी कोड को बदलने के बिना करना चाहता हूं। (मैं वास्तव में यह नहीं समझ सकता कि यह एक आम बात नहीं है।) मैं बस इतना करना चाहता हूं कि पोर्टेबल कोड बनाएं और इसे विभिन्न परिवेशों में परीक्षण करें, बिना प्रत्येक कंपाइलर के लिए अलग प्रीप्रोसेसर तर्क डाले। – Mathias
भाग 2: यहां सिस्टम देखें: http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Preprocessor-Options.html#Preprocessor- विकल्प उस विकल्प का उपयोग करके आप प्रभावी ढंग से सभी को अक्षम कर देते हैं * डीआईआर * में किसी भी फाइल से चेतावनियां। इस तरह आप संकलक को बताते हैं कि आप क्या कोड हैं, या अधिक महत्वपूर्ण; आपका कोड * नहीं * क्या है। – Mathias
सीएल के लिए ऐसा कोई विकल्प नहीं है, या कम से कम एक दस्तावेज नहीं है ... "मैं वास्तव में समझ नहीं सकता कि यह एक आम बात नहीं है" -> अच्छी तरह से मैं समझ नहीं पा रहा हूं कि क्यूटी जैसी एक बड़ी परियोजना नहीं है यह उत्पन्न होने वाली चेतावनियों के टन से छुटकारा पाने का ख्याल रखता है। – stijn