このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Polyspace 解析への標準ライブラリ ヘッダーの指定
Polyspace® では、コードのバグとランタイム エラーを解析する前に、コードがコンパイルされます。コードをコンパイラでコンパイルする場合でも、Polyspace でコンパイル エラーを確認できます。エラーの原因が標準ライブラリ関数にある場合、通常、Polyspace でコンパイラ ヘッダーを使用していないことが示されます。エラーを回避するには、コンパイラ ヘッダーのパスを指定します。
polyspace-configure
を使用してビルド コマンドから Polyspace プロジェクトまたはオプション ファイルを作成すると、そのプロジェクトまたはオプション ファイルにヘッダー パスが自動的に追加されます。それ以外の場合は、次のようにこのパスを明示的に追加しなければなりません。このトピックでは、コンパイラの標準ライブラリ ヘッダーを見つける方法を説明します。コード例を使用すると、ヘッダーの場所を示すコンパイル エラーが発生します。
C コンパイラ システム ヘッダーを含むフォルダーを見つけるには、コンパイル ツールチェーンを使用してこの C コードをコンパイルします。
float fopen(float f); #include <stdio.h>
fopen
宣言がstdio.h
内の宣言と競合するため、コードはコンパイルされません。コンパイル エラーに、stdio.h
のコンパイラ実装の場所が示されます。C 標準ライブラリ ヘッダーは、高い確率でそのフォルダーに含まれています。C++ コンパイラ システム ヘッダーを含むフォルダーを見つけるには、コンパイル ツールチェーンを使用してこの C++ コードをコンパイルします。
namespace std { float cin; } #include <iostream>
cin
宣言がiostream.h
内の宣言と競合するため、コードはコンパイルされません。コンパイル エラーに、iostream.h
のコンパイラ実装の場所が示されます。C++ 標準ライブラリ ヘッダーは、高い確率でそのフォルダーに含まれています。
コンパイラのヘッダー ファイルを見つけたら、Polyspace 解析にそのパスを指定します。C++ コードの場合、C ヘッダーと C++ ヘッダーの両方のパスを指定します。
ユーザー インターフェイス (Polyspace デスクトップ製品) で、このフォルダーをプロジェクトに追加します。
詳細は、ユーザー インターフェイスでの Polyspace の実行を参照してください。
コマンド ラインで、以下のいずれかのコマンドにフラグ
-I
を使用します。polyspace-code-prover
(Polyspace Code Prover)polyspace-code-prover-server
(Polyspace Code Prover)
詳細は、
-I
を参照してください。