Matlab学习高阶篇(四)—— Matlab调用C/C++


Matlab和外部程序的编程接口总的来说有两大类:一是关于如何在matlab中调用其他语言编写的代码;二是如何在其它语言中调用Matlab。

一、Matlab应用程序接口介绍

包含的内容有以下几个方面:

  • 数据的导入与导出
  • 和普通的动态链接库(dll)文件的接口
  • 在matlab环境中调用C/C++等语言代码的接口
  • 在C/C++中调用matlab引擎
  • 在matlab中调用java
  • 在matlab中使用网络服务
  • 和串行口的通信接口

Matlab接口技术的优点:

  1. 代码重用
  2. 合理利用开发组资源
  3. 方便发布
  4. 提高程序运行效率

二、Matlab调用C/C++

2.1 MATLAB MEX文件

   MEX文件是一种特殊的动态连接库函数,能够在MATLAB中像一般的M函数那样执行。注:MEX文件必须包含一个特殊的函数,以作为在MATLAB中使用的接口。
   在各种操作系统平台上,MATLAB可以自动检测到MEX文件的存在。MEX文件只需要在MATLAB的搜索路径上,并在MATLAB命令行键入某个MEX文件的文件名,就可以执行相应的MEX文件。
   MEX文件是通过编译相应的C/C++源程序而产生的,所以用户必须自己安装并选用其他的编译器。
配置编译步骤:

mex -setup C++
mex filenames

2.2 C/C++MEX文件的使用

C/C++MEX源程序的组成:

  • #include"mex.h"
  • MEX文件的入口函数mexFunction
  • mxArray
  • API函数

**例如:**创建一个demo,在命令行中输出“Hello,MEX!”语句。

hellomex.c
#include "mex.h"
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
	mexPrintf("hello,MEX!\n");
}

将上述的hellomex.c文件保存在MATLAB当前目录下,用以下命令进行编译

>> mex -v hellomex.c

通过编译后就可以在MTALAB当前目录下产生hellomex.mexw64文件,这也就是操作系统中编译好的MEX文件。在MTALAB中输入hellomex,就可以执行相应的MEX文件。

>> hellomex
hello,MEX!
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值