sprintf का उपयोग करते समय, संकलक मुझे चेतावनी देता है कि फ़ंक्शन को बहिष्कृत किया गया है।मेरी खुद की कंपाइलर चेतावनी जोड़ें
मैं अपनी खुद की कंपाइलर चेतावनी कैसे दिखा सकता हूं?
sprintf का उपयोग करते समय, संकलक मुझे चेतावनी देता है कि फ़ंक्शन को बहिष्कृत किया गया है।मेरी खुद की कंपाइलर चेतावनी जोड़ें
मैं अपनी खुद की कंपाइलर चेतावनी कैसे दिखा सकता हूं?
Visual Studio में,
#pragma message ("Warning goes here")
एक तरफ ध्यान दें, यदि you want to suppress such warnings, संकलक चेतावनी आईडी मिल (पदावनत चेतावनी के लिए, यह C4996
है) और इस लाइन डालने:
#pragma warning(disable : 4996
)
यह बिल्कुल ठीक नहीं करता है जो मार्टिन चाहता है, हालांकि - वह चाहता है कि जब कार्य संकलित हो, तो यह कार्य चेतावनी जारी नहीं किया जाता है, जब इसे संकलित नहीं किया जाता है। –
मुझे लगता है कि मेरा प्रश्न किसी भी तरह से पढ़ा जा सकता था (इसके लिए खेद है!), लेकिन यह वही था जो मैं ढूंढ रहा था। – Warpin
लिंक केवल उत्तर * और * लिंक मान्य भी नहीं है। :-( – TobiMcNamobi
फ़ंक्शन को बहिष्कृत करने के लिए चिह्नित करने के लिए, __declspec(deprecated)
का उपयोग करें, उदा।
__declspec(deprecated) void f();
मुझे लगता है कि ओपी वास्तव में चाहता था। – LiraNuna
वह अपनी चेतावनी दिखाने के लिए कहता है, एक विशिष्ट * बहिष्कृत * चेतावनी नहीं। –
हालांकि इसका कोई मानक #warning
directice, कई compilers (जीसीसी, कुलपति, इंटेल और सेब सहित) है, समर्थन #warning message
।
#warning "this is deprecated"
अक्सर यह बेहतर है न केवल एक चेतावनी है (जो लोगों को नजरअंदाज कर सकते हैं) को लाने के लिए है, लेकिन पूरी तरह से असफल संकलन, #error
निर्देश (जो मानक है) का उपयोग करने देने के लिए:
#if !defined(FOO) && !defined(BAR)
# error "you have neither foo nor bar set up"
#endif
एमएसवीसी ++ 2013 इसका समर्थन नहीं करता है। –
यह नहीं देख सकता कि यह काम करता है एमएसवीसी ++ 2015 या 2017 में या तो – Zitrax
में कुलपति आप चेतावनी संकलन के अंत में चेतावनी गिनती में दिखाने के लिए चाहते हैं, तो आप इस स्वरूप का उपयोग करने की आवश्यकता है:
#pragma message(": warning<put what you like here>: blah blah blah")
महत्वपूर्ण अनुक्रम है: पेट, अंतरिक्ष, "वा रिंग ", कुछ या कुछ नहीं, कोलन," आपका चेतावनी पाठ "
यदि आप फैंसी बनना चाहते हैं तो फ़ाइल और लाइन नंबर को पहले कोलन से पहले जोड़ा जा सकता है ताकि आप कोड पर कूदने के लिए इसे डबल क्लिक कर सकें (microsoft.com से):
// pragma_directives_message1.cpp // compile with: /LD #if _M_IX86 >= 500 #pragma message("_M_IX86 >= 500") #endif #pragma message("") #pragma message("Compiling " __FILE__) #pragma message("Last modified on " __TIMESTAMP__) #pragma message("") // with line number #define STRING2(x) #x #define STRING(x) STRING2(x) #pragma message (__FILE__ "[" STRING(__LINE__) "]: test") #pragma message("")
धन्यवाद - इसे अपडेट किया है और इसे कॉपी किया है - मुझे लगता है कि यह वही पृष्ठ है, लेकिन यह थोड़ी देर पहले था! – noelicus
मुझे लगता है कि यह काम करना चाहिए
void foo() __attribute__ ((deprecated("This function is deprecated. \nFor further information please refer to the README")));
क्या sprintf बहिष्कृत किया जा रहा है इस सवाल के साथ क्या करना है? –
बस एक कंपाइलर चेतावनी का एक उदाहरण जिसे "उपयोगकर्ता" द्वारा रखा गया था और पूरी तरह से संकलक द्वारा उत्पन्न नहीं किया गया था। – Warpin