可以使用从mex文件中调用其他Octave函数mexCallMATLAB
。的使用示例mexCallMATLAB
可以在下面的示例中看到。
#include“mex.h”voidmexFunction(int nlhs,mxArray*plhs[],int nrhs,const mxArray*prhs[]){char*str;mexPrintf(“启动文件myfeval.mex\n”);mexPrintef(“我有%d个输入和%d个输出\n”,nrhs,nlhs);如果函数%s\n“,str);如果(nlhs==0)nlhs=1;//Octave的自动'ans'变量/*强制转换prhs只是为了去掉'const'限定符并停止编译警告*/mexCallMATLAB(nlhs,plhs,nrhs-1,(mxArray**)prhs+1,str
如果此代码在文件中myfeval.c,并编译为myfeval.mex,那么它的使用示例是
a=myfeval(“sin”,1)⇒ 启动文件myfeval.mex我有2个输入和1个输出,我将调用解释器函数sina=0.84147
请注意,在mex文件中不可能使用函数句柄。
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号