MEXファイル
MATLABで作成される関数、C/C++やFortranのサブルーチンを呼び出すのに使う。
mexFunction (C および Fortran)
C/C++ または Fortran MEX ファイルへのエントリ ポイント
#include "mex.h" void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] )
- nlhs・・・出力引数(戻り値)の数、すなわち配列plhsのサイズ
- plhs・・・出力引数(戻り値)のポインタ配列
- nrhs・・・入力引数の数、すなわち配列prhsのサイズ
- prhs・・・入力引数のポインタ配列、mexファイル内でこの値は定数であるべきなので直接変更はしないこと(constで修飾もしてあるので)
引用元 : https://jp.mathworks.com/help/matlab/apiref/mexfunction.html
C
C言語のプログラムにはmain()
があるようにMATLABでは関数のエントリポイントとしてゲートウェイルーチンmexFunction
を用いる。これがMATLABでから呼び出す際の引数戻り値のやり取りを行う。
MATLAB APIを呼び出すために、mex.h
をインクルードすること。
ファイル名.c
というソースコードをコンパイルした場合、MEXファイル名はファイル名
となる。MATLABのコマンドライン上では特に拡張子をつけず、所定の引数や戻り値の設定をすれば良い。