VCのclでコンパイルするときに警告レベルを最大にする

今までずっと小さなコードばかり書いていたのでいちいちVC使うのが面倒臭くてclでコマンドラインからコンパイルしていました。

でそうするとstdio.hとかincludeし忘れててもprintfが動くんですよね。

なんだか嫌だなぁとは思いつつもそのままにしていたのですがさっきclのヘルプを確認したところWallというオプションで警告レベルを最大にしてくれるというのがわかりました。

cl /Wall main.c

こんな感じですね。

でさっそく試してみたんですがstdio.h読み込むと警告が出るようになりましたorz

stdio.h(381) : warning C4255: '_get_printf_count_output' : 関数プロトタイプがありません : '()' を '(void)' に変換します。

どうも引数無しの関数を定義するときは()じゃなくて(void)と書かないと警告になるみたいなのです。

そして標準ライブラリのクセして(void)って書いてないんですよね・・・。

この警告毎回でるとさすがにウザイのですがどうしたものでしょうか。

警告レベルは最大にしておきたいんでなんとかならないですかね。

stdio.hを書き換えちゃう?

うーん、嫌過ぎます。


追記

超微妙だけど(void)の警告だけ無視するという手もあるかな。

cl /Wall /wd 4255 main.c

wdコマンドで特定の警告を無視できる。