静的解析,構成管理,MISRA-C,コードレビュー,バグトラッキング,リバースエンジニアリング
ソフトウエア開発支援ツール
  SOFTWARE SOLUTIONS
 ソフトウェア開発における品質の向上、および生産性の向上を目指して、最適な開発支援ツールを提供します。
ソフトウエア開発支援ツール > 製品紹介 > 静的解析ツール QAC++ > 技術情報 > QA C++に特化した質問 > ターゲットコンパイラに関するFAQ
ターゲットコンパイラに関するFAQ (コンパイラに関するFAQはこちらもご参照ください。)
質問1. どのようなソースコードが解析できますか? QAC++1.2J以上 戻る
回答1. QA C++は、C++言語の標準規格"ISO/IEC 14882 Programming Language C++(1998)"に準拠 したソースコードが解析できるように設計・実装されています。 このため、C++言語の標準規格に準拠したC++言語のソースコードであれば、特殊なカスタマイズをすることなく解析できます。 しかし、実際には多くのコンパイラが、C言語(90)/C言語(99)/標準化以前のC++言語との互換性を確保するための構文や、特殊な拡張構文を許しています。 このような固有構文であっても、QA C++が対応し、解析できるようになっているものもあります。解析できない場合は、「1.代替ヘッダの作成」と「2.コンパイラ・パーソナリティの設定」を行う必要があります。

1.コンパイラのヘッダが標準規格に準拠していない場合、同じ意味を保ちつつ標準規格に準拠したヘッダを代替ヘッダとして作成します。
2.コンパイラ固有の構文を適切な構文に置き換えたり、読み飛ばすなどの設定をします。

これらは、解析結果に含まれるレベル9の警告を参考にしつつ作成/設定することになります。 設定方法に関する疑問点は、テクニカルサポート宛にご質問ください。

質問2. Visual C++ 2005/2008で開発したソースコードを解析できますか? QAC++2.1J以上(Visual C++ 2008はQAC++2.5J以上) 戻る
回答2. はい。Visual C++ 2005/2008で開発したソースコードを解析することができます。 ただし、Visual C++ 6.0の拡張としての、Visual C++(8.0/9.0)で記述 したソースコードは解析できますが、 Managed C++で記述されたソースコードを解析することはできません。
また、解析を行う際は、次のインテグレータを別途インストールする必要があります。

Visual C++ 2005/2008用インテグレータのダウンロード

Visual C++ 2005用インテグレータの利用手順書のダウンロード

Visual C++ 2008用インテグレータの利用手順書のダウンロード


詳しくは、保守ユーザ様向け情報 ページの注意事項をご参照ください。

質問3. Visual C++ .NET2003で開発したソースコードを解析できますか? QAC++1.5J以上 戻る
回答3. はい。Visual C++ .NET2003で開発したソースコードを解析することができます。 ただし、Visual C++ 6.0の拡張としての、Visual C++(7.0または7.1)で記述 したソースコードは解析できますが、 Managed C++で記述されたソースコードを解析することはできません。 また、解析を行う際は、次の.NET2003用インテグレータを別途インストールする必要があります。

Visual C++ .NET2003用インテグレータのダウンロード

Visual C++ .NET2003用インテグレータの利用手順書のダウンロード


詳しくは、保守ユーザ様向け情報 ページの注意事項をご参照ください。

質問4. Visual C++ 6.0で開発したソースコードを解析できますか? QAC++1.5J以上 戻る
回答4. はい。Visual C++ 6.0で開発したソースコードを解析することができます。 解析を行う際は、次の6.0用インテグレータを別途インストールする必要があります。

Visual C++ 6.0用インテグレータのダウンロード

Visual C++ 6.0用インテグレータの利用手順書のダウンロード


2009年8月14日時点でDevStudioIntegration2.2.exeが最新のインテグレータになります。

質問5. GNU C/C++で開発したソースコードを解析できますか? QAC++1.2J以上 戻る
回答5. はい。解析できます。 ただし、設定ファイルはVisual C++やBorland C++のようにパッケージ化されているわけではなく、生成スクリプトを使用して作成することになります。 設定方法につきましては、次のURLをご確認下さい。 PRL製ユーティリティ活用情報

また、保守ユーザ様向け情報ページ にて設定の作成手順を公開しておりますのでご覧ください。

質問6. Borland C++ Builder 6で開発したソースコードを解析できますか? QAC++2.1J以上 戻る
回答6. 解析できますが、C++言語の標準規格外の構文__propertyと__closure(VCLで使用されている構文)が使用されていると解析が非常に困難になります。 また、次のC++BuilderSubstituteHeadersをインストールして解析する必要があります。 このパッケージの中には、Borland C++ Builder 6用のコンパイラパーソナリティとBorland C++ Builder 6用の代替ヘッダが含まれています。

Borland C++ Builder 6代替ヘッダのダウンロード


制限事項の詳細は、パッケージに同梱されているReadme.txtをご覧下さい。 C++BuilderSubstituteHeaders の利用手順書は弊社サポートにお問い合わせください。

質問7. Borland C++ Builder 5で開発したソースコードを解析できますか? QAC++1.5J以上 戻る
回答7. 解析できますが、C++言語の標準規格外の構文__propertyと__closure(VCLで使用されている構文)が使用されていると解析が非常に困難になります。 また、次のC++BuilderSubstituteHeadersをインストールして解析する必要があります。 このパッケージの中には、Borland C++ Builder 5用のコンパイラパーソナリティとBorland C++ Builder 5用の代替ヘッダが含まれています。

Borland C++ Builder 5代替ヘッダのダウンロード


制限事項の詳細は、パッケージに同梱されているReadme.txtをご覧下さい。 C++BuilderSubstituteHeaders の利用手順書は弊社サポートにお問い合わせください。

質問8. eMbedded Visual C++ 3.0/4.0で開発したソースコードを解析できますか? QAC++1.5J以上 戻る
回答8. はい。eMbedded Visual C++ 3.0/4.0で開発したソースコードを解析することができます。 ただし、eMbedded Visual C++ 3.0/4.0用の設定ファイルはQA C++の開発元である Programming Research社から提供されていないため、Visual C++ 6.0用の 設定ファイルをベースにして設定を調整して頂く必要があります。
また、eMbedded Visual C++ 3.0/4.0で開発したソースコードを解析する際は、 Visual C++ 6.0用のプロジェクトコンバータを利用して、eMbedded Visual C++ 3.0/4.0 のプロジェクトファイルに設定されている情報を抽出する必要があります。
プロジェクトコンバータの利用方法については、次のファイルをご確認 ください。

Visual C++ 6.0用インテグレータの利用手順書のダウンロード


なお、Visual C++ 6.0用のプロジェクトコンバータをeMbedded Visual C++ 3.0/4.0に 適用するためには、eMbedded Visual C++ 3.0/4.0のプロジェクトファイルの 拡張子を次のように変更する必要があります。
  • .vcw を .dsw に変更する。
  • .vcp を .dsp に変更する。
また、.vcpファイル内の"Microsoft eMbedded Visual Tools"という文字列を"Microsoft Developer Studio"に置き換える必要があります。
質問9. Visual C++6.0インテグレータをインストールする際、使用中のQAC/QAC++のバージョンが新しい未知のバージョンであるというエラーが出ます。これはバージョンに互換性がないという意味で、機能しないのでしょうか?
戻る
回答9. インストールしようとしているVisual C++6.0インテグレータの方が、インストールしているQACまたはQAC++のバージョンより前から存在している可能性が高いです。弊社サポートに、Visual C++6.0をご利用のQAC/QAC++で操作できるか確認してください。また、Visual C++6.0インテグレータの最新バージョンは、「Visual C++ 6.0で開発したソースコードを解析できますか」を参照してください。

質問10. QAC/QAC++を個別仕様のコンパイラ構成に合わせることは可能ですか?
戻る
回答10. コンパイラ設定ファイル作成支援ツール(CPG) を使用して、ユーザ独自のコンパイラに特化したコンパイラ・パーソナリティを生成することができます。 詳しくは、保守ユーザ様向け情報ページ の手順書をご確認ください。