Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

coder.MexCodeConfig

MATLAB からの MEX 関数生成用構成パラメーター

説明

coder.MexCodeConfig オブジェクトには、MEX 関数の生成時に codegen によって使用される構成パラメーターが含まれます。-config オプションを使用して、オブジェクトを関数 codegen に渡します。

作成

説明

cfg = coder.config('mex')coder.MexCodeConfig オブジェクトを作成します。

cfg = coder.configcoder.MexCodeConfig オブジェクトを作成します。

プロパティ

すべて展開する

コンパイル時の再帰による関数の特殊化の最大数。正の整数として指定します。MATLAB® コード内で再帰が許可されないようにするには、CompileTimeRecursionLimit を 0 に設定します。コンパイル時の再帰限界値の既定値は、このタイプの再帰を必要とするほとんどの再帰関数で十分に大きい値です。コンパイル時の再帰限界値が原因でコード生成に失敗する場合にコンパイル時の再帰が必要なときは、限界値を高くします。あるいは、コード ジェネレーターが実行時の再帰を使用するように、MATLAB コードを変更します。コンパイル時の再帰限界値に達するを参照してください。

定数畳み込みが実行する命令の最大数。状況によっては、コード生成で特定の命令を定数にする必要があります。これらの命令で定数畳み込みが行われる前に定数畳み込みが停止した場合、コードの生成は失敗します。この場合は、ConstantFoldingTimeout の値を増やします。

生成コードの MATLAB Coder の最適化を参照してください。

定数入力チェック モード。次の表のいずれかの値として指定します。

説明
'CheckValues'

この値が既定値です。

MEX 関数の呼び出し時に、定数入力の引数に指定する値がコード生成時に指定された値であるかどうかがチェックされます。

MEX 関数と元の MATLAB 関数を同じ引数を使用して呼び出すことができます。そのため、両方の関数に対して同じテスト ファイルを使用できます。

値のチェックによって、MEX 関数の実行速度が遅くなる可能性があります。

'IgnoreValues'

MEX 関数の呼び出し時に、定数入力の引数に指定する値を無視します。コード生成時に指定された値を使用します。

同じテスト ファイルを使用できるため、定数引数の値をチェックするというオーバーヘッドが発生しません。

'Remove'

コード ジェネレーターは、MEX 関数のシグネチャから定数入力の引数を削除します。MEX 関数の呼び出し時に、定数入力の引数の値を指定しません。

このオプションでは下位互換性が提供されます。

MEX 関数での定数入力のチェックを参照してください。

MATLAB コードから生成された各 C/C++ ヘッダー ファイルの最上部近くに表示されるカスタム コード。文字ベクトルとして指定します。

生成コードのコンパイル時にインクルード パスに追加するインクルード フォルダー。インクルード フォルダーのリストを文字ベクトルとして指定します。文字ベクトルでは、インクルード フォルダーを pathsep 文字で区切ります。以下に例を示します。

cfg = coder.config('mex');
cfg.CustomInclude = ['C:\Project' pathsep 'C:\Custom Files'];

生成された初期化関数に含めるカスタム コード。文字ベクトルとして指定します。

生成コードにリンクするスタティック ライブラリ ファイル。文字ベクトルとして指定します。文字ベクトルでは、ライブラリ ファイル名を pathsep 文字で区切ります。

コンパイルして生成コードにリンクするソース ファイル。文字ベクトルとして指定します。文字ベクトルでは、ソース ファイル名を pathsep 文字で区切ります。

ビルド プロセスは最初に現在のフォルダー内でソース ファイルを探してから、CustomInclude に指定したインクルード フォルダー内で探します。検索パス上の複数のフォルダーに同じ名前のソース ファイルがある場合、指定したファイルとは別のファイルがビルド プロセスで使用される可能性があります。

たとえば、foo.cpp をソース ファイルとして指定するとします。foo.cfoo.cpp の両方が検索パスにある場合、ビルド プロセスが foo.cfoo.cpp のどちらを使用するか断定できません。

生成された .c または .cpp ファイルの最上部付近、関数の外側にコードが表示されるよう指定します。文字ベクトルとしてコードを指定します。

C 静的関数の定義は指定しないでください。

生成された終了関数に表示されるコード。文字ベクトルとして指定します。

深層学習ネットワークのコード生成の構成オブジェクト。coder.MklDNNConfig オブジェクトとして指定します。

coder.MklDNNConfig オブジェクトには、Intel® MKL-DNN を使用した深層学習用の C++ コード生成に固有のパラメーターが含まれています。coder.MklDNNConfig オブジェクトを作成するには、coder.DeepLearningConfig を使用します。以下に例を示します。

cfg = coder.config('mex');
cfg.TargetLang = 'C++';
cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn');

深層学習ネットワークのコード生成には Deep Learning Toolbox™ および MATLAB Coder™ Interface for Deep Learning Libraries サポート パッケージが必要です。

MKL-DNN を使用した、深層学習ネットワークのためのコード生成を参照してください。

メモ

MEX コードの生成は、ARM® Compute Library を使用した深層学習についてはサポートされていません。

依存関係: DeepLearningConfig を設定すると、codegenTargetLangC++ に設定されます。

動的メモリ割り当てモード。次の表のいずれかの値として指定します。

説明
'Threshold'

この値が既定値です。

コード ジェネレーターは、サイズ (バイト単位) が DynamicMemoryAllocationThreshold 以上である可変サイズ配列に対しては、ヒープ上でメモリを動的に割り当てます。

'AllVariableSizeArrays'コード ジェネレーターは、ヒープ上ですべての可変サイズ配列のメモリを動的に割り当てます。
'Off'

コード ジェネレーターは、スタック上で可変サイズ配列のメモリを静的に割り当てます。

制限のない可変サイズの配列では動的なメモリ割り当てが必要です。

依存関係:

  • EnableVariableSizing により、このパラメーターが有効になります。

  • この DynamicMemoryAllocation'Threshold' に設定すると、DynamicMemoryAllocationThreshold パラメーターが有効になります。

可変サイズ データのためのコード生成を参照してください。

生成された C/C++ 関数のインターフェイスにおける動的に割り当てられた配列の実装。次の表のいずれかの値として指定します。

説明
'C'

生成されたコードは、C スタイルの emxArray データ構造体を使用して動的に割り当てられた配列を実装します。生成された関数インターフェイスでの C 配列の使用を参照してください。

'C++'

TargetLang パラメーターを 'C++' に設定した場合は、この値が既定値です。TargetLang パラメーターを 'C' に設定した場合は、この値は無効になります。

生成されたコードは、coder::array クラス テンプレートを使用して動的に割り当てられた配列を実装します。生成された関数インターフェイスでの動的に割り当てられた C++ 配列の使用を参照してください。

依存関係:

  • EnableVariableSizing により、このパラメーターが有効になります。

可変サイズの配列の動的なメモリ割り当てのサイズしきい値。正の整数として指定します。コード ジェネレーターでは、しきい値以上のサイズ (バイト) をもつ可変サイズの配列に動的メモリ割り当てを使用します。

依存関係:

  • DynamicMemoryAllocation'Threshold' に設定すると、このパラメーターが有効になります。

可変サイズ データのためのコード生成を参照してください。

式をエコー。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

MEX 関数は、セミコロンで終了していないステートメントの出力を表示します。

false

MEX 関数は、セミコロンで終了していないステートメントの出力を表示しません。

このプロパティは、一般的な可視化関数 (dispplotfigure など) が外部関数として呼び出された場合には適用されません。MEX 関数は、セミコロンまたは EchoExpressions の値の有無に関係なく、これらの関数の出力を表示します。

自動的な外部関数呼び出し。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

コード ジェネレーターは、一部の一般的な可視化関数を外部関数として扱います。coder.extrinsic を使用してこれらの関数を外部関数として宣言する必要はありません。この機能を使用すると、コードがコード生成に適するようになるまでの時間が短縮されます。

false一般的な可視化関数を coder.extrinsic を使用して外部関数として宣言しない限り、コード ジェネレーターはこれらの可視化関数を外部関数として扱いません。

一部の一般的な可視化関数とは plotdispfigure です。外部関数を参照してください。

C コンパイラのデバッグ モード。次の表のいずれかの値として指定します。

説明
false

この値が既定値です。

コード ジェネレーターは C コンパイラのデバッグ モードを有効にしません。

true

コード ジェネレーターは C コンパイラのデバッグ モードを有効にします。デバッグ モードが有効になっている場合、C コンパイラはコードを最適化しません。コンパイルは速くなりますが、実行は遅くなります。

Just-In-Time (JIT) コンパイル モード。次の表のいずれかの値として指定します。

説明
false

この値が既定値です。

コード ジェネレーターは C/C++ コードを生成およびコンパイルして C/C++ MEX 関数を作成します。

true

コード ジェネレーターは MEX 関数の生成に Just-In-Time (JIT) コンパイル テクノロジーを使用します。コード ジェネレーターは、MATLAB コードの抽象表現を含む JIT MEX 関数を作成します。JIT MEX 関数を実行すると、MATLAB はメモリ内に実行可能コードを生成します。

MEX 関数の生成を高速化するには、EnableJITtrue に設定します。

JIT コンパイルは、カスタム コードや OpenMP ライブラリの使用など、特定のコード生成機能やオプションと互換性がありません。JIT コンパイルを指定した場合にコード ジェネレーターがそれを使用できないと、C/C++ MEX 関数が警告と共に生成されます。EnableJITEnableOpenMPtrue のときにコードが parfor を使用する場合、コード ジェネレーターは JIT コンパイルを使用して parfor ループを for ループとして処理します。

JIT コンパイルを使用した MEX 生成速度の高速化を参照してください。

memcpy 最適化。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

可能であれば、コード ジェネレーターは memcpy 最適化を使用します。連続する配列要素をコピーするコードを最適化するために、memcpy 最適化はこのコードを memcpy 呼び出しに置き換えます。コピーする要素数がコンパイル時にわかっている場合、コード ジェネレーターは MemcpyThreshold プロパティを使用して、最適化を使用するかどうかを判断します。memcpy 最適化を参照してください。

false

コード ジェネレーターは memcpy 最適化を使用しません。

生成された MEX 関数のプロファイリングの有効化。次の表のいずれかの値として指定します。

説明
false

この値が既定値です。

コード ジェネレーターは、生成された MEX 関数にプロファイリング用計測を含みません。

true

コード ジェネレーターは、生成された MEX 関数にプロファイリング用計測を含みます。MATLAB プロファイラーを使用して MEX をプロファイリングできます。MATLAB プロファイラーを使用した MEX 関数のプロファイリングを参照してください。

parfor ループの並列化。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

可能であれば、コード ジェネレーターは OpenMP ライブラリを使用して、並列実行されるループ反復を生成します。

false

コード ジェネレーターは parfor ループを for ループとして処理します。

parfor を参照してください。

OpenMP ライブラリの使用は Just-In-Time (JIT) コンパイルと互換性がありません。EnableJITEnableOpenMPtrue の場合、コード ジェネレーターは JIT コンパイルを使用し、parfor ループを for ループとして処理します。

実行時の再帰のサポート。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

生成されたコードで再帰関数が許可されます。

false

生成されたコードで再帰関数が許可されません。

MISRA® などの一部のコーディング標準では、再帰は許可されません。MISRA C® に準拠したコードを生成する可能性を高めるには、EnableRuntimeRecursionfalse に設定します。

MATLAB コードで実行時の再帰が必要な場合に EnableRuntimeRecursionfalse のとき、コード生成に失敗します。

再帰関数のコード生成を参照してください。

可変サイズ配列のサポート。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

可変サイズの配列がコード生成で許可されます。

false

可変サイズの配列がコード生成で許可されません。

依存関係:

  • Dynamic memory allocation を有効にします。

可変サイズの配列のコード生成を参照してください。

外部関数呼び出しのサポート。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

外部関数に対して、コード ジェネレーターは MATLAB 関数の呼び出しを生成します。コード ジェネレーターはこの関数の内部コードを生成しません。

false

コード ジェネレーターは外部関数を無視します。MATLAB 関数の呼び出しに対して、コードは生成されません。外部関数が MATLAB 関数の出力に影響を与える場合、コード ジェネレーターはコンパイル エラーを発行します。

ExtrinsicCallsfalse に設定した場合、生成された MEX 関数は、errorassert ステートメントからのランタイム メッセージを MATLAB コードに表示できません。MEX 関数はエラー メッセージを表示できないことを報告します。エラー メッセージを表示するには、ExtrinsicCallstrue に設定し、MEX 関数を再度生成します。

ExtrinsicCalls の値は、MEX 関数による randrandirandn の乱数発生方法に影響を与えます。ExtrinsicCallstrue の場合、MEX 関数は MATLAB のグローバル乱数ストリームを使用して乱数を生成します。そうでない場合は、MEX 関数は内蔵の乱数発生器を使用します。

外部関数を参照してください。

ファイルの分割モード。次の表のいずれかの値として指定します。

説明
'MapMFileToCFile'

この値が既定値です。

コード ジェネレーターは各 MATLAB 言語ファイルに対して個別の C/C++ ファイルを生成します。

'SingleFile'コード ジェネレーターは、MATLAB エントリポイント関数にマッピングされる C/C++ 関数に対して 1 つのファイルを生成します。コード ジェネレーターは、ユーティリティ関数に対して個別の C/C++ ファイルを生成します。

MATLAB Coder が生成コードを分割する方法を参照してください。

ソース コードのみの生成。次の表のいずれかの値として指定します。

説明
false

この値が既定値です。

コード ジェネレーターは C/C++ ソース コードを生成し、オブジェクト コードをビルドします。

true

コード ジェネレーターは C/C++ ソース コードを生成しますが、make コマンドを呼び出したり、オブジェクト コードをビルドしたりしません。MATLAB コードの変更と C/C++ コードの生成を反復するときは、コードのみ生成すると時間を節約できます。

生成されたコード内のコメント。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

コード ジェネレーターは生成されたコードにコメントを配置します。

falseコード ジェネレーターは生成されたコードにコメントを配置しません。

コード生成レポート。次の表のいずれかの値として指定します。

説明
false

この値が既定値です。

コード ジェネレーターは、エラーや警告メッセージが発生した場合のみ、または LaunchReporttrue に設定した場合にレポートを生成します。

trueコード ジェネレーターはコード生成レポートを生成します。

グローバルなデータ同期モード。次の表のいずれかの値として指定します。

グローバル データの説明定数のグローバル データの説明

'SyncAlways' (既定の設定)

この値が既定値です。

MEX 関数のエントリ時と終了時および外部の呼び出し時にグローバル データを同期することで、MATLAB と生成される MEX 関数の間で最大の一貫性が確保されます。外部呼び出しがグローバル データを変更しない場合は、このオプションを coder.extrinsic -sync:off オプションと共に使用してこれらの呼び出しの同期化をオフにすると、パフォーマンスが最大になります。

MEX 関数のエントリ時と外部呼び出し後に定数のグローバル データの整合性を確認します。MATLAB グローバル ワークスペース内のグローバル データ値が MEX 関数内のコンパイル時の定数のグローバル値と一致しない場合、MEX 関数はエラーで終了します。特定の外部呼び出し後の整合性チェックをオフにするには、coder.extrinsic -sync:off オプションを使用します。

'SyncAtEntryAndExits'

MEX 関数のエントリ時と終了時のみグローバル データを同期します。少数の外部呼び出しのみがグローバル データを変更する場合、パフォーマンスを最大化するには、このオプションを coder.extrinsic -sync:on オプションと共に使用してこれらの呼び出しの同期化をオンにします。

MEX 関数のエントリ時のみに定数のグローバル データを確認します。MATLAB グローバル ワークスペース内のグローバル データ値が MEX 関数内のコンパイル時の定数のグローバル値と一致しない場合、MEX 関数はエラーで終了します。特定の外部呼び出し後の整合性チェックをオンにするには、coder.extrinsic -sync:on オプションを使用します。

'NoSync'

同期化を無効にします。同期化を無効にする前に、MEX 関数が MATLAB グローバル データとやり取りしていないことを確認します。そうでない場合は、MATLAB 関数と MEX 関数との間に不整合が生じる場合があります。

整合性チェックを無効にします。

グローバル データのためのコード生成を参照してください。

行優先のレイアウトによる効率性の潜在的な問題の表示。次の表のいずれかの値として指定します。

説明
true

コード生成レポートには、行優先のレイアウトによる効率性の潜在的な問題が表示されます (この値が既定値です)。

falseコード生成レポートには、配列レイアウトに関する問題は表示されません。

行優先のレイアウトのコード設計を参照してください。

memset を使用した float と double のゼロの代入。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

可能であれば、コード ジェネレーターは、連続する配列要素への浮動小数点ゼロの代入に対して memset 最適化を使用します。連続する配列要素を代入するには、memset 最適化では memset 呼び出しが使用されます。代入する要素数がコンパイル時にわかっている場合、コード ジェネレーターは MemcpyThreshold プロパティを使用して、最適化を使用するかどうかを判断します。memset の最適化を参照してください。

false

コード ジェネレーターは、連続する配列要素への float と double のゼロの代入に対して memset 最適化を使用しません。

インライン化された関数のスタック サイズ制限。正の整数として指定します。スタック サイズ制限によって、インライン化された関数のローカル変数に割り当てられるスタック領域の量が決定されます。

スタック領域の制限を指定すると、インライン化の許容量に制限がかかります。ライン外の関数の場合、関数のローカル変数のスタック領域は、関数が返ったときに解放されます。しかしインライン関数では、関数が返されても、ローカル変数によってスタック領域は占有されたままになります。

この機能は、スタック サイズが制限される場合がある組み込みプロセッサでは特に重要です。

インライン化の制御を参照してください。

インライン化に関する関数サイズのしきい値。正の整数として指定します。

他の条件によってインライン化が回避されない限り、コード ジェネレーターは、しきい値より小さい関数をインライン化します。

関数のサイズは、実際の MATLAB 命令でもターゲット プロセッサの命令でもなく、命令の無名数として測定されます。必要なインライン化の動作を得るには、しきい値を調整します。たとえば、既定のしきい値を設定すると大きい関数がインライン化され、C コードが大量に生成される場合、生成されたコードが満足なサイズになるまでしきい値を調整してください。

インライン化の制御を参照してください。

インライン化後の関数の最大サイズ。正の整数で指定します。インライン化後、呼び出し元の関数のサイズが InlineThresholdMax を超えると、コード ジェネレーターは呼び出した関数をインライン化しません。

関数のサイズは、実際の MATLAB 命令でもターゲット プロセッサの命令でもなく、命令の無名数として測定されます。必要なインライン化の動作を得るには、しきい値を調整します。たとえば、既定のしきい値を設定すると大きい関数がインライン化され、C コードが大量に生成される場合、生成されたコードが満足なサイズになるまでしきい値を調整してください。

インライン化の制御を参照してください。

メモリの整合性チェック。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

生成されたコードはメモリの整合性違反を検出し、診断メッセージを表示して実行を停止します。

false

生成されたコードはメモリの整合性違反を検出しません。

IntegrityChecksfalse に設定することでパフォーマンスが向上する可能性があります。ただし、メモリの整合性チェックが行われないと、違反が予期できない動作の原因になります。配列の範囲のチェックと次元のチェックが不要であることを確認した場合にのみ、IntegrityChecksfalse に設定してください。IntegrityChecksfalse に設定しても、ランタイム スタックが無効になります。

実行時チェックの制御を参照してください。

コード生成レポートを自動的に開く。次の表のいずれかの値として指定します。

説明
false

この値が既定値です。

エラーや警告が発生した場合、または GenerateReporttrue の場合、コード ジェネレーターはレポートを生成しますが、レポートを開きません。

trueコード ジェネレーターはコード生成レポートを生成して開きます。

生成コードに MATLAB ソース コードをコメントとして含める。次の表のいずれかの値として指定します。

説明
false

この値が既定値です。

コード ジェネレーターは MATLAB ソース コードをコメントとして生成コードに挿入しません。コード ジェネレーターは関数バナーに MATLAB 関数シグネチャを含めません。

true

コード ジェネレーターは MATLAB ソース コードをコメントとして生成コードに挿入します。トレーサビリティ タグがソース コードの各行の直前に挿入されます。トレーサビリティ タグにより、対応する MATLAB ソース コードの位置を特定できます。MATLAB ソース コードへの生成された C/C++ コードのトレースを参照してください。

コード ジェネレーターは関数バナーに MATLAB 関数シグネチャも含めます。

依存関係:

  • GenerateComments により、このパラメーターが有効になります。

MATLAB ソース コードへの生成された C/C++ コードのトレースを参照してください。

memcpy 最適化または memset 最適化の最小サイズ (バイト単位)。正の整数として指定します。

連続する配列要素をコピーする生成されたコードを最適化するために、コード ジェネレーターはこのコードを memcpy 呼び出しに置き換えることを試みます。リテラル定数を連続する配列要素に代入する生成されたコードを最適化するために、コード ジェネレーターはこのコードを memset 呼び出しに置き換えることを試みます。

バイト数は、コピーまたは代入する配列要素数に C/C++ データ型に必要なバイト数を乗算した値です。

コピーまたは代入する要素の数が可変である (コンパイル時に不明) 場合、コード ジェネレーターは MemcpyThreshold プロパティを無視します。

memcpy 最適化memset の最適化を参照してください。

オブジェクト名。文字ベクトルとして指定します。

codegen を使用した MEX 関数の生成後にビルド プロセスをカスタマイズするコマンド。文字ベクトルとして指定します。

ビルド プロセスのカスタマイズを参照してください。

N 次元のインデックスを使用するコードの生成。次の表のいずれかの値として指定します。

説明
false

1 次元インデックスを使用するコードを生成します (この値が既定値です)。

trueN 次元インデックスを使用するコードを生成します。

N 次元インデックスを使用するコードの生成を参照してください。

生成されたコード内に保持する変数名。次の表のいずれかの値として指定します。

説明
'None'

この値が既定値です。

コード ジェネレーターで変数名を保持する必要はありません。変数再利用の要件に適合する変数であれば、再利用します。

コードで大きい構造体または配列を使用する場合、PreserveVariableNames'None' に設定することでメモリ使用量を削減したり、実行速度を改善できます。

'UserNames'

コード ジェネレーターは MATLAB コードで定義した変数に対応する名前を保持します。ユーザーの変数名が別の名前で置換されたり、ユーザーの名前が別の変数に使用されることはありません。可読性を向上させるには、PreserveVariableNames'UserNames' に設定します。そうすれば、生成コードの変数を MATLAB コードの変数までさらに容易に追跡できます。

PreserveVariableNames'UserNames' に設定しても、最適化によって生成コードから変数が削除されることや、生成されたバイナリ コード内の変数が C/C++ コンパイラによって再利用されることは回避できません。

'All'

すべての変数名を保持します。このパラメーター値により変数再利用が無効になります。テストまたはデバッグのみに使用し、量産コードでは使用しないでください。

生成されたコードでの変数名の保持を参照してください。

コード生成に関する情報をエクスポートする変数の名前。文字ベクトルとして指定します。コード ジェネレーターでは、この変数をベースの MATLAB ワークスペースに作成します。この変数には、コード生成設定、入力ファイル、生成ファイル、およびコード生成メッセージに関する情報が格納されます。

コード生成レポートの情報へのプログラムによるアクセスおよび coder.ReportInfo のプロパティ を参照してください。

潜在的な相違点のレポート。次の表のいずれかの値として指定します。

説明
trueコード ジェネレーターは生成コードと MATLAB コード間での潜在的な動作の相違をレポートします。潜在的な相違はコード生成レポートのタブに一覧表示されます。潜在的な相違とは、特定の状況にある場合にのみ実行時に生じる違いです。
falseコード ジェネレーターは潜在的な相違をレポートしません。

潜在的な相違点のレポートを参照してください。

コード ジェネレーターが関数または変数に使用してはならない名前のリスト。文字ベクトルまたは string スカラーとして指定します。複数の予約名を指定するには、セミコロンで区切られた予約名のリストを ReservedNameArray で使用します。例: cfg.ReservedNameArray = "reserve1;reserve2;reserve3"

応答性チェック。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

Ctrl + C を使用して生成された MEX 関数の実行を停止できます。

false

長時間かかる MEX 関数を終了させるには、MATLAB を終了させなければならない場合があります。

実行時チェックの制御を参照してください。

行優先の配列レイアウトを使用するコードの生成。次の表のいずれかの値として指定します。

説明
false

列優先の配列レイアウトを使用するコードを生成します (この値が既定値です)。

true行優先の配列レイアウトを使用するコードを生成します。

行優先の配列レイアウトを使用するコードの生成を参照してください。

整数オーバーフローのサポート。次の表のいずれかの値として指定します。

説明
true

この値が既定値です。

コード ジェネレーターは整数オーバーフローを処理するコードを生成します。オーバーフローは、データ型が表現できる最小値または最大値のいずれかに飽和します。

false

コード ジェネレーターは整数オーバーフローを処理するコードを生成しません。コードが整数オーバーフローのサポートに依存していることが確認されない限り、SaturateOnIntegerOverflowfalse に設定しないでください。整数オーバーフローのサポートを無効にし、整合性チェックが有効な場合、生成コードでオーバーフローのエラーが発生します。整数オーバーフローのサポートを無効にし、整合性チェックを無効にした場合、オーバーフローの動作はターゲットの C コンパイラによって異なります。C 規格では、整数オーバーフローの動作は定義されていません。ただし、ほとんどの C コンパイラはオーバーフロー時にラップします。

このパラメーターは、MATLAB の組み込み整数型にのみ適用されます。double、single または固定小数点データ型には適用されません。

整数オーバーフローまたは非有限のサポートの無効化を参照してください。

アプリケーションごとの最大スタック使用量 (バイト単位)。正の整数として指定します。使用できるスタック サイズより小さい制限値を設定します。そうしないと、実行時スタック オーバーフローが発生する場合があります。C コンパイラはスタック オーバーフローを検出して報告します。

スタック領域使用量の制御を参照してください。

生成されたコードで使用する言語。'C' または 'C++' として指定します。C++ を指定する場合、コード ジェネレーターは C コードを .cpp ファイルにラップするため、C++ コンパイラおよび外部 C++ アプリケーションとのインターフェイスを使用できます。C++ クラスは生成しません。

依存関係: DeepLearningConfig を設定すると、codegenTargetLangC++ に設定されます。

すべて折りたたむ

コードを生成できる MATLAB 関数を記述します。この例では、入力の合計を返す関数 myadd を使用します。

function c = myadd(a,b)
c = a + b;
end

MEX 関数生成用の構成オブジェクトを作成します。

cfg = coder.config('mex');

既定値を使用しないプロパティの値を変更します。たとえば、Just-In-Time (JIT) コンパイルを有効にします。

cfg.EnableJIT = true;

codegen を使用してコードを生成します。-config オプションを使用して構成オブジェクトを codegen に渡します。入力引数が double 型のスカラーであることを指定します。

codegen myadd -config cfg -args {1 1} -report

代替機能

構成オブジェクトを作成する代わりに、MEX 関数の生成で既定の構成パラメーター値を使用するには、構成オブジェクトを指定せずに、または -config:mex オプションを使用して codegen を呼び出すことができます。

R2011a で導入