10分钟教会你简单的matlab和C/C++混合编程(mex文件)

最近要用matlab提取视频的特征,数据量很大,程序跑起来很慢,于是把其中一个模块改为用C语言来实现。我在这里也记录一下自己的一些心得。

我用的编译器是matlab自带的Lcc-win32 C 2.4.1编译器,好处是可以不依赖高级编译器(如VS、GCC),保证程序只要有matlab即可运行;缺点是只能用C写,不能使用C++的库(比如vector、OpenCV)。所以以下这篇文章只适用于针对矩阵、数组(不包括字符串string、元胞cell)的简单的mex文件编写。

用Lcc编译器编写mex文件的几个注意事项:

1、注释不能有中文,否则报错:Specified export _mexFunction is not defined

2、所有变量定义必须在函数最前面完成,变量没有定义完,不可以执行其他操作,否则报错:illegal statement termination


你可能感兴趣的:(Matlab)