• Imagix 4D ユーザガイド
  • 目次

C / C++ コードのロード

空の新しいプロジェクトを作成したのち、解析対象のソースコードに関する情報を新規のデータベースに登録する、主なステップが3つあります。

1. コンパイラ設定ファイルの選択と設定

Imagix 4D ではソースアナライザそのものがソースコードに対して、コンパイラに依存しない意味解析を行います。コンパイラ設定ファイルを使用することで、通常使用するコンパイラのように動作するようアナライザを拡張します。これにより、Imagix 4D によるソフトウェアの解析結果が、ユーザが使用するコンパイラの出力と一致するのです。

コンパイラ設定ファイルの選択および設定は、一度限りの作業となります。作成した設定ファイルを利用することにより、当該コンパイラを使用したコンパイルの対象となる、あらゆるソースコードをロードすることが可能です。

2. ソースファイルと解析方法の指定

Imagix 4D へソースコードをインポートするステップは、ツールによるソースコードの解析がその中心となります。Imagix 4D アナライザは、コンパイラのようにコードを解析します。コンパイラを使用する場合と同様に、ソースファイルのリストとともに、インクルード・ファイルを検索する場所や、解析に使用するマクロ定義を指示するオプションのリストをアナライザに渡すのです。コンパイラは実行ファイルにリンクされるオブジェクト・ファイルを生成しますが、Imagix 4D アナライザはデータファイルを生成し、このデータファイルをのちに Imagix 4D データベースにロードし組み込みます。

C / C++ コードの場合、ソースコードの指定および解析方法が、さまざまな異なる形で用意されています。

ビルドログからの抽出

コードをコンパイルできる環境がある場合、コンパイラに送信されるコマンドをキャプチャし、それに基づいてImagix 4Dソース解析ツールのコマンドを生成する方法が推奨されます。コードをコンパイルする際に、ビルド発行コマンドをビルドログファイルに直接キャプチャする方法があるかもしれません。そうでない場合は、imagix-cc-monitorユーティリティを使用してシステムコマンドを監視し、コンパイラの呼び出しをファイルにキャプチャすることができます。どちらの方法でビルドログファイルを生成しても、このアプローチはそのファイルを自動的に処理し、コンパイラの呼び出しを解析し、コンパイラに渡されるソースファイルおよび-I、-D、-U引数を特定します。この情報を適用して、類似のフラグを共有するソースファイルのグループごとにデータソースエントリが定義されます。これらは、[ダイアログベース (C/C++)] アプローチで手動で入力するのと同じデータソースエントリです。ビルドログから自動的にこれらを入力することで、設定がコンパイラのコード解析方法と一致していることが保証されます。

推奨される場合: ソースコードをコンパイルできる場合

Microsoft Visual Studioからのインポート

[ビルドログからの抽出] アプローチには、Microsoft Buildで生成されたログファイルを扱うための特別なサポートが含まれています。したがって、Microsoft BuildツールをMicrosoft Visual Studioと共に使用している場合は、ビルドログからの抽出が推奨されるアプローチです。しかし、必要なログファイルを生成するためにコードをコンパイルできない場合、Microsoft Visual Studio (MSVC) プロジェクトおよびソリューション向けに別のアプローチがあります。この代替アプローチでは、Visual Studioによって作成されたmakefile、.dsp、.vcproj、または .vcxprojファイルからファイルおよびプリプロセッサフラグ情報を直接抽出します。ソリューション(.NETバージョン以前のバージョンではワークスペースと呼ばれる)については、.dswまたは .slnファイルが読み込まれます。

推奨される場合: コードをコンパイルできないが、コードのためにMicrosoft Visual Studioプロジェクトが既に定義されている場合

ダイアログ・ベースの解析方法(C / C++)

3つめは、最も汎用的な解析方法です。この方法でもダイアログにデータを入力しますが、ここでは手動でその作業を行います。ダイアログでは、次の項目を指定します。

-- ソースファイルの格納先ディレクトリ
-- ソースファイルの名前(*.c 形式の展開を使用)
-- 使用する -I、-D、-U プリプロセッサ・オプション

推奨される場合: ビルドログからの抽出やMicrosoft Visual Studioからのインポートのいずれも適用できない場合

ターゲットを Makefile に追加する解析方法

最後のアプローチは、パッシブではなくアクティブにmakeシステムを使用するもので、makefileにターゲットを追加します。makefileにはソースファイルやプリプロセッサフラグに関する情報が含まれているため、この第四のアプローチは既存の定義を活用します。makefileアプローチは、ツールの継続的な生産使用においていくつかの利点を提供しますが、最初に使い始めるのは非常に難しく、ツールの初期評価には推奨されません。

ダイアログ・ベースの解析方法では十分な精度を得られない場合に限り推奨される方法 です。

3. プロジェクト設定を調整し解析結果の精度を向上

プロジェクト設定を定義し、解析を開始してからアナライザが検出する問題はすべて、[解析結果] ウィンドウにレポートされます。これらのレポート結果を利用してプロジェクト設定の調整を行うことで、ソフトウェアに関するより精度の高い出力を得ることが可能です。