C/C++ 言語ソースコード アナライザ / Windows 版 Microsoft Visual C++ 2008 インテグレーション パッケージ利用手順書 2010/11/16 Version 2.0.0 Programming Research Ltd. ソフトウェア ソリューション 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 1
目次 はじめに... 3 1. インストール... 4 1.1. QA C++ のインストール...4 1.2. Microsoft Visual C++ 2008 インテグレータ...4 1.3. インテグレータのインストール...5 1.3.1. インストールされたファイルの確認...10 1.3.2. インストールされたアドオンの確認...16 2. Visual Studio インテグレータを用いたいた解析... 18 2.1. 事前設定...18 2.1.1. QAC++ バージョンの確認...18 2.1.2. メッセージの抑止...19 2.1.3. QAC++ のプロジェクトファイルで日本語を含むソースコードを解析可能にする...21 2.2. 解析手順...24 2.2.1. ファイルの解析...24 2.2.2. 解析結果の再表示...28 2.2.3. プロジェクトの解析...30 2.2.4. プロジェクト解析結果の再表示...36 2.2.5. QAC++ プロジェクトの作成...38 2.2.6. QAC++ GUI の起動...39 2.2.7. 解析の中止...41 2.3. 解析設定の変更...42 2.3.1. 解析設定項目の意味...45 2.3.2. 設定変更例...46 3. Visual Studio から QAC++ プロジェクトへのへのコンバート... 49 3.1. 事前準備...49 3.2. プロジェクト コンバータのオプション...49 3.3. プロジェクト コンバータの実行例...51 3.3.1. 指定オプションと生成される QAC++ プロジェクト...54 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 2
はじめに 本書は 英国 Programming Research 社 ( 以下 :PRL 社 ) 製の C++ 言語ソースコード アナライザ QAC++ Windows 版を Microsoft 社の Microsoft Visual Studio 2008( 以下 VS2008 と略す ) 上で動作する Microsoft Visual C++ 2008( 以下 VC++2008 と略す ) と連携して解析する手順について記述しています 注意事項 ( 必ずごずご確認確認ください ): [ 項目 1] VS2008 インテグレータは QAC と連携することもできますが 本書では QAC++ と連携することのみを前提として説明します [ 項目 2] 本書は QAC7.1.1J 以上のすべてのバージョンの QAC および QAC++2.5J 以上のすべてのバージョンの QAC++ に適用できます [ 項目 3] QAC++ はアンマネージド コードのみを解析することができます マネージドマネージド コードコードは解析解析できないできないので注意してください [ 項目 4] VS2008 インテグレータは Visual Studio 2008 Professional Edition または Visual Studio 2008 Standard Edition と連携して動作します Visual Studio 2008 Express Edition とは連携連携できませんできませんが 他の Edition 向けにインストールされたコンパイラ パーソナリティと代替ヘッダファイルを参考にして QAC++ の GUI や QAC++ のコマンド ライン インタフェースを用いて Visual Studio 2008 Express Edition で開発開発された C++ コードを解析していただくことはしていただくことは可能可能ですです [ 項目 5] VS2008 インテグレータは同時にそれぞれ 1 つのバージョンの QAC と QAC++ としか連携できません 連携する QAC と QAC++ を変更する場合は VS2008 インテグレータの解析設定でバージョンを変更してください ( 変更方法は [2.3 解析設定の変更 ] を参照してください ) 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 3
1. インストール 本章では VS2008 インテグレータのインストール手順を説明します 1.1. QA C++ のインストール QA C++ 本体のインストール手順は 製品付属のインストレーションガイドをご参照ください [ 資料 ] [QAC++ Install Dir]\help\pdf\QACPP-2.5J-InstallationNotes.pdf 1.2. Microsoft Visual C++ 2008 インテグレータ QAC++ Windows 版は Microsoft 社の VS2008 上で動作する VC++2008 と連携して VS2008 上で C++ ソースコードを解析することができます VS2008 と連携するためには 下記 URL で提供されている VS2008 インテグレータをダウンロードして インテグレータを使用するマシンにインストールする必要があります [URL] http://www.programmingresearch.com/downloads/windows/vc++integration/visualstudio/ [ パッケージファイル名 ] VS2008Integration2.0.0.exe パッケージファイル名は VS2008 インテグレータのバージョンアップに伴って変化します 常に最新バージョンのパッケージをダウンロードしてご利用ください 補足事項 : VS2008 インテグレータをインストールすると VS2008 インテグレータの本体とともに VC++2008 で開発されたソースコードを解析するためのコンパイラ パーソナリティと VC++2008 のヘッダ ファイルに含まれる ISO C++ 言語標準に準拠していない構文を調整するための代替ヘッダ ファイルがインストールされます QAC++ Windows 版を VS2008 上で連携して使用するのではなく QAC++ の GUI や QAC++ のコマンド ライン インタフェースを使用して C++ ソースコードを解析する場合は インストールされたコンパイラ パーソナリティと代替ヘッダを インテグレータを介さずに直接使用してください 注意事項 : インストールするマシンには 事前に QAC または QAC++ と VS2008 をインストールしておかなければなりません 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 4
1.3. インテグレータのインストール 以下にインテグレータのインストール手順を Step by Step で示します [STEP1 STEP1] 入手したパッケージを Windows エクスプローラ上でダブルクリックします [STEP2] インストール準備中であることを示すダイアログが表示されるので 暫く待ちます 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 5
[STEP3] インストール準備が終了すると次のダイアログが表示されます [Next >] を押して次の画面に進みます [STEP4] ソフトウェア製品使用許諾が表示されます 内容を承認した上で [Yes Yes] を押して次の画面に進みます 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 6
[STEP5] 顧客情報の入力ダイアログが表示されます 必要に応じて入力情報を変更した上で [Next >] を押して次の画面に進みます [STEP6] インストール先を選択するダイアログが表示されます 必要に応じてインストール先を変更した上で [Next >] を押して次の画面に進みます 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 7
[STEP7] インストールする構成要素を選択するダイアログが表示されます MSDN のヘルプに QAC/QAC++ のヘルプを追加するか否かを選択できます [Next >] を押して次の画面に進みます [STEP8] QAC++ と VC++ 2008 がインストールされている場所が自動的に検出され ダイアログ上に表示されます 表示内容が適切であることを確認した上で [Next >] を押して次の画面に進みます 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 8
[STEP9] インストール中であることを示すダイアログが表示されるので 暫く待ちます [STEP10 10] インストール完了を示すダイアログが表示されます [Finish] を押してインストールを終了します 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 9
1.3.1. インストールされたファイルの確認 インストールが正常に完了すると 標準で次のディレクトリ配下にインテグレータがインストールされます [ インストール場所 ] C:\Program Files\PRQA\Visual Studio 2008 Integration [Visual Studio 2008 Integration] ディレクトリの中には次のファイルがインストールされます bin qac help qacpp license.txt ディレクトリ / ファイル VCProjectConverterReadme.txt VS 2008 Integration Readme.rtf VS 2008 Integration Readme.htm (html フォーマット ) 説明 インテグレータ本体と関連ライブラリなどを含むディレクトリ QAC との連携で使用する設定ファイルを含むディレクトリ MSDN と連携した QAC/QAC++ のヘルプドキュメントを含むディレクトリ (1.3 章のインテグレータのインストールでヘルプを追加した場合のみ ) QAC++ との連携で使用する設定ファイルを含むディレクトリ ソフトウェア製品使用許諾が記述されたファイル Project Converter VS08 の説明と簡単なコマンドライン オプションについて記述されたファイル インテグレータのリリースノートと簡単な使用方法が記述されたファイル ( リッチテキストフォーマット ) 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 10
bin ディレクトリの中には次のファイルがインストールされます ( ユーザが明示的に使用するものではないので 各ファイルの説明は割愛します ) 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 11
qac ディレクトリの中には次のファイルがインストールされます ( 各ファイルは QAC と連携するときに使用されます ) ディレクトリ / ファイル additionaloptions.via msvc_2008.p_c qavs.cfg qavs.p_s 説明 解析時に追加で適用するオプションを設定するファイル ( 利用方法は後述します ) 解析時にデフォルトで適用される VS2008 用コンパイラ パーソナリティ 後述する解析設定ダイアログで設定した値が記録されるファイル 解析時にデフォルトで適用されるメッセージ パーソナリティ WinCE VS2008 用コンパイラ パーソナリティ (Windows CE 用 ) qacpp ディレクトリの中には次のファイルがインストールされます ( 各ファイルは QAC++ と連携するときに使用されます ) ディレクトリ / ファイル additionaloptions.via qavs.cfg qavs.p_s 説明 解析時に追加で適用するオプションを設定するファイル ( 利用方法は後述します ) 後述する設定ダイアログで設定した値が記録されるファイル 解析時にデフォルトで適用されるメッセージ パーソナリティ WinCE VS2008 用コンパイラ パーソナリティ (Windows CE 用 ) 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 12
また QAC++ の本体がインストールされている QACPP-2.5J ディレクトリの中に追加で VC++2008 用コンパイラ パーソナリティと VC++2008 用代替ヘッダがインストールされます [ インストール場所 ] C:\Program Files\PRQA\QACPP-2.5J\personalities C:\Program Files\PRQA\QACPP-2.5J\VC++2008 ( コンパイラ パーソナリティのインストールディレクトリ ) ( 代替ヘッダのインストールディレクトリ ) 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 13
personalities ディレクトリの中には次のファイルがインストールされます ディレクトリ / ファイル VC++2008.p_c 説明 VC++2008 用コンパイラ パーソナリティ 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 14
VC++2008 ディレクトリの中には次のファイルがインストールされます このディレクトリ配下のファイルは VC++2008 用コンパイラ パーソナリティの -si オプション -q オプション および -fi オプション で次のように指定されて使用されています -SI "C:\Program Files\PRQA\QACPP-2.5J\VC++2008\include" -Q "C:\Program Files\PRQA\QACPP-2.5J \VC++2008\include" -SI "C:\Program Files\PRQA\QACPP-2.5J \VC++2008\atlmfc " -Q "C:\Program Files\PRQA\QACPP-2.5J J\VC++2008\atlmfc" -SI "C:\Program Files\PRQA\QACPP-2.5J\VC++2008\PlatformSDK" -Q " C:\Program Files\PRQA\QACPP-2.5J\VC++2008\PlatformSDK " -FI "C:\Program Files\PRQA\QACPP-2.5J \VC++2008\fi\vc2008.h" -Q "C:\Program Files\PRQA\QACPP-2.5J \VC++2008\fi\vc2008.h" 補足事項 : インテグレータを使用せずに VC++2008 のソースコードを解析する場合は 上述のコンパイラ パーソナリティと代替ヘッダを直接使用してください VC++2008 の標準ヘッダのインストール場所と代替ヘッダのインストール場所が変わらないのであれば コンパイラ パーソナリティを GUI のフォルダオプションやコマンドラインの -via オプションにそのまま与えて使用することができます 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 15
1.3.2. インストールされたアドオンの確認 インストールが正常に完了した場合 VS2008 上に QAC++ と連携するためのアドオン ツール バーが追加されます アドオン ツールバー 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 16
ツール バー上のツール ボタンについて左から順に説明します [Analyse File(s)] ボタン 1 [ ソリューションエクスプローラ ] 上で選択されているファイルを QAC/QAC++ で解析します [Results File(s)] ボタン 2 [ ソリューションエクスプローラ ] 上で選択されているファイルの結果を再表示します [Analyse Project] ボタン 3 [ ソリューションエクスプローラ ] 上で選択されているプロジェクト内の全てのファイルを一括解析します [Results Build] ボタン 4 [ ソリューションエクスプローラ ] 上で選択されているプロジェクト内の全ての結果を再表示します [Stop Analysis] ボタン 5 ファイルを解析している場合に 解析処理を中止します [Configure QA C/C++] ボタン 6 インテグレータの動作設定を調整します [Start QAC/ QAC++ GUI] ボタン 7 QAC/QAC++ の GUI を起動します [Generate QA C/C++ project] ボタン 8 VC++2008 のプロジェクトを QAC/QAC++ のプロジェクトに変換します [Release FlexLM] ボタン 9 獲得しているライセンスを強制的に解放します 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 17
2. Visual Studio インテグレータを用いたいた解析 本章では VS2008 に組み込まれたアドオン機能を使って QAC++ の GUI を起動せずに解析を行う手順を示します 2.1. 事前設定 2.1.1. QAC++ バージョンの確認 VS2008 と連携する QAC++ のバージョンが意図されているバージョンであることを確認します 1 VS2008 上のアドオン ツール バーにある [Configure QA C/C++] ボタンをクリックします 1 2 VS2008 上のアドオン ツール バーにある [Configure QA C/C++] ボタンをクリックします 解析設定を変更するためのダイアログが表示されます [Version] タブを開きます 表示されている QAC++ のバージョンが意図されているバージョンであることを確認してください 必要であれば [QA C++ Version] 選択候補から QAC++ のバージョンを選択し直してください QAC++ バージョンを選択表示されている QAC++ バージョン 2 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 18
2.1.2. メッセージの抑止 デフォルトの解析設定のままソースコード解析を行うと 日本語のコメントに対して警告番号 1095 が表示され 重要な警告メッセージを見つけづらくなる場合があります このような状況を避けるために 以下の手順で不必要なメッセージを抑止することが可能です 1 VS2008 上のアドオン ツール バーにある [Configure QA C/C++] ボタンをクリックします 1 2 解析設定変更ダイアログが表示されます [Personalities] タブを開きます メッセージ パーソナリティ選択 (Select) ボタンを押して お使いになるメッセージ パーソナリティファイルを選択します 2 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 19
3 Message Personality 欄のメッセージ パーソナリティファイルが 2 で選択したものになっていることを確認して メッセージ パーソナリティファイル編集ボタンを押します 3 4 -o オプションで使用する警告番号を指定している場合は -o 1095 がパーソナリティファイルの中に存在しない状態にしてください ( 存在する場合は削除してください ) -n オプションで使用しない警告番号を指定している場合は -n 1095 がパーソナリティファイルの中に存在する状態にしてください ( 存在しない場合は追記してください ) 編集終了後に保存ボタンを押して 編集を確定します 4 5 [OK] を押して解析設定変更ダイアログを閉じます 6 2.2 章 [ 解析手順 ] に従ってソースコードを解析してください 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 20
2.1.3. QAC++ のプロジェクトファイルで日本語を含むソースコードを解析可能にする VS2008 インテグレータが作成するアナライザ パーソナリティには日本語が含まれたソース コードを適切に解析するための [ -en SJ ] オプションが出力されません そのため 以下の手順で [ -en SJ ] オプションを設定してください 1 VS2008 上のアドオン ツール バーにある [Configure QA C/C++] ボタンをクリックします 1 2 解析設定を変更するためのダイアログが表示されます [Personalities] タブを開きます Additonal Options ファイル選択 (Select) ボタンを押します 2 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 21
3 additonaloptions ファイルを選択します デフォルトでは [ マイドキュメント ]-[PRQA]-[Visual Studio 2008 Integeration]-[qacpp] フォルダが表示されます 4 Additonal Options ファイル編集ボタンを押します 4 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 22
5 [-en SJ] を追記して設定保存ボタンを押します additonaloptions 編集画面を閉じます 5 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 23
2.2. 解析手順 2.2.1. ファイルの解析特定のソースコードを解析する手順は次の通りです 1 [ ソリューションエクスプローラ ] 上で解析したいソースコードを選択します 2 [Analyse File(s)] ボタンを押します 3 解析が始まると 画面下部の出力タブ内に [QACPP analysis started: ] と表示されます 2 1 3 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 24
4 解析が終了すると QAC++ の指摘事項が画面下部のエラー一覧内に [ 警告 ] 扱いで表示されます 4 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 25
5 出力された [ 警告 ] をダブルクリックすると 対応するソースコード行が表示されます 5 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 26
補足事項 : 後述するマクロの警告を抑止するオプションを設定していなかった場合 VC++2008 で頻繁に使用される IMPLEMENT_DYNCREATE, BEGIN_MESSAGE_MAP, END_MESSAGE_MAP などのマクロに対して警告が出力されます この場合 警告が大量に出力されるので 警告を抑止することをお勧めします VC++2008 のマクロに対するする警告 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 27
2.2.2. 解析結果の再表示解析済みのソースコードの結果を再表示する手順は次の通りです 1 [ ソリューションエクスプローラ ] 上で結果を再表示したいソースコードを選択します 2 [Results File(s)] ボタンを押します 3 画面下部の出力タブ内に再表示処理の状況が出力されます 2 1 3 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 28
4 QAC++ の指摘事項が画面下部のエラー一覧内に [ 警告 ] 扱いで再表示されます 4 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 29
2.2.3. プロジェクトの解析特定のプロジェクト内のすべてのファイルを解析する手順は次の通りです 1 [Analyse Project] ボタンを押します 2 解析が始まると 画面下部の出力タブ内に [QACPP analysis started: ] と表示されます 1 2 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 30
3 解析が終了すると 警告リスト レポートが出力されたフォルダ名が Results in に表示されます 3 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 31
プロジェクト解析後に作成された警告リスト レポート ([2.3 解析設定の変更 ] で Messages in HTML Browser が選択されている場合は自動的に開かれます ) 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 32
4 QAC++ の指摘事項は画面下部のエラー一覧内に [ 警告 ] 扱いで表示されます 4 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 33
5 出力された [ 警告 ] をダブルクリックすると 対応するソースコード行が表示されます 5 注意事項 : 解析が完了して [Results File(s)] ボタンが有効になるまで 他のプロジェクトの解析はできません 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 34
6 プロジェクトの解析を行う前に [2.2.5 QAC++ プロジェクトの作成 ] を行わなかったとき 次のダイアログが表示されます [ はい ] を押すとプロジェクトファイルが作成されます また 解析設定が変更されているとき ([2.3 解析設定の変更 ] を参照してください )QAC++ のプロジェクトを更新するか否かを問い合わせる警告メッセージが表示されます [ はい ] を押すとプロジェクトファイルが更新されます 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 35
2.2.4. プロジェクト解析結果の再表示解析済みプロジェクト内にある全ソースコードの結果を再表示する手順は次の通りです 1 [ ソリューションエクスプローラ ] 上で結果を再表示したいプロジェクトまたはソースファイルを選択します 2 [Results Build] ボタンを押します 3 画面下部の出力タブ内に再表示処理の状況が出力されます 2 1 3 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 36
4 QAC++ の指摘事項が画面下部のエラー一覧内に [ 警告 ] 扱いで再表示されます 4 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 37
2.2.5. QAC++ プロジェクトの作成 VS2008 のソリューション ファイル / プロジェクト ファイルから QAC++ のプロジェクトを生成する手順は次の通りです 1 QAC++ のプロジェクトを生成したい VS2008 のソリューション / プロジェクト ファイルを選択します 2 [Generate QA C/C++ project] ボタンを押します 2 1 3 QAC++ のプロジェクトが生成されたことを示すダイアログが表示されます 補足事項 : シングル クォート 内に生成されたファイルの絶対パスが表示されます 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 38
2.2.6. QAC++ GUI の起動生成された QAC++ のプロジェクトを読み込んで QAC++ の GUI を起動する手順は次の通りです 1 QAC++ の GUI で表示したい VS2008 のプロジェクトを選択します 2 [Start QAC/ QAC++ GUI] ボタンを押します 2 1 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 39
3 生成された QAC++ のプロジェクトを読み込んで QAC++ の GUI が起動されます 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 40
2.2.7. 解析の中止解析を中止する手順は次の通りです 1 解析中であることを確認します 2 [Stop Analysis] ボタンを押します 補足 : このボタンは解析中のときのみ有効になります 3 画面下部の出力タブ内に [QA C++ Analysis was stopped!!] というメッセージが出力されます 2 1 3 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 41
2.3. 解析設定の変更 解析設定を変更することで 解析に関する動作を変更することができます 解析設定の変更する手順は次の通りです 1 [Configure QA C/C++] ボタンを押します 1 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 42
2 解析設定を変更するためのダイアログが表示されます (A) (B) (C) (D) (F) (E) (G) 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 43
(H) 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 44
2.3.1. 解析設定項目の意味 解析設定項目のそれぞれの意味は次の通りです (A) 使用するコンパイラ パーソナリティを指定します (B) 使用するメッセージ パーソナリティを指定します (C) 追加のオプションを記述したファイルを指定します Add Contents to Analyser Personality が選択されていると Generate QA C/C++ ボタンを押して QA C/C++ プロジェクトを作成する際に AdditionalOptions に指定されたファイルの設定が 作成されるアナライザパーソナリティに反映されます 例として プロジェクトファイルに [-en SJ] オプションを追加する方法をご参照ください (2.2.6 章参照 ) (D) Generate QA C/C++ ボタンを押して作成される QA C/C++ プロジェクトの出力先です Replicate project folder structure in output が選択されていると VS2008 上でのプロジェクトのフォルダ階層が Generate QA C/C++ ボタンを押して作成される QA C/C++ プロジェクトにも反映されます (E) 細かな動作を設定します Display Header Warnings Diagnostic Mode Include CMA in Project Analysis Display Inclusion History Analyse Header Files Analyse All with QA C++ (QAC との連携の場合 Analyse All with QA C) ヘッダ ファイルから生成される警告の表示 / 非表示を制御します インテグレータの処理状況のみを報告するかどうかを制御します プロジェクト解析時に CMA 解析を行うかどうかを制御します インクルード履歴を表示するかどうかを制御します ヘッダ ファイルも含めて解析するかどうかを制御します VS2008 で施されている C としてコンパイルするか C++ としてコンパイルするかの設定を無視して 全てを QA C あるいは QA C++ で解析する場合に選択します Hide Macro Warnings (F) 解析結果の表示方法を設定します Messages in Visual Studio Messages in Message Browser Messages in HTML Browser (G) ソースファイルとヘッダ ファイルの拡張子を設定します QA Source File QA Header File (H) VS2008 と連携する QAC++ のバージョンを設定します マクロから出力される警告を抑止するかどうかを制御します VS2008 の画面下部のエラー一覧を使用して指摘事項を表示します QAC++ のメッセージブラウザを使用して指摘事項を表示します HTML ブラウザを使用して指摘事項を表示します 解析対象のソースファイルであると判断するファイルの拡張子を指定します ヘッダ ファイルであると判断するファイルの拡張子を指定します (A) (B) (C) に記述できるオプションについては 製品付属のユーザーズガイドをご参照ください [ 資料 ] [QAC++ Install Dir]\help\pdf\QACPP-2.5J-Win-UsersGuide.pdf 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 45
2.3.2. 設定変更例 いくつかの解析設定項目について設定内容を変更した場合の動作例を示します [ 例 1] [Diagnostic Mode] を ON にした場合 警告は表示されず ファイルの解析状況のみが表示されるようになります 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 46
[ 例 2] [Messages in Message Browser] を選択した場合 メッセージブラウザ内に指摘事項が表示されるようになります 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 47
[ 例 3] [Messages in HTML Browser] を選択した場合 HTML ブラウザ内に指摘事項が表示されるようになります 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 48
3. Visual Studio から QAC++ プロジェクトへのへのコンバート コマンドライン プログラムを使用して VS2008 で作成されたソリューション ファイル / プロジェクト ファイル (.vcproj) から QAC++ のプロジェクト ファイル (.prj) を作成する手順を示します 3.1. 事前準備 VS2008 に作成されたソリューション ファイル / プロジェクト ファイルの格納場所を控えてください 3.2. プロジェクト コンバータのオプション プロジェクト コンバータではいくつかのオプションを指定することによってお好みの構成でプロジェクトを生成することができます プロジェクト コンバータで使用できる代表的なオプションについて以下に説明します オプション QAC または QACPP --sln <SolutionName > --vc <project.vcproj> --ext ext1;ext2;..;extn --mp <p_s File Dir> --ap <p_a File Dir> --cp <p_c File Dir> --op < 出力先のパス > --tab < ソースコードの中のタブの間隔 > --id < コード インデント レベル > --cfg <VC プロジェクト構成 > 解説 QAC 用と QAC++ 用のどちらのプロジェクト ファイルを作成するのかを指定します VS2008 のソリューションファイルを指定します ( 単一のソリューションファイルのみ指定できます ) VS2008 のプロジェクトファイルを指定します ( ソリューションを指定している場合はこのオプションは指定できません 複数のプロジェクトファイルを指定できます ) 解析対象とするファイルの拡張子を指定します 使用するメッセージ パーソナリティを指定します 使用するアナライザ パーソナリティを指定します 使用するコンパイラ パーソナリティを指定します QAC/QAC++ プロジェクト ファイルの出力先を指定します ソースコードの中のタブの間隔を指定します コード インデント レベルを指定します VS2008 から抽出するソリューション構成を指定します 補足 このオプションはプロジェクト コンバータの第一引数として必須で指定しなければなりません [3.1 事前準備 ] で控えたソリューション ファイルを指定します [3.1 事前準備 ] で控えたプロジェクト ファイルを指定します 未指定の場合 QAC++ では *.cpp, *.cxx, *.cc ファイルが対象になります 通常 このオプションは必須で指定します 通常 このオプションは指定しません 通常 このオプションは必須で指定します 未指定の場合は sln で指定した.sln で指定した.sln ファイル --vc で指定した.vcproj ファイルと同じディレクトリに作成されます 通常 このオプションは指定しません 通常 このオプションは指定しません ここで何も指定しなかった場合 VS2008 に登録されているソリューション構成の数だけ同じソースファイルが登録されてしまいますので注意が必要です 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 49
この例の場合は [Debug Win32] を指定します --pcf < プロジェクトプロパティ > --addopt < アナライザ パーソナリティ additional options> --repl --build QAC/QAC++ に適用するプロジェクトプロパティファイルを指定します アナライザ パーソナリティの additional options ファイルを指定します QA C/C++ プロジェクトの階層を VS2008 プロジェクトのフォルダ階層と同じにします 現在指定されているソリューション構成でビルド対象になっている QAC/QAC++ プロジェクト ファイルが出力されます --sln を指定したときのみ有効です 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 50
3.3. プロジェクト コンバータの実行例 VS2008 プロジェクトから QAC++ プロジェクトを以下の [ 作成条件 ] に沿って作成する例を記述します [ 作成条件 ]( ソリューションファイルを指定した場合 ) VS2008 のソリューション ファイルは TEST.sln とする メッセージ パーソナリティには IndStrC++.p_s を使用する アナライザ パーソナリティはプロジェクト コンバータに自動作成させる コンパイラ パーソナリティには VC++2008.p_c を使用する VS2008 ソリューションから現在選択されている構成のプロジェクトを作成する 項目 オプション 値 製品 - QACPP VS2008 ソリューション ファイル --sln [VS2008 Project Output Dir]\TEST.sln メッセージ パーソナリティ --mp [QACPP++ Install Dir] \personalities\indstrc++.p_s コンパイラ パーソナリティ --cp [QACPP++ Install Dir] \personalities\vc++2008.p_c QAC++ プロジェクト ファイルの出力先 --op [QACPP++ Install Dir] \Temp [ 作成コマンド ] に沿ったコマンドの起動例を以下に記述します ( 各ディレクトリはソフトウェアのインストール条件によって異なります ) "C:\Program Files\PRQA\Visual Studio 2008 Integration\bin\ProjectConverterVS08.exe" QACPP --sln "C:\Documents and Settings\QA\TEST\TEST.sln" --mp "C:\Program Files\PRQA\QACPP-2.5J\personalities\IndStrC++.p_s" --cp "C:\Program Files\PRQA\QACPP-2.5J\personalities\VC++2008.p_c" --op "C:\Program Files\PRQA\QACPP-2.5J\Temp" 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 51
DOS プロンプトからコマンドを実行した結果 [ 作成条件 ]( プロジェクト ファイルを指定した場合 ) VS2008 のプロジェクト ファイルは TEST.vcproj とする メッセージ パーソナリティには IndStrC++.p_s を使用する アナライザ パーソナリティはプロジェクト コンバータに自動作成させる コンパイラ パーソナリティには VC++2008.p_c を使用する VS2008 ソリューションから現在選択されている構成ソリューションのプロジェクトを作成する 項目 オプション 値 製品 - QACPP VS2008 プロジェクト ファイル --vc [VS2008 Project Output Dir]\TEST.vcproj メッセージ パーソナリティ --mp [QACPP++ Install Dir] \personalities\indstrc++.p_s コンパイラ パーソナリティ --cp [QACPP++ Install Dir] \personalities\vc++2008.p_c QAC++ プロジェクト ファイルの出力先 --op [QACPP++ Install Dir] \Temp [ 作成コマンド ] に沿ったコマンドの起動例を以下に記述します ( 各ディレクトリはソフトウェアのインストール条件によって異なります ) "C:\Program Files\PRQA\Visual Studio 2008 Integration\bin\ProjectConverterVS08.exe" QACPP --vc "C:\Documents and Settings\QA\TEST\TEST\TEST.vcproj" --mp "C:\Program Files\PRQA\QACPP-2.5J\personalities\IndStrC++.p_s" --cp "C:\Program Files\PRQA\QACPP-2.5J\personalities\VC++2008.p_c" --op "C:\Program Files\PRQA\QACPP-2.5J\Temp" 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 52
DOS プロンプトからコマンドを実行した結果 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 53
3.3.1. 指定オプションと生成される QAC++ プロジェクト 1 --sln でソリューションを指定し --build オプションを使用する場合 ソリューションに含まれるプロジェクトで ビルド対象になっている構成のソースファイルが QAC++ の対象になります --cfg を用いた場合は その構成がビルド対象であれば その構成についてのみ QAC++ の対象になります 2 --sln でソリューションを指定し --build オプションを使用しない場合 ソリューションに含まれる全てのプロジェクトのソースファイルが QAC++ の対象になります ただし --cfg を用いた場合は その構成についてのみ QAC++ の対象になります 3 例 :test というソリューションに test というプロジェクトがあり その構成は Debug Win32 Build off Release Win32 Build on test Win32 Build on 1. ProjectConverter.exe QAC++ --sln test.sln --build Release, test の構成のファイルが QAC++ の対象になります 2. ProjectConverter.exe QAC++ --sln test.sln --build --cfg Release Win32 Release の構成のファイルが QAC++ の対象になります 3. ProjectConverter.exe QAC++ --sln test.sln --build --cfg Debug Win32 QAC++ の対象になるファイルはありません 4. ProjectConverter.exe QAC++ --sln test.sln Debug, Release, test の構成のファイルが QAC++ の対象になります 5. ProjectConverter.exe QAC++ --sln test.sln --cfg Debug Win32 Debug の構成のファイルが QAC++ の対象になります 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 54
作成したプロジェクト ファイルは QAC++ の GUI で読み込むことができます プロジェクトコンバータは --op オプションで指定したディレクトリ配下に [VC++2008 プロジェクト名 ]+QACPP の名前でディレクトリを作成し [[VC++2008 プロジェクト名 ]+QACPP]-[personalities] に自動生成したパーソナリティ ファイルを格納します プロジェクト コンバータは --ap オプションが指定されなかった場合 VC++2008 のプロジェクトファイルから必要な情報を抽出して適切なアナライザ パーソナリティファイルを作成します 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 55
上記の起動例では --op オプションに "C:\Program Files\PRQA\QACPP-2.5J\Temp" VC++2008 プロジェクト名が TEST のプロジェクト ファイルを --vc オプションで指定したので 以下のディレクトリに作成されたアナライザ パーソナリティ ファイルが格納されます --ap オプションが指定指定されなかったされなかったためため自動作成されたされたアナライザアナライザ パーソナリティ 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 56
以上の操作においてご質問等がございましたら ( 株 ) 東陽テクニカソフトウェア ソリューションのサポート担当までお問い合わせ下さい ( 株 ) 東陽テクニカソフトウェア ソリューション 103-8284 東京都中央区八重洲 1-1-6 TEL. 03-3279-0771 FAX. 03-3246-0645 E-mail ( 営業窓口 ): SS_Sales@toyo.co.jp E-mail ( サポート窓口 ): SS_Support@toyo.co.jp URL: http://www.toyo.co.jp/ss Windows, Microsoft, Visual Studio, Visual C++ は Microsoft Corporation の登録商標です 2010 Programming Research Ltd / ( 株 ) 東陽テクニカ 57