gccにエラーのソースコード分析を実行させたいのですが、出力ファイルを書き込みません(splintの場合と同様)。私は現在この解決策を見つけました:
gcc -Wall -c source.c > NUL
オプションがあり-fsyntax-only
ます。これは、まさにあなたが望むものを意味します。
「コードに構文エラーがないか確認してください。ただし、それ以上のことはしないでください。」
/dev/null
このオプションは、出力として使用するよりも、OS間で少し移植性がありNUL
ます。
このオプションは、LLVMで使用されるclang C / C ++/ObjCフロントエンドでもサポートされていますclang-3.1 -fsyntax-only
。
更新:ただし、一部の警告は構文パーサーではなく、内部コンパイラーフェーズによって生成されることを知っておく必要があります。たとえば、構文パーサーは完全な制御フローを検出できず(オプティマイザーのみが検出します)、「制御が非void関数の終わりに到達しました」などの警告は-fsyntax-only
オプションで生成されません。
さて、あなたは出力をにリダイレクトすることができます/dev/null
gcc -o /dev/null ...