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

 

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