外部インタフェース/API リファレンス | ![]() ![]() |
Fortran MEX-ファイルのMATLABエントリポイント
Fortran 言語表示
subroutine mexFunction(nlhs, plhs, nrhs, prhs) integer*4 nlhs, nrhs, plhs(*), prhs(*)
plhs
nrhs
prhs
mexFunction
によって変更されません。
詳細
mexFunction
は、ユーザが呼び出すルーチンではありません。mexFunction
は、すべてのMEX-ファイル内でユーザが書かなければならないサブルーチン名です。MEX-ファイルを呼び出すとき、MATLABはMEX-ファイル内でmexFunction
という名前のサブルーチンを探します。見つかった場合、mexFunction
の最初の実行可能な行がMEX-ファイルの開始ポイントになります。MATLABが、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
には、それぞれMEX-ファンクションを呼び出す左辺引数と右辺引数の数が含まれます。prhs
は、長さがnrhs
であるmxArray
のポインタの配列です。plhs
は、長さがnlhs
である配列のポインタです。ここで、ユーザ定義関数は、出力される左辺のmxArray
のポインタを設定しなければなりません。
![]() | mexEvalString | mexGetEps | ![]() |