Matlab嵌入C++,API,编译与调试

Matlab嵌入C++是很容易的,嵌入C++的matlab在保持易用性的同时,可以加快程序速度。嵌入的C++代码不能直接在matlab中断点调试,需要借助Visual Studio之类的工具进行调试。这篇博客主要以简单的demo导入,介绍如何在Matlab中嵌入C++程序。

一、Matlab嵌入C++代码

mex test.cpp -R2018a 来编译代码,编译完成后就可以直接在matlab中通过 output = test(input) 来调用了。

至于如何编写.cpp MexFunction,请尽情查阅Matlab帮助文档 doc mex 左侧点击 C Mex Function/API 就可以查看教程了。

这里粘贴一个Matlab给的demo示例:

 

二、Matlab嵌入C++代码的调试

在windows平台下,借助Visual Studio进行调试。

1.首先点开Matlab,编译带调试信息的C++代码 mex test.cpp -g -R2018a。编译完成后不要关闭Matlab。

2.然后点开Visual Studio,调试->附加到进程,在弹出的对话框中选择Matlab进程。

3.然后VS中文件->打开->文件,然后选择test.cpp,就可以在里面打断点了(这时断点旁边有个小警告,可以忽略掉)

4.在Matlab中运行output = test(input) 命令,函数执行到cpp程序时,VS中就可以命中断点,进行调试了。

留下评论