Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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 では nlhsplhsnrhsprhs に呼び出し引数を自動的に設定します。MATLAB 言語の構文では、関数は次の一般的な形式になります。

[a,b,c,...] = fun(d,e,f,...)

ここで、... は同じ形式のさらに多くの項目を表します。a,b,c... は左辺出力引数で、d,e,f... は右辺入力引数です。nlhsnrhs の引数には左辺引数と右辺引数の数がそれぞれ含まれています。prhsmxArray ポインターの配列で、長さは nrhs です。plhs は長さが nlhs の配列で、関数は出力 mxArray に対してポインターを設定しなければなりません。

メモ

nlhs = 0 であっても出力値を返すことは可能です。これは、結果を変数 ans に返すことに相当します。

matlabroot/extern/examples/mex の次の例を参照してください。

R2006a より前に導入