MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   VC++6使用MATLAB7 DLL问题 (https://www.labfans.com/bbs/showthread.php?t=4380)

acli1978 2008-09-07 23:37

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,
是不是用法有问题,我已经找很多资料也没解决,哪位指点一下,谢谢了!

acli1978 2008-09-09 09:18

回复: VC++6使用MATLAB7 DLL问题
 
原来是DLL文件拷贝的目录不对,我复制了一份在DEBUG目录下,结果就出问题了,只要工程目录下有一份就行了


所有时间均为北京时间。现在的时间是 11:15

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.