"C:/MinGW/mingw32/lib/gcc/mingw32/4.8.1/include"を追加し、再度実行。構文エラーを検知しました。AdLintのフォーラムから、size_tの構文エラーなるものを見つけたので、以下のことを行なってみる。狭義のコンパイラの各バージョン番号も表示します。前処理の終了時点において有効なマクロ定義の一覧だけを出力するよう指示します。`-E'オプションとともに使います。-ECプリプロセッサだけを実行します。指定された出力ファイルに出力します。すると、a.hとa.logの出力は以下のようになる。a.hとa.logの出力a.hに出力された内容をadlint_cinit.hにコピーし、さらに以下もadlint_cinit.hに追加する。(0)コンパイラのインクルードパスの設定a.logには、サーチパスが出力されている。これを元に、adlint_traits.ymlにある、compiler_traitsセクションのfile_search_paths:を修正する。構文エラーを検知しました。*/コンパイラの独自拡張の無効化さらに、コンパイラの独自拡張を無効化する設定というのを加えてみる。adlint_traits.ymlにある、compiler_traitsセクションのextension_substitutions:を修正する。構文エラーを検知しました。""ビンゴ!ついにエラーが消えた。XC32コンパイラは、gccベースのコンパイラである。そのため、前記の、MinGWに対して行った対処を実施する。XC32のstdio.hには次のようなマクロ定義があり、AdLintが止まってしまう。これを行うと、可変長引数を持つマクロ定義を削除してくれる。Amazon.co.jpでFORTHの本を探す?警告メッセージ以下のファイルに警告メッセージやメトリクスが保存されている。771、に対し、警告は、48種類443件。main.cの実際のステートメント数は、194。1行に2件の警告がある計算だ。配列の添字が領域外を指すことがあります。型のオブジェクトに変換されています。コメントの中で使われています。漢字と@はコメントに使っては駄目っぽい。宣言が、ヘッダファイルの中にありません。プロトタイプ宣言してあるだけなのだが。型に型変換されています。負の数になる可能性がある。定義は外部結合を持ちますが、定義より前にその宣言がありません。グローバル変数はヘッダでの宣言が必要になるらしい。文字列リテラルが直接使われています。確かに大規模なプログラムだとソースコードのあちこちに直接文字列があると、保守性が落ちるのかもしれない。なることがあるポインタに対して間接参照が行われています。付きで宣言できる可能性があります。確かに最初の代入後、値が変わらない。型に型変換されています。小さい方への代入は情報の損失がある。付きで宣言できる可能性があります。確かに値が変わらない。演算子の結果が式の中で使われています。オブジェクトを指すポインタ型として宣言できる可能性があります。符号付きの式の値がオーバーフローする可能性があります。型に型変換されています。戻り値を破棄しています。型に型変換されています。ポインタ型の変数に対して算術演算が行われています。型に型変換されています。ポインタ型の変数に対してインクリメントまたはデクリメントが行われています。二つ以上のファイルで宣言されています。代入演算子が論理演算式の中で使われています。複数の終了点があります。制御文字が見つかりました。この制御式は明示的な論理演算ではありません。型に型変換されています。型に型変換されています。型に型変換されています。一つの行に複数の宣言または文が存在します。関数形式マクロが定義されています。このマクロは、認識不可能なコードの断片を定義しています。構造体/共用体のメンバの他に、ラベル、タグ、または通常の識別子としても使われています。負の整数定数式が符号無し型に変換されています。char型を返す関数で-1を返している。型に型変換されています。構造体、共用体、あるいは配列の初期化子がリテラルではありません。このインクルードファイルには、インクルードガードが記述されていません。型に型変換されています。型に型変換されています。