1、mex编程
采用mex编写可以被matlab调用的应用程序模块,此模块没有main函数,仅仅提供被matlab调用的代码。这是一种面向matlab的通信方式,用来补充matlab某些特定的功能不足,需要在运行电脑上安装完整的matlab版本。
2、RPC调用(Remote Process Call)或者 LPC调用(Local Process Call)---在线调用
在应用程序中动态调用matlab的接口,计算方面的工作交给matlab完成,完成后将结果返回给应用程序。这需要在运行电脑上同时打开应用程序和matlab。
1)用VS2017建立一个控制台程序(32还是64需要和matlab的版本匹配)
2)在VS2017的程序中,添加include目录和lib库目录
找到matlab的安装目录,找到”MATLAB\R2016a\extern“目录,将include和lib目录在刚才创建的控制台程序中添加上。
3)在VS2017的控制台程序中编写代码,编译通过(注意应用程序是64位还是32位)
#include <engine.h>
#pragma comment(lib,"libeng.lib")
int main()
{
Engine* pMatlab = engOpen(NULL);
if (pMatlab == NULL) {
printf("Open Matlab Engine error !");
exit(-1);
}
else {