インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
Microsoft* Visual Studio* でスタティック解析用にアプリケーションをビルドするには、[Build for Intel Static Analysis (インテル・スタティック解析用にビルド)] メニューオプションを使用します。 このオプションは、Visual Studio* IDE でスタティック解析用に新しいビルド構成を作成し、必要なプロパティーを設定します。
[Build for Intel Static Analysis (インテル・スタティック解析用にビルド)] メニューオプションには複数のメニュー項目があります。
このメニューオプションを初めて使用する場合、ダイアログボックスが表示され、セットアップの手順が示されます。
インテル® C++ ソリューション用のスタティック解析の使用
インテル® C++ ソリューションおよびプロジェクトでスタティック解析を実行するには、次の操作を行います。
Visual C++* ソリューションまたは混在ソリューション用のスタティック解析の使用
Visual C++* のみのソリューションとプロジェクト、あるいはインテル® C++ と Visual C++* プロジェクトの両方が含まれる混在ソリューションでスタティック解析を実行するには、次の操作を行います。
既存の構成は変更されません。[Solution Explorer (ソリューション エクスプローラ)] には別のアイコンが表示され、プロジェクト構成がインテル® コンパイラーによってビルドされることが示されます。
Visual C++* プロジェクトをスタティック解析用に準備しても、既存の構成がインテル® コンパイラーによってビルドされるわけではありません。ただし、ソリューション (.sln) ファイルは変更され、準備された各プロジェクト用にインテル・プロジェクト (.icproj) ファイルが追加されます。これらの変更後、ソリューションは、インテル® コンパイラーがインストールされていないシステムではビルドできなくなります。開発チームの一部のメンバーがインテル® コンパイラーをインストールしていないような環境では、このような変更は一時的なものとして、スタティック解析の実行後は破棄すると良いでしょう。必要に応じて、いつでもこのスタティック解析用の設定を再度行うことができます。
スタティック解析に関連する Microsoft* Visual Studio* IDE のプロパティー・ページはいくつかあります。Intel_SSA 構成のプロパティーを変更することで、スタティック解析のオプションを変更できます。これを行うには、次のプロパティー・ページを使用します。
Eclipse* IDE:
プロジェクトのプロパティー・ページを開いて、[C/C++ Build (C/C++ ビルド)] を選択します。
[Manage… (管理…)] ボタンをクリックします。
[Manage (管理)] ダイアログボックスで、[New…(新規)] ボタンをクリックして、[Create configuration (構成を作成)] ダイアログボックスを開きます。
[Name (名前)] ボックスで、新しい構成の名前を指定します (例: Intel_SSA)。
必要に応じて、[Description (記述)] に構成の説明を入力します。
[Copy settings from (設定のコピー元)]、[Existing configuration (既存構成)] を選択し、適切なラジオボタンをクリックして、対応するドロップダウン・メニューからデバッグ構成を選択します。
[OK] をクリックして [Create configuration (構成を作成)] ダイアログを閉じます。
[OK] をクリックして (新しい構成名が選択されている) [Manage (管理)] ダイアログを閉じます。
コンパイラーの [Compilation Diagnostics (コンパイル診断)] を表示します。
[Level of Static Analysis (スタティック解析のレベル)] と [Analyze Included Files (インクルード・ファイルの解析)] プロパティーを使用して、スタティック解析を有効にします。
コマンドラインからビルドを行う場合は、新しいビルド構成を作成するか、または既存のビルド構成やターゲットとは異なるターゲットを作成する必要があります。いったんこれを行ったら、コマンドライン・オプションを追加して、スタティック解析を有効にできます。各コンパイルとリンク段階でスタティック解析を要求するオプションを指定する必要があります。次の表は、スタティック解析オプションをまとめたものです。各オプションに関する詳細は、「コンパイラー・オプション」を参照してください。
オプション (Windows* および Linux* 構文) |
結果 |
---|---|
/Qdiag-enable:sc{[1|2|3]} -diag-enable sc{[1|2|3]} |
スタティック解析を有効にします。数字は、レポートする診断レベル (1= クリティカル・エラーのみ、2=すべてのエラーと警告、および 3=重要度に関係なくすべての診断) を指定します。 |
/Qdiag-enable:sc-{full|concise|precise} -diag-enable sc-{full|concise|precise} |
スタティック解析を有効にし、解析モードを決定します。 |
/Qdiag-disable:sc -diag-disable sc |
スタティック解析を無効にします。 |
/Qdiag-enable:sc-include -diag-enable sc-include |
システム・インクルード・ファイルとソースファイルを解析します。デフォルトでは、システム・インクルード・ファイルの明らかなエラーはレポートされません。 システム・インクルード・ファイルは、INCLUDE 環境変数で指定されたインクルード・ファイルです。 |
/Qdiag-enable:sc-single-file -diag-enable sc-single-file |
各ファイルを個別に処理し、通常のプログラム全体の解析は行いません。大規模なプログラムでメモリーの使用と解析時間を抑えることができますが、検出される実際のエラーは少なくなります。 |
/Qdiag-sc-dir:dir -diag-sc-dir dir |
診断結果を指定されたディレクトリーに配置します。このオプションが指定されていない場合やディレクトリーが指定されずにオプションが指定された場合は、結果は現在の作業ディレクトリーに配置されます。各実行で "r@@@sc" という形式の名前の新しいサブディレクトリーに結果が作成されます。"@@@" は次に利用可能な番号 (001、002、...) に置き換えられます。 このオプションでは、コンパイラー・オプションも指定してスタティック解析を有効にする必要があります。 |
/Qdiag-enable:sc-enums -diag-enable sc-enums |
列挙型の変数を、関連する列挙リテラルと等しい既知の値として扱うようにスタティック解析に指示します。デフォルトでは、スタティック解析は不明な列挙型の変数を不明な整数値として扱います。このオプションを有効にすると、より多くのエラーが検出されますが、誤検出の可能性が高まります。 |
Windows*: プロジェクトをコマンドラインでビルドしなければならない場合でも、プロジェクトを Visual Studio* に統合することが可能です。これを行うには、Visual Studio で "makefile プロジェクト" を作成します。この場合、Visual Studio は選択したコマンドラインを起動してプロジェクトをビルドします。makefile プロジェクトを使用する場合は、/Qdiag-sc-dir:dir オプションまたは -diag-sc-dir dir オプションをリンク段階に追加して、出力ファイルをプロジェクト・ルート・ディレクトリーの "My Inspector XE Results-<product name>" フォルダーに配置します。 これにより、インテル® Inspector XE は、解析結果を認識し、Visual Studio の [ソリューション エクスプローラ] に表示します。Visual Studio を使わない場合には、インテル® Inspector XE GUI のスタンドアロン形式を使用します。この場合、解析結果はどこに配置しても構いません。
OpenMP* を有効にするには、/Qopenmp (Windows*) オプションまたは -openmp (Linux*) オプションを指定します。 プログラムで OpenMP* を使用している場合はこのオプションは必須です。
ビルド仕様ファイルの使用: 新しいビルド構成を作成する別の方法として、ビルド仕様ファイルを作成することができます。 詳細は、「ビルド仕様ファイルの作成と使用」を参照してください。
スタティック解析の結果はリンク段階で生成されます。インテルのリンカーを使用してリンクしなければなりません。実行ファイルのビルド時に、コンパイラー・ドライバーは自動的にインテルのリンカーを呼び出します。Windows* では、インテルのライブラリアン xilib.exe を使用してスタティック・ライブラリーをビルドする必要があります。xilib プログラムは、/Qdiag-enable:sc{1|2|3} などのスタティック解析関連のコンパイラー・オプションを認識します。スタティック解析を有効にするオプションを指定すると、スタティック・ライブラリーのスタティック解析結果を生成できます。Linux* では、インテルのアーカイブプログラム xiar を使用してスタティック解析用のスタティック・ライブラリーをビルドする必要があります。スタティック・ライブラリーのスタティック解析結果を生成する場合は、xiar を使用し -diag-enable=sc{1|2|3} などのスタティック解析関連のコンパイラー・オプションを指定します。このとき、-qdiag-enable=sc3 のように、オプションの先頭に "q" を付けます。