Main Content

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

再利用可能なコードを生成すると、MATLAB® Coder™ では次の動的な割り当てがサポートされます。

  • スタックには大きすぎる関数変数

  • 永続変数

  • グローバル変数

ヘッダー ファイル primary_function_name_types.h が生成され、生成コードを使用する際にはこのヘッダー ファイルを含めなければなりません。このヘッダー ファイルには、以下の構造体が含まれます。

  • primary_function_nameStackData

    この構造体はユーザーが割り当てたメモリを含みます。構造体を次のように使用するすべての関数に対する最初のパラメーターとして、この構造体にポインターを渡さなければなりません。

    • 構造体内のフィールドを使用するため、直接使用する

    • 呼び出した関数に構造体を渡すため、間接的に使用する

    アルゴリズムが永続データまたはグローバル データを使用する場合は、primary_function_nameStackData 構造体には primary_function_namePersistentData 構造体へのポインターも含まれています。このポインターを含めると、呼び出し元の各関数には 1 つのパラメーターを渡すだけで済みます。

  • primary_function_namePersistentData

    アルゴリズムで永続変数またはグローバル変数を使用する場合は、MATLAB Coder によってこの変数のために個別の構造体が提供されます。メモリの割り当て構造体にはこの構造体へのポインターが含まれます。永続変数とグローバル変数のために独立した構造体があるので、この変数に対して 1 度メモリを割り当てるだけで、すべてのスレッドで共有できるようになります。ただし、スレッド間のやり取りがない場合は、スレッドごとにこの変数にメモリを割り当てることもできます。

グローバル構造体の使用方法については、マルチスレッドの例を参照してください。