例えば以下は具体例。ユーザー名は隠して*****。
*****@Gushnasaph:~$ gcc --versionとっても適当に書いてやってみた。
gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*****@Gushnasaph:~$ cat op-test.c
#include<stdio.h>
int main(int argc,char **argv)
{
int a,b,c,d;
if(a >= b >= c) printf("a >= b >= c\n");
if(a = b);
printf("Hello,world!\n");
return 0;
}
*****@Gushnasaph:~$ gcc -W op-test.c
op-test.c: In function ‘main’:
op-test.c:9: 警告: empty body in an if-statement
*****@Gushnasaph:~$ gcc -Wall op-test.c
op-test.c: In function ‘main’:
op-test.c:8: 警告: X<=Y<=Z の様な比較は数学的な意味での結果をもたらしません
op-test.c:9: 警告: 真偽値として使われる代入のまわりでは、丸括弧の使用をお勧めします
op-test.c:6: 警告: unused variable ‘d’
*****@Gushnasaph:~$ gcc -W -Wall op-test.c
op-test.c: In function ‘main’:
op-test.c:8: 警告: X<=Y<=Z の様な比較は数学的な意味での結果をもたらしません
op-test.c:9: 警告: 真偽値として使われる代入のまわりでは、丸括弧の使用をお勧めします
op-test.c:9: 警告: empty body in an if-statement
op-test.c:6: 警告: unused variable ‘d’
op-test.c: トップレベル:
op-test.c:3: 警告: unused parameter ‘argc’
op-test.c:3: 警告: unused parameter ‘argv’
*****@Gushnasaph:~$ gcc -w -Wall op-test.c
*****@Gushnasaph:~$ gcc op-test.c
*****@Gushnasaph:~$
例えば-Wを追加した事により"argc,argvが使われてねえぞ(#゚Д゚)ゴルァ!!"てなことを言ってくれている。
-Wallって全然allじゃない。
ちなみに最後の-wは-WのWを大文字でなく小文字にしてしまい、-wとすると警告を吐かなくなってしまうということ。
詳しくはman gccでもやって確認してくださいな。
0 件のコメント:
コメントを投稿