主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

再呼び出し可能なコードの生成と呼び出し

シングルスレッド環境またはマルチスレッド環境のための再呼び出し可能なコードの生成と呼び出し

既定では,生成されたコードは,最大スタック使用量の値のサイズを超える,構成オブジェクト設定StackUsageMaxに格納される変数の静态変数を作成します。変数静态のデータは,関数呼び出し間で存続します。同様に,MATLAB®グローバルおよび永続データは関数呼び出し間で存在します。したがって,メイン関数が生成されたコードを複数のスレッドで実行する場合,不確定な競合状態が発生する可能性があります。

複数スレッドでの同時実行にさらに適したコードを生成するために,MultiInstanceCodeコンフィギュレーションオプションを使用できます。このオプションを使用すると,生成されたコードは,ローカルのスレッドストレージを超えるデータを構造体定義にラップすることで,その構造体にスレッドセーフなメモリを個別に割り当てられるようにします。同様に,コードジェネレーターは永続およびグローバルデータを独自のメモリ構造体にラップします。このメモリを共有してはいけない場合,スレッドによって使用されるデータ構造体の個々のメモリを割り当てることができます。

トピック

再呼び出し可能なコードの基礎

再呼び出し可能なコード

再呼び出し可能なコードは複数のプログラムで同時に使用できる再利用可能なプログラミングルーチンです。

生成された再利用可能なコードのAPI

生成された再利用可能なコードを使用します。

再呼び出し可能なコードの生成の指定

MATLAB编码器™アプリまたはコマンドラインで再呼び出し可能なコードを生成する。

シングルスレッド環境での再呼び出し可能なコードの呼び出し

シングルスレッド環境で,生成された再呼び出し可能なコードを使用します。

マルチスレッド環境での再呼び出し可能なコードの呼び出し

マルチスレッド環境で,生成された再呼び出し可能なコードを使用します。

ワークフロー

MATLABコードからの再呼び出し可能なCコードの生成

再利用可能で再呼び出し可能なCコードを生成します。

永続データまたはグローバルデータを使用しない再呼び出し可能なコードの呼び出し(UNIXのみ)

POSIXスレッド(pthread)ライブラリを使用する再呼び出し可能なコードを生成します。

再呼び出し可能なコードの呼び出し——永続データを使用したマルチスレッド(Windowsのみ)

窗户®プラットフォームに固有のライブラリを使用する再呼び出し可能なコードを生成します。

再呼び出し可能なコードの呼び出し——永続データを使用したマルチスレッド(UNIXのみ)

POSIXスレッド(pthread)ライブラリを使用する再呼び出し可能なコードを生成します。