查看单个帖子
旧 2009-01-10, 01:24   #1
llnn2002
初级会员
 
注册日期: 2009-01-10
年龄: 46
帖子: 1
声望力: 0
llnn2002 正向着好的方向发展
问题 关于Matlab读取VC++编写的DLL

我想用VC2005以上版本编写一个DLL,然后在Matlab7.1中调用该DLL里的函数。

我的方法如下:

在VC++中建立一个Class Library工程,然后添加自己的类和函数,代码如下:
// VCMC.h
#pragma once

using namespace System;

namespace VCMC {

public ref class MeasureData
{
private:
array <double>^ data;
public:
MeasureData(void);
array <double>^ getdata(void);
int tt(int i1, int i2);
};
}

-----------------------------------------------------------------------------------------

//VCMC.cpp
#include "stdafx.h"
#include "VCMC.h"

using namespace VCMC;

MeasureData::MeasureData(void)
{
int i;
data = gcnew array <double>(500);

for(i=1;i <=500;i++)
{
data[i-1]=i;
}
}

array <double>^ MeasureData::getdata(void)
{
return data;
}

int MeasureData::tt(int i1, int i2)
{
return (i1+i2);
}

编译能通过,在Matlab里也能用Loadlibrary成功装载VCMC.dll,但是用libfunctions查看该DLL里函数,但是返回值说
该DLL里没有任何函数和类。请各位帮忙看看,问题到底在哪里?

谢谢!
llnn2002 当前离线   回复时引用此帖