MATLAB coder (2014b)将.m文件转c++源码

来源:互联网 发布:视频特效软件手机版 编辑:程序博客网 时间:2024/05/17 09:10

注意:

1.通过matlab coder转c++文件不需要考虑win32或x64环境

2.在运行速度上通过matlab coder转c++文件,运行速度要比matlab转dll文件在vs里运行起来要快。

3.如果.m文件包含内容多,运算量大,不想在vs里重新写一遍可以采用matlab coder转为.cpp加载到自己vs工程里即可。

4.matlab coder有很多matlab自身的函数不支持,编译不通过可以找替代函数或更改方式。(我在matlab中输出数据到文件通过coder编译不过去,只能把数据直接输出)。

案例实现要求:

matlab做图像旋转压缩矫正处理,包含多个.m,顶层函数输出参数为两个文件名,输出为二维数组。将这些函数封装成c++文件,并加载到vs工程中。

案例具体流程:

1.在matlab2014b  command windows输入mex -setup,选中自己安装的vs编译器。


2.command windows输入coder命令或直接在apps菜单下找MATLAB Coder,填写工程名,而后进入matlab coder命令窗口,点击add files将顶层接口文件如名为ref_ir_join.m的文件加载进来,填写接口定义,因本例程函数行参传递的是函数名,定义如图所示:


在Build窗口中,output type 改为c/c++ Static Library选中Generate coder only ,再点击More settings,设置编译成c++源码,如下图所示:


都设置完后点击Build,在codegen/lib目录下找到生成的.cpp和.h文件,将这些文件添加到需要的vs工程下。

3.vs添加的代码如下图所示:











0 0