mexFunction (C)
C 行列 API で作成された C/C++ MEX 関数へのエントリ ポイント
C 構文
#include "mex.h" void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
説明
メモ
最新の C++ の機能とC++ 用の MATLAB データ APIを使用して MEX 関数を作成するには、MATLAB (MEX ファイル) から呼び出せる C++ 関数の記述を参照してください。
mexFunction
は呼び出されるルーチンではありません。そうではなく、mexFunction
は C のゲートウェイ関数の名前で、これは各 MEX 関数に必要です。MEX 関数を呼び出すと、MATLAB® によって同名の対応する MEX 関数が検索され、読み込まれます。MATLAB は次に、MEX 関数内で mexFunction
という名前のシンボルを検索します。シンボルが見つかった場合は、mexFunction
シンボルのアドレスを使用して MEX 関数が呼び出されます。MEX 関数内に mexFunction
という名前のルーチンが見つからない場合、MATLAB はエラー メッセージを表示します。
MEX 関数を呼び出すと、MATLAB では nlhs
、plhs
、nrhs
、prhs
に呼び出し引数を自動的に設定します。MATLAB 言語の構文では、関数は次の一般的な形式になります。
[a,b,c,...] = fun(d,e,f,...)
ここで、...
は同じ形式のさらに多くの項目を表します。a,b,c...
は左辺出力引数で、d,e,f...
は右辺入力引数です。nlhs
と nrhs
の引数には左辺引数と右辺引数の数がそれぞれ含まれています。prhs
は mxArray
ポインターの配列で、長さは nrhs
です。plhs
は長さが nlhs
の配列で、関数は出力 mxArray
に対してポインターを設定しなければなりません。
メモ
nlhs = 0
であっても出力値を返すことは可能です。これは、結果を変数 ans
に返すことに相当します。
入力引数を渡す実験を行うには、MEX 関数のソース コード例の表の手順に従って mexfunction.c
の例を作成します。
入力引数
例
の次の例を参照してください。matlabroot
/extern/examples/mex
バージョン履歴
R2006a より前に導入