mexFunction (Fortran)
Fortran MEX 関数へのエントリ ポイント
Fortran 構文
#include "fintrf.h" subroutine mexFunction(nlhs, plhs, nrhs, prhs) integer nlhs, nrhs mwPointer plhs(*), prhs(*)
引数
nlhs
予期される出力の
mxArray
の数plhs
予期される出力の
mxArray
へのポインターの配列nrhs
入力の
mxArray
の数prhs
入力の
mxArray
へのポインターの配列。MEX ファイル内のprhs
の値は変更しないでください。これらの読み取り専用mxArray
内のデータを変更すると、望ましくない副次的影響が生じることがあります。
説明
mexFunction
は呼び出されるルーチンではありません。そうではなく、mexFunction
は Fortran のゲートウェイ サブルーチンの名前で、これは各 MEX 関数に必要です。詳細については、Fortran 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
に返すことに相当します。
例
例を開くには、次のように入力します。
edit([fullfile(matlabroot,"extern","examples","mex","filename")]);
ここで filename
は、次のようになります。
バージョン履歴
R2006a より前に導入