このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
呼び出す関数 (-main-generator-calls
)
生成された main
により初期化関数の後に呼び出す関数の指定
説明
このオプションは Code Prover 解析のみに影響します。
このオプションは、MATLAB® コードまたは Simulink® モデルから生成されたコードでは使用できません。
生成された main
が呼び出す関数を指定します。main
は、オプション [初期化関数] (-functions-called-before-main)
で指定された関数の後で、これらの関数を呼び出します。
オプションの設定
以下のいずれかの方法を使用してオプションを設定します。
Polyspace® ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成で [Code Prover 検証] ノードを選択してから、このオプションの値を選択します。
Polyspace Platform ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成の [静的解析] タブで [実行時エラー] ノードを選択してから、このオプションの値を選択します。最初に有効にしなければならない他のオプションについては、依存関係を参照してください。
コマンド ラインとオプション ファイル: オプション
-main-generator-calls
を使用します。コマンド ライン情報を参照してください。
このオプションを使用する理由
モジュールまたはライブラリを検証している場合、main
関数が存在しないと、Code Prover によって生成されます。main
関数が存在する場合、解析では既存の main
が使用されます。
このオプションとオプション [初期化関数] (-functions-called-before-main)
を同時に使用して、生成された main
が呼び出さなければならない関数を指定します。main
から直接または間接的に呼び出される場合を除いて、本ソフトウェアはその関数を解析しません。
設定
既定値: unused
none
生成された
main
はどの関数も呼び出しません。unused
生成された
main
は、ソース コード内で呼び出されていない関数のみを呼び出します。インライン化された関数は呼び出しません。all
生成された
main
は、インライン化された関数を除くすべての関数を呼び出します。custom
生成された
main
は、指定された関数を呼び出します。関数名を入力するか、一覧から選択します。
をクリックしてフィールドを追加し、関数名を入力します。
をクリックして、コード内の関数の一覧を表示します。その一覧から関数を選択します。
スコープ解決演算子を使用して特定の名前空間の関数を指定する場合は、
myClass::myMethod(int)
などの完全修飾名を入力します。関数にパラメーターがない場合、myClass::myMethod()
のように空のかっこを使用します。
依存関係
オプション [モジュールまたはライブラリの検証] (-main-generator)
が選択されている場合にのみ、このオプションを使用できます。
コードに main
関数が含まれている場合、このオプションは無視されます。
ヒント
[Code Prover 検証] 、 [ファイルを個別に検証] を選択する場合、
[unused]
を選択します。インライン化された関数を生成された
main
で呼び出すには、[custom]
を選択し、関数名を指定します。main なしでマルチタスク アプリケーションを検証するには、
none
を選択します。生成された
main
は、関数を任意の順序で呼び出すことができます。関数を特定の順序で呼び出すには、呼び出し用にmain
関数を手作業で作成します。テンプレートのインスタンスを引数として指定するには、オプションの引数
[all]
を使用して一度解析を実行します。解析ログ内でテンプレート名を検索し、解析ログに表示されているテンプレート名をオプションの引数として使用します。たとえば、次のテンプレート関数のインスタンス化をオプションの引数として指定するには、以下のようにします。
オプションtemplate <class T> T GetMax (T a, T b) { T result; result = (a>b)? a : b; return (result); } template int GetMax<int>(int, int); // explicit instantiation
-main-generator-calls all
を使用して解析を実行します。解析ログでgetMax
を検索します。次のような関数形式が見つかります。このテンプレートのインスタンスのみを呼び出すには、引数間のスペースを削除して、次のオプションを使用します。T1 getMax<int>(T1, T1)
-main-generator-calls custom="T1 getMax<int>(T1,T1)"
コマンド ライン情報
パラメーター: -main-generator-calls |
値: none | unused | all | custom= |
既定値: unused |
例 (Code Prover): polyspace-code-prover -sources |
例 (Code Prover Server): polyspace-code-prover-server -sources |