matlab與C++混合編程 helloworld

按這個鏈接下載安裝https://blog.csdn.net/zhanshen112/article/details/79484031

出現上面的圖,說明安裝成功!

下面就可以運行程序了

編寫helloworld程序,是基於類編寫的

//保存爲hw.cpp

#include "mex.h"
#include"HelloWorld.h"
//主程序
void mexFunction(int nlh,mxArray*plhs[],int nrhs,const mxArray*prhs[])
{
    HelloWorld hw;//創建HelloWorld 對象
    mexPrintf("Hello world");
}


//保存爲HelloWorld.h頭文件

#ifndef _HELLO_WORLD
#define _HELLO_WORLD
#include"mex.h"
//頭文件
class HelloWorld
{
public:
    HelloWorld(void);
    ~HelloWorld(void);
public:
    void Print();
};
#endif // _HELLO_WORLD


//保存Hello World.cpp文件

#include"HelloWorld.h"
//導入頭文件
HelloWorld::HelloWorld(void)
{

}

void HelloWorld::Print()
{
    mexPrintf("Hello World!\n");
}

HelloWorld::~HelloWorld(void)
{

}


上面編寫好的程序是用C++編寫MEX文件的源代碼,必須創建mexFunction這個函數,類似c++中的main函數,此外必須導入mex.h頭文件。

下面是我用matlab調用上面程序的過程:

1.首先matlab打開上述編寫c++程序的文件夾

2.輸入語句mex hw.cpp HelloWorld.cpp,編譯完成hw.mexw64

3.在matlab 中調用上面的c++函數,輸出hello world

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章