生成された再利用可能なコードの API
再利用可能なコードを生成すると、MATLAB® Coder™ では次の動的な割り当てがサポートされます。
スタックには大きすぎる関数変数
永続変数
グローバル変数
ヘッダー ファイル primary_function_name
_types.h
が生成され、生成コードを使用する際にはこのヘッダー ファイルを含めなければなりません。このヘッダー ファイルには、以下の構造体が含まれます。
primary_function_name
StackData
この構造体はユーザーが割り当てたメモリを含みます。構造体を次のように使用するすべての関数に対する最初のパラメーターとして、この構造体にポインターを渡さなければなりません。
構造体内のフィールドを使用するため、直接使用する
呼び出した関数に構造体を渡すため、間接的に使用する
アルゴリズムが永続データまたはグローバル データを使用する場合は、
primary_function_name
StackData
構造体にはprimary_function_name
PersistentData
構造体へのポインターも含まれています。このポインターを含めると、呼び出し元の各関数には 1 つのパラメーターを渡すだけで済みます。primary_function_name
PersistentData
アルゴリズムで永続変数またはグローバル変数を使用する場合は、MATLAB Coder によってこの変数のために個別の構造体が提供されます。メモリの割り当て構造体にはこの構造体へのポインターが含まれます。永続変数とグローバル変数のために独立した構造体があるので、この変数に対して 1 度メモリを割り当てるだけで、すべてのスレッドで共有できるようになります。ただし、スレッド間のやり取りがない場合は、スレッドごとにこの変数にメモリを割り当てることもできます。
グローバル構造体の使用方法については、マルチスレッドの例を参照してください。