声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1172|回复: 0

[混合编程] VC6.0和Matlab7.1混合编程问题

[复制链接]
发表于 2010-2-1 10:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我在Win32控制台下编写了下面一个短小的程序:

#include "libDotMul.h"
#include "mclmcr.h"
#include "mclcppclass.h"
#include <iostream.h>
void main()
{
double B[4] = {1.0, 2.0, 3.0, 4.0};
double C[4] = {4.0, 5.0, 6.0, 7.0};
double A[4] = {0.0};
mwArray Temp_A(2, 2, mxDOUBLE_CLASS);//出错
mwArray Temp_B(2, 2, mxDOUBLE_CLASS);
mwArray Temp_C(2, 2, mxDOUBLE_CLASS);
Temp_B.SetData(B, 4);
Temp_C.SetData(C, 4);
DotMul(1, Temp_A, Temp_B, Temp_C);//Matlab通过DLL转化过来的简单函数
for (int i = 0; i < 2; i++)
{
  for (int j = 0; j < 2; j++)
  {
   A[i+j] = Temp_A(i+1,j+1);
  }
}
for (i = 0; i < 4; i++)
{
  std::cout<<A<<std::endl;
}
}

编译通过,但是单步调试的时候发现,一运行到mwArray Temp_A(2, 2, mxDOUBLE_CLASS);就出错;
这里只是一个简单的定义,为什么出错?错误如下:
Unhandled exception in 11.exe: 0xC0000005: Access Violation

请问:这是怎么回事?如果改正呢?
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 19:53 , Processed in 0.051702 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表