このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MATLAB コードから生成された C/C++ コードに対する Polyspace の実行
MATLAB® コードから C/C++ コードを生成した後、生成されたコードを以下について個別にチェックできます。
バグ (欠陥) およびコーディング ルール違反 (Polyspace® Bug Finder™ を使用)。
ランタイム エラー (Polyspace Code Prover™ を使用)。
R2025a において: Polyspace は新しい MATLAB Coder™ アプリと統合しません。このトピックに示されているように Polyspace 解析に MATLAB スクリプトを使用します。
前提条件
この例に従うには、次のようにします。
Embedded Coder® ライセンスを所持していなければなりません。
codegen
コマンドを使用する方法を理解していなければなりません。そうでない場合、MATLAB Coder 入門を参照してください。Polyspace インストールと MATLAB インストールを統合しなければなりません。MATLAB や Simulink との Polyspace の統合を参照してください。
例のファイル
このチュートリアルでは、
にある MATLAB Coder の例 polyspaceroot
\polyspace\examples\doc_cxx\matlab_coderaveraging_filter
を使用します。ここで、
は polyspaceroot
C:\Program Files\Polyspace\R2025a
などの Polyspace インストール フォルダーです。この例では、Code Prover 解析を示します。Bug Finder の場合、同様のワークフローに従うことができます。
MATLAB を使用した Polyspace 解析の実行
Polyspace 解析を実行するには、最初に MATLAB 関数 averaging_filter()
から C コードを静的ライブラリとして生成します。MATLAB コマンド ウィンドウで以下を入力します。
% Generate code matlabFileName = fullfile(polyspaceroot, 'polyspace',... 'examples','doc_cxx','matlab_coder','averaging_filter.m'); codegenFolder = fullfile(pwd, 'codegenFolder'); codegen(matlabFileName, '-config:lib', '-c', '-args', ... {zeros(1,100,'double')}, '-d', codegenFolder);
Polyspace 解析を構成するための pslinkoptions
オブジェクトを作成します。MATLAB コマンド ウィンドウで以下を入力します。
opts = pslinkoptions('ec');
opts
のプロパティを使用して、Code Prover 検証を選択し、一時フォルダーに結果を保存し、解析が完了したら Polyspace ユーザー インターフェイスを開きます。opts.VerificationMode = 'CodeProver'; opts.ResultDir = [tempdir 'results']; opts.OpenProjectManager = 1;
前述の構成を使用して Polyspace 解析を実行します。
[polyspaceFolder, resultsFolder] = pslinkrun('-codegenfolder', codegenFolder, opts);