2011-04-13 17 views
6

Unutulan bir getiri beyanı için gcc uyarılarını nasıl açarım?Unutulan bir getiri beyanı için gcc uyarıları nasıl açılır?

Aşağıdaki gibi durumlarda beni uyarmak gerekiyordu:

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

Ben -Wall üzerinde uyarı dönüşler biliyorum, ama çok çok diğer uyarılar sağlar.

+0

sen -Wextra/-ansi/-pedantic denediniz mi? – halfdan

+14

'-Wall' çok fazla uyarı veriyor mu? Bu bir ilk. – GManNickG

+0

Eğer çok fazla -Çalışıyorsanız, bir alternatif sizin kodlama stilinize uymayan özel olanları değiştirmek olacaktır. Sahip olduğunuz bilgileri duymanıza rağmen, kodunuzdaki sorunlar hakkında size değerli geri bildirimler vermez. –

cevap

18

gcc en online documentation göre, -Wall açar: olanların sayısı

 -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 hile yapmak olur gibi görünüyor:

bir işlev dönüş tipi ile tanımlanır zaman uyar bu varsayılanı int. Ayrıca, , dönüş türü geçersiz olmayan (işlev gövdesinin sonunun düşmesi bir değer olmadan geri döndürülen olarak kabul edilir) herhangi bir dönüş değeri olmayan herhangi bir dönüş bildirimi hakkında uyarır. ve bir ifadeyle bir dönüş ifadesi hakkında dönüş tipi geçersiz olan işlev. -Wall açarak kodunuzu yaparsa

Ancak yol çok sayıda uyarılar var, ben kodunuzu sabitleme öneriyoruz!

+5

+1! –

-1

daima kullanın:

gcc -g -ansi -pedantic -Wall -o