matlab2010 + vc6.0混合编程实例(调用dll)
2013-09-17 16:22
337 查看
不想解释太多直接上代码吧!!!
在对matlab配置后,上代码mcc -W cpplib:libMyAdd -T link:lib MyAdd -C就可以了,记得加上-C
在对VC6.0进行配置的时候只要把 matlabroot\extern\include和matlabroot\extern\lib\win32\microsoft加入到VC6.0中去了,i.e.可以通过Tools->Options->Directories->show directories for 中的Include
files和library files添加路径;
运行结果:
在对matlab配置后,上代码mcc -W cpplib:libMyAdd -T link:lib MyAdd -C就可以了,记得加上-C
在对VC6.0进行配置的时候只要把 matlabroot\extern\include和matlabroot\extern\lib\win32\microsoft加入到VC6.0中去了,i.e.可以通过Tools->Options->Directories->show directories for 中的Include
files和library files添加路径;
#include "libMyAdd.h" #pragma comment(lib, "libMyAdd.lib") #pragma comment(lib, "mclmcrrt.lib") using std::cout; using std::cin; using std::endl; int main(void) { double a = 0; double b = 0; double c = 0; // initialize lib if( !libMyAddInitialize()) { cout << "Could not initialize libMyAdd!" << endl; return -1; } cout << "input a: "; cin >> a; cout << "\ninput b: "; cin >> b; //为变量分配内存空间 mwArray mwA(1, 1, mxDOUBLE_CLASS); //1,1表示矩阵的大小(所有matlab只有一种变量,就是矩阵, //为了和CPP变量接轨,设置1*1的矩阵,mxDOUBLE_CLASS表示变量的精度 mwArray mwB(1, 1, mxDOUBLE_CLASS); mwArray mwC(1, 1, mxDOUBLE_CLASS); //调用SetData函数赋值 mwA.SetData(&a,1); mwB.SetData(&b,1); //调用自己写的函数MyAdd MyAdd(1, mwC, mwA, mwB); //调用Get函数获取函数返回值 c = mwC.Get(1,1); cout << "c is " << c << endl; //后面一些终止调用程序 libMyAddTerminate(); mclTerminateApplication(); return 0; }
运行结果:
相关文章推荐
- VC++调用Matlab编写的DLL(混合编程)
- vc调用matlab生成的dll实例
- Matlab与c++混合编程[四.通过VC调用Matlab编译产生的dll文件]
- VC与Matlab混合编程(在VC中调用DLL)
- VC6.0调用Matlab Dll的方法
- VC与Matlab混合编程(在VC中调用DLL)
- VC调用matlab dll方式混合编程(c风格--例2)<二>
- VC与Matlab混合编程实例(Matlab7.0函数转换成VC的.dll)
- 64位win7下vc2010如何调用matlab2012a中生成的dll文件
- Visual Studio 2010中的C++程序调用matlab程序代码 混合编程
- VC与Matlab混合编程(在VC中调用DLL)
- vc调用matlab生成的dll实例
- vc调用matlab生成的dll实例
- VC与Matlab混合编程(在VC中调用DLL) .
- VC与Matlab混合编程(在VC中调用.m文件编译生成的DLL)
- VC++和Matlab混合编程(在VC中调用将.m文件生成的DLL)
- VC6.0中调用MATLAB编译生成的DLL2
- 【混合编程】VC调用Matlab生成的DLL
- vs 2010调用matlab dll显示窗口核心代码
- matalb7与VC2008混合编程DLL方法(三)VC调用matlab的DLL库函数