vc6.0 matlab混合编程,matlab2010 + vc6.0混合编程实例(调用dll)
不想解釋太多直接上代碼吧!!!
在對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;
}
運行結果:
總結
以上是生活随笔為你收集整理的vc6.0 matlab混合编程,matlab2010 + vc6.0混合编程实例(调用dll)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 真实评测一下极米z6和z5哪个好
- 下一篇: oracle 安装ora 27102,O