Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

coder.allowpcode

パッケージ: coder

保護された MATLAB ファイルからのコード生成の制御

構文

coder.allowpcode('plain')

説明

coder.allowpcode('plain') を使用して、保護された MATLAB® コード (P コード) を生成します。このコードは、最適化された MEX 関数または組み込み可能 C/C++ コードにコンパイルすることができます。この関数は、生成された MEX 関数または組み込み可能 C/C++ コードを難読化しません。

この機能を使用すると、コード生成の最適化を提供するアルゴリズムを保護された P ファイルとして分配できます。

この関数が最上位レベルの関数で呼び出されると、ifwhileswitch などの制御フロー ステートメントや関数呼び出しが発生します。

MATLAB 関数は P コードを呼び出すことができます。ファイルの .m および .p バージョンが同じフォルダーに存在する場合、P ファイルが優先されます。

コード生成の範囲外では、関数 coder.allowpcode は無視されます。

保護された MATLAB コードから最適化された組み込み可能コードを生成します。

  1. 入力の絶対値を返す関数 p_abs を作成します。

    function out = p_abs(in)   %#codegen
    % The directive %#codegen indicates that the function
    % is intended for code generation
    coder.allowpcode('plain');
    out = abs(in);

  2. 保護された P コードを生成します。MATLAB プロンプトで、次のように入力します。

    pcode p_abs
    P ファイル p_abs.p が現在のフォルダーに表示されます。

  3. -args オプションを使用して入力パラメーター (MATLAB Coder™ ライセンスが必要) のサイズ、クラス、実数/複素数を指定し、p_abs.p の MEX 関数を生成します。MATLAB プロンプトで、次のように入力します。

    codegen p_abs -args { int32(0) }
    codegen は現在のフォルダーに MEX 関数を生成します。

  4. p_abs.p の組み込み可能な C コードを生成します (MATLAB Coder ライセンスが必要)。MATLAB プロンプトで、次のように入力します。

    codegen p_abs -config:lib -args { int32(0) };
    codegen によって C ライブラリ コードが codegen\lib\p_abs フォルダー内に生成されます。

参考

| (MATLAB Coder)

R2011a で導入