![]() |
VC++6使用MATLAB7 DLL问题
用MATLAB7建一个最简单的函数文件
function [y]=add11(a,b) y=a+b; 编译生成DLL文件,然后添加到VC6中,编译连接一切都正常了,可在执行时,却得不到正确的结果, vc中的执行代码如下(DLL初始化及结束函数都正常调用了,这里没写): if(pA==NULL) { pA=mxCreateDoubleMatrix(1,1,mxREAL);// } if(pB==NULL) { pB=mxCreateDoubleMatrix(1,1,mxREAL);// } if(pY==NULL) { pY=mxCreateDoubleMatrix(1,1,mxREAL);// } // 将 C 语言中的变量值赋给 matlab 中的矩阵 *(mxGetPr(pA))=1; *(mxGetPr(pB))=2; //调用MATLAB函数计算pY mlfAdd11(1, &pY,pA,pB);//1---函数输出1个参数 //从MATLAB 矩阵中取出计算结果 int z=*(mxGetPr(pY)); 希望得到z==3,但调试结果z始终为0, 是不是用法有问题,我已经找很多资料也没解决,哪位指点一下,谢谢了! |
回复: VC++6使用MATLAB7 DLL问题
原来是DLL文件拷贝的目录不对,我复制了一份在DEBUG目录下,结果就出问题了,只要工程目录下有一份就行了
|
所有时间均为北京时间。现在的时间是 05:04。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.