Main Content

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

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

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

メモ

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

入力引数を渡す実験を行うには、MEX 関数のソース コード例の表の手順に従って mexfunction.c の例を作成します。

入力引数

すべて展開する

予期される mxArray 出力引数の数。整数として指定します。

予期される mxArray 出力引数へのポインターの配列。

入力 mxArrays の数。整数として指定します。

mxArray 入力引数へのポインターの配列。MEX ファイル内の prhs の値は変更しないでください。これらの読み取り専用 mxArrays 内のデータを変更すると、望ましくない副次的影響が生じることがあります。

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

バージョン履歴

R2006a より前に導入