2011-04-13 6 views
6

मैं कैसे एक भूल वापसी कथन के लिए जीसीसी चेतावनी चालू करूं?कैसे एक भूल वापसी कथन के लिए जीसीसी चेतावनी चालू करने के लिए?

यह मेरा पीछा तरह के मामलों में चेतावनी देने के लिए माना जाता है:

int foo() { 
    std::cout << "haha"; 
} 

मैं जानता हूँ कि -Wall उस पर चेतावनी बदल जाता है, लेकिन यह भी कई अन्य चेतावनी सक्षम बनाता है।

+0

आप का प्रयास किया था -Wextra/-ansi/-pedantic? – halfdan

+14

'-Wall' भी कई अन्य चेतावनी सक्षम बनाता है? यह पहला है। – GManNickG

+0

यदि आपके पास है - बहुत अधिक चालू हो जाएंगे, तो वैकल्पिक विकल्प उन लोगों को स्विच करना होगा जो आपकी कोडिंग शैली के अनुरूप नहीं हैं। हालांकि मैं सुनने के लिए कौन-कौन से है कि आप अपने कोड में समस्याओं के बारे में बहुमूल्य राय देना नहीं है उत्सुक होगा। –

उत्तर

18

जीसीसी के online documentation के अनुसार, -Wall चालू हो जाती है:

 -Waddress 
     -Warray-bounds (only with -O2) 
     -Wc++0x-compat 
     -Wchar-subscripts 
     -Wenum-compare (in C/Objc; this is on by default in C++) 
     -Wimplicit-int (C and Objective-C only) 
     -Wimplicit-function-declaration (C and Objective-C only) 
     -Wcomment 
     -Wformat 
     -Wmain (only for C/ObjC and unless -ffreestanding) 
     -Wmissing-braces 
     -Wnonnull 
     -Wparentheses 
     -Wpointer-sign 
     -Wreorder 
     -Wreturn-type 
     -Wsequence-point 
     -Wsign-compare (only in C++) 
     -Wstrict-aliasing 
     -Wstrict-overflow=1 
     -Wswitch 
     -Wtrigraphs 
     -Wuninitialized 
     -Wunknown-pragmas 
     -Wunused-function 
     -Wunused-label  
     -Wunused-value  
     -Wunused-variable 
     -Wvolatile-register-var 
उन में से

, -Wreturn-type लगता है जैसे कि यह चाल करना होगा:

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

हालांकि, अगर -Wall को चालू करने के लिए अपने कोड बनाता है जिस तरह से भी कई चेतावनी है, मैं अपने कोड को फिक्सिंग की सलाह देते हैं!

+5

+1! –

-1

हमेशा का उपयोग करें:

जीसीसी जी -ansi -pedantic -Wall -ओ

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