Main Content

MEX 関数の実行とデバッグ

MEX 関数を呼び出すときは、元の MATLAB® アルゴリズムで使用する入力と同じ入力を渡します。MEX 関数には、coder.Constant またはいずれの coder.Type クラスも渡さないでください。これらのクラスは関数 codegen で使用します。

MATLAB Coder™ によって生成された MEX 関数を実行するには、MEX 関数が必要とするすべてのツールボックスのライセンスがなければなりません。たとえば、Computer Vision Toolbox™ 関数または System object™ を使用する MATLAB アルゴリズムから MEX 関数を生成した場合、その MEX 関数を実行するには Computer Vision Toolbox ライセンスが必要です。

MATLAB をアップグレードした場合は、MEX 関数を新しいバージョンで実行する前に MEX 関数をリビルドしてください。

MEX 関数のデバッグ

MEX 関数をデバッグするには、関数 disp を使用して MEX 関数の変数の内容を検査します。コード生成ではサポートされていないため、MEX 関数の変数のデバッグには save を使用できません。コード生成では、外部としての save の宣言はサポートされていません。MEX 関数の変数の内容を検査するには関数 fprintf も使用できます。

C/C++ デバッガーを使用した MEX 関数のデバッグ

C/C++ デバッガーを使用して MEX 関数をデバッグするには、MEX 構成オブジェクトのプロパティ EnableDebugging1 に設定します。

cfg = coder.config('mex');
cfg.EnableDebugging = 1;
codegen -config cfg foo_mex
あるいは、次のコマンドを実行して MEX 関数をデバッグできます。

codegen -g foo_mex

foo_mex ファイルは、デバッグする MEX ファイルです。C または C++ デバッガーを使用してこのファイルをデバッグできます。Microsoft Windows プラットフォームでの C/C++ デバッガーを使用したデバッグの詳細については、Microsoft Windows プラットフォームでのデバッグを参照してください。

Linux® または Mac プラットフォームでの C/C++ デバッガーを使用したデバッグの詳細については、Linux プラットフォームでのデバッグまたはMac プラットフォームでのデバッグを参照してください。