小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


フリーのC/C++向け静的コード解析ツールCppCheckの使い方

はじめに

C/C++の静的コード解析ツールの1つにCppCheckがあります。この記事では、CppCheckのインストールからコード解析までの手順について書いています。

ソフトウェアのバージョン

今回は以下の環境で動作させてみました。

  • Windows 7 Pro
  • Cppcheck 1.5.3
Cppcheckの入手とインストール

Cppcheckの入手とインストールは、以下のサイトを参照してください。

ファイル単位でチェックする

はじめに、コマンドプロンプトを起動します。
cppcheckでコード解析を行うには、以下のコマンドを実行します。

cppcheck --enable=all Sample01.cpp
>Checking Sample01.cpp...
>Checking usage of global functions..
Cppcheckのチェックの種類

上記の例では、 --enable=allですべてのチェックを有効にしています。--enableオプションには、他にも以下のような指定ができます。

  • all:すべてのチェックを有効にします。
  • style:コーディングスタイルのチェックをします。
  • performance:パフォーマンスに関する通知を行います。
  • portability:64bit環境への移植性に関する通知を行います。
  • information:インフォメーションを通知します。
  • unusedFunction:使用されていない関数を通知します。
  • missingInclude:見つからないインクルードファイルを通知します。見つからないインクルードファイルの警告が表示された場合は、--check-configを使用すると、どのインクルードファイルがエラーになっているかが分かります。

--enableオプションに複数の指定を行う場合は、カンマでつなげて指定します。

フォルダ単位でチェックする

フォルダ単位でチェックする場合は、引数にフォルダ名を指定します。

cppcheck --enable=all Sample01
>Checking Sample01\Sample01.cpp...
>1/2 files checked 48% done
>Checking Sample01\stdafx.cpp...
>2/2 files checked 100% done
>Checking usage of global functions..
インクルードファイルパスを指定する

インクルードファイルが同じディレクトリに存在しない場合は、-iオプションでインクルードファイルのパスを指定することができます。

cppcheck -i .\INCLUDE --enable=all hoge.cpp
より詳細な情報が欲しいとき

エラーの内容がよくわからなくて、より多くの情報が欲しい場合は-vまたは--verboseオプションを指定すると、より詳細な情報を出力することができます。

Visual Studioと連携する

Visual Studioと連携させて使いたい場合は、以下のエントリを参照してください。

Microsoft Visual Studio 2010 Professional アップグレード
マイクロソフト (2010-06-18)
売り上げランキング: 498