Main Content

コード生成における配列サイズの制限

コード生成では、配列の最大要素数は、コード ジェネレーターとターゲット ハードウェアによって制限されます。

固定サイズの配列および静的メモリ割り当てを使用する可変サイズの配列については、要素の最大数は次のいずれか小さい方になります。

  • intmax('int32').

  • ターゲット ハードウェアの C の int データ型に適合する最大の整数。

動的メモリ割り当てを使用する可変サイズの配列については、要素の最大数は次のいずれか小さい方になります。

  • intmax('int32').

  • ターゲット ハードウェアの C の int データ型に適合する最大の 2 のべき乗。

これらの制限は 64 ビット プラットフォーム上でも適用されます。

固定サイズの配列の要素数が最大を超えている場合、コード ジェネレーターによってコンパイル時にエラーが報告されます。

可変サイズの配列の要素数が実行時に最大を超えた場合のエラー チェックの動作は、コード生成ターゲットによって異なります。

  • codegen コマンド、fiaccel (Fixed-Point Designer) コマンド、または MATLAB® Coder™ アプリを使用して生成されたコードの実行時は、実行時エラー チェックが有効になっていれば、生成されたコードでエラーが報告されます。既定では、実行時エラー チェックは MEX コードに対して有効化され、スタンドアロン C/C++ コードに対しては無効化されています。

  • MATLAB Function (Simulink) ブロックのシミュレーション時は、ソフトウェアでエラーが報告されます。MATLAB Function ブロックに対する生成されたスタンドアロン コードでは配列サイズ違反を報告できません。

参考

関連するトピック