libMyAdd.h
libMyAdd.dll
libMyAdd.lib
#include <stdio.h>
#include <string.h>
#include <iostream>
#include "mclmcr.h"
#include "matrix.h"
#include "mclcppclass.h"
#include "libMyAdd.h"
using namespace std;
int main()
{
double a = 6;
double b = 9;
double c;
// initialize lib,這裡必須做初始化!
if( !libMyAddInitialize())
{
std::cout <<"Could not initialize libMyAdd!" << std::endl;
return -1;
}
// 為變量配置設定記憶體空間,可以查幫助mwArray
mwArray mwA(1, 1, mxDOUBLE_CLASS); // 1,1表示矩陣的大小(所有maltab隻有一種變量,就是矩陣,為了和Cpp變量接軌,設定成1*1的矩陣,mxDOUBLE_CLASS表示變量的精度)
mwArray mwB(1, 1, mxDOUBLE_CLASS);
mwArray mwC(1, 1, mxDOUBLE_CLASS);
// set data,不用我解釋了吧,很簡單的,調用類裡面的SetData函數給類指派
mwA.SetData(&a, 1);
mwB.SetData(&b, 1);
// using my add,掉我自己寫的函數
MyAdd(1, mwC, mwA, mwB);
// get data,不用我解釋了吧,很簡單的,調用類裡面的Get函數擷取取函數傳回值
c = mwC.Get(1, 1);
std::cout<<"c is \n" <<c<<std::endl;
// 後面是一些終止調用的程式
// terminate the lib
libMyAddTerminate();
// terminate MCR
mclTerminateApplication();
return 0;
}