結論から言うと、AdLintで静的解析してもあんまり意味なかった。
- インストールも使い方もそこそこ簡単
- 出てくるメッセージも読みやすい
- mallocのfree忘れ、openのclose忘れなどは検知しない
- gccでWarningレベルガン上げにした方がずっと役立つ
- そもそも AdLint の開発がもう止まっている
インストール
AdLint - Browse /adlint/3.2.14 at SourceForge.net
sourceforgeからtar.gzをダウンロードし、適当なところに展開し adlint/bin にパスを通す。
解析準備
解析したいソースをフォルダごとどこかに用意する
フォルダ内で次のコマンドを実行
adlintize
GNUmakefile と、adlint_* というファイルが生成される。
このうち、 adlint_traits.yml というファイルにインクルードパスを書くところがあり
これに書かないと /use/include すら検知してくれないので適当に書く
compiler_traits: initial_header: "adlint_cinit.h" # Compiler specific include paths. # Ex. # file_search_paths: # - "/usr/include" # - "/usr/local/include" file_search_paths: - "/usr/include" # ★これとか - "/usr/include/linux" # ★これとか