天天看點

myadd

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;
}