Main Content

複数のエントリポイント関数に対応する固定小数点 MATLAB コードの生成

最終目標が固定小数点の C/C++ ライブラリ関数の生成である場合、1 つを超えるエントリポイントの MATLAB® 関数に対して 1 つの C/C++ ライブラリを生成すると、以下のことができます。

  • より大規模な C/C++ アプリケーションと統合するための、複数のコンパイル済み MATLAB ファイルを含む C/C++ ライブラリの作成。MATLAB Coder™ ライセンスを必要とする C/C++ コードの生成。

  • ライブラリ関数間でのコードの効率的な共有。

  • 共有メモリを使用したライブラリ関数間の通信。

メモ

プロジェクト内のいずれかのエントリポイント関数がメモリを共有する場合 (永続データなど)、エラーが発生します。この場合、複数のエントリ ポイントから永続データをもつ関数が呼び出されないようにコードを書き換えてください。

例1 固定小数点コンバーター アプリを使用した 2 つのエントリポイント関数の固定小数点への変換

この例では、2 つのエントリポイント関数 ep1 および ep2 を固定小数点に変換します。

  1. ローカルの書き込み可能なフォルダーで関数 ep1.m および ep2.m を作成します。

    function y = ep1(u) %#codegen
    y = u;
    end
    function y = ep2(u, v) %#codegen
    y = u + v;
    end

  2. 同じフォルダーに、両方の関数を呼び出すテスト ファイル ep_tb.m を作成します。

    % test file for ep1 and ep2
    u = 1:100;
    v = 5:104;
    z = ep1(u);
    y = ep2(v,z);
    

  3. アプリ ギャラリーから固定小数点コンバーター アプリを開きます。

  4. 最初のエントリポイント関数 ep1 をプロジェクトに追加するために、[ソース ファイルの選択] ページで ep1 ファイルを参照して [開く] をクリックします。

    既定では、最初のエントリポイント関数の名前がプロジェクトの名前として使用されます。

  5. [エントリポイント関数の追加] をクリックし、2 番目のエントリポイント関数 ep2 を追加します。[次へ] をクリックします。

  6. [入力の型を定義] ページで、2 つのエントリポイント関数を実行するテスト ファイルを入力します。ep_tb ファイルを参照して選択します。[入力の型の自動定義] をクリックします。

  7. [次へ] をクリックします。エントリポイント MATLAB 関数用にインストルメント化された MEX 関数がアプリによって生成されます。[固定小数点に変換] ページで [シミュレーション] をクリックし、エントリポイント関数のシミュレーションを実行して範囲情報を収集し、推奨されるデータ型を取得します。

  8. [変換] をクリックします。

    エントリポイント関数 ep1 および ep2 が固定小数点に変換されます。[出力ファイル] ペインには、両方のエントリポイント関数の生成された固定小数点ファイルとラッパー ファイルが表示されます。

  9. [次へ] をクリックします。[ワークフローの完了] ページにはプロジェクトのサマリーが含まれています。生成された固定小数点変換レポートには、両方のエントリポイント関数のレポートが含まれています。生成されたファイルがサブフォルダー codegen/ep1/fixpt に保存されます。