C程序调用matlab编译的dll文件混合编程时,初始化发生访问冲突

qq_33415794 2017-01-16 05:57:48
VS2015
MATLAB r2015b
win7 64位
想尝试用在vs下的c程序中调用matlab编译成的dll,h,lib等文件来实现矩阵的运算,现在想写一个小程序先试一试,但是总是在初始化的时候出错
相关的各种配置按照很多网络上的教程都试过,不知道为什么还是会出现这个bug,求大神
程序如下:
// VS_MAT_ADD.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include"add.h"
#include"engine.h"
#include "mclmcr.h"
#include "mclcppclass.h"
#include "mclmcr.h" // mwArray声明
int main()
{
if (!addInitialize())//在此处发生描述的错误
{
printf("add initialize error");
return -1;
}
double a = 3;
double b = 5;
mwArray num1(1, 1, mxDOUBLE_CLASS);
mwArray num2(1, 1, mxDOUBLE_CLASS);
mwArray result(1, 1, mxDOUBLE_CLASS);
num1.SetData(&a, 1);
num2.SetData(&b, 1);
double c;
add(1, result, num1, num2);
c = result.Get(1, 1);
std::cout << c;
return 0;
}

...全文
824 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT-老五 2018-12-10
  • 打赏
  • 举报
回复
引用 4 楼 sinat_37976557 的回复:
我也是这个问题,请问楼主解决了没
求解决方案
sinat_37976557 2017-03-19
  • 打赏
  • 举报
回复
我也是这个问题,请问楼主解决了没
赵4老师 2017-01-17
  • 打赏
  • 举报
回复
不要做A语言代码修改为B语言代码的无用功。 也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。 只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。 即可很方便地让A、B两种语言之间协调工作。 比如: A将请求数据写到文件a.txt,写完后改名为aa.txt B发现aa.txt存在时,读取其内容,调用相应功能,将结果写到文件b.txt,写完后删除aa.txt,改名为bb.txt A发现bb.txt存在时,读取其内容,读完后删除bb.txt 以上A可以替换为任何一种开发语言或开发环境,B可以替换为任何一种与A不同的开发语言或开发环境。 除非A或B不支持判断文件是否存在、文件读写和文件更名。 但是谁又能举出不支持判断文件是否存在、文件读写和文件更名的开发语言或开发环境呢? 可以将临时文件放在RamDisk上提高效率减少磨损磁盘。 数据的结构很复杂的话,文本文件的格式问题可参考json或xml 共享临时文本文件这种进程之间的通讯方法相比其它方法的优点有很多,下面仅列出我现在能想到的: ·进程之间松耦合 ·进程可在同一台机器上,也可跨机,跨操作系统,跨硬件平台,甚至跨国。 ·方便调试和监视,只需让第三方或人工查看该临时文本文件即可。 ·方便在线开关服务,只需删除或创建该临时文本文件即可。 ·方便实现分布式和负载均衡。 ·方便队列化提供服务,而且几乎不可能发生队列满的情况(除非硬盘空间满) ·…… “跨语言、跨机,跨操作系统,跨硬件平台,跨国,跨*.*的”苦海无边, 回头是“使用共享纯文本文件进行信息交流”的岸!
linranguo 2017-01-17
  • 打赏
  • 举报
回复
对,看看dll的说明文档
小灸舞 2017-01-17
  • 打赏
  • 举报
回复
典型的使用空指针造成的错误。
自己单步调试找到出错的位置,看看为什么那个变量会是NULL,是因为忘记初始化了还是别的什么原因。
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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