VS 调用多个matlab程序 (主函数调用多个m文件)

helloempire 2014-10-20 05:45:04
只用VS调用一个m文件的dll已经搞定,现在遇到的问题是,原matlab的程序就是一个主函数调用很多个m文件。我写了两个很简单的测试函数:
function a = add(x,y)
a = x + y;
end


function a = add_plus(x,y)
b = add(x,y);
a = b*2;
end


c++ 代码:
int main()
{
if(!addInitialize())
{
cout << "Could not initialize libmysvd!" <<endl;
exit(0);
}
double x1 = 9;
double y1 = 8;

mwArray x(1,1,mxDOUBLE_CLASS);
mwArray y(1,1,mxDOUBLE_CLASS);
mwArray a(1,1,mxDOUBLE_CLASS);
x.SetData(&x1,1);
y.SetData(&y1,1);


add(1,a,x,y);
cout << "simple add operation: " << endl;
cout << a.Get(1,1) << endl;
cout << "two operation: " << endl;
add_plus(1,a,x,y);
cout << a.Get(1,1) <<endl;

cin.get();
return 0;
}


程序运行到 add_plus的时候报错:0x000007fefd75940d (KernelBase.dll) 处有未经处理的异常: Microsoft C++ 异常: 内存位置 0x0018f608 处的 mwException。(add函数可以成功输出)
网上查到要在目录里放入ctf文件,放了,没用。我也看过add_plus.h文件,里面没有任何关于与add.h的连接方式,我甚至在add_plus.h中加入了 #include “add.h”, 还是没有用。

所以,现在问题就是,如果m文件需要调用另一个m文件时,应该怎么正确的调用这两个函数的dll???

求解答!!
...全文
295 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
勤奋的小游侠 2014-10-20
  • 打赏
  • 举报
回复
楼主还是放弃这样的做法吧,问题太多了。

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧