2

gccにエラーのソースコード分析を実行させたいのですが、出力ファイルを書き込みません(splintの場合と同様)。私は現在この解決策を見つけました:

gcc -Wall -c source.c > NUL
4

2 に答える 2

7

オプションがあり-fsyntax-onlyます。これは、まさにあなたが望むものを意味します。

「コードに構文エラーがないか確認してください。ただし、それ以上のことはしないでください。」

/dev/nullこのオプションは、出力として使用するよりも、OS間で少し移植性がありNULます。

このオプションは、LLVMで使用されるclang C / C ++/ObjCフロントエンドでもサポートされていますclang-3.1 -fsyntax-only

更新:ただし、一部の警告は構文パーサーではなく、内部コンパイラーフェーズによって生成されることを知っておく必要があります。たとえば、構文パーサーは完全な制御フローを検出できず(オプティマイザーのみが検出します)、「制御が非void関数の終わりに到達しました」などの警告は-fsyntax-onlyオプションで生成されません。

于 2012-04-29T21:48:27.660 に答える
3

さて、あなたは出力をにリダイレクトすることができます/dev/null

gcc -o /dev/null ...
于 2012-04-29T20:52:07.080 に答える