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 より前に導入