メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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++ ヘッダーの両方のパスを指定します。

参考

トピック