使用 MATLAB Coder 将 MATLAB 代码生成 C/C++ 代码
来源:互联网 发布:帮我下载淘宝网 编辑:程序博客网 时间:2024/05/22 00:35
MATLAB Coder 可以将 MATLAB 代码生成独立的、可读性强、可移植的 C/C++ 代码。
使用 MATLAB Coder 产生代码的3个步骤:
- 准备用于产生代码的 MATLAB 算法;
- 检查 MATLAB 代码的兼容性(有些 matlab 代码语句并不能生成 c/c++ 代码);
- 产生最终使用的源代码或 MEX。
例子:两数相乘
1、安装 matlab2011a 或者更新版本
2、简单生成一个 foo.m 文件
function c = foo(a, b) %#codegen%This function muliplies a and bc = a * b
其中,%#codegen 可以防止出现警告错误
3、在命令窗口输入 mex -setpu ,选中一个存在的编译器
4、在命令窗口输入 coder(图形界面),弹出 MATLAB Coder Project 对话框,输入一个工程名 foo.prj
6、在 Overview 选项卡中,点击 Add files,弹出对话框,选中 foo.m 打开
7、单击变量 a,选择 Define by Example,弹出 MATLAB Coder Define by Example 对话框,在 MATLAB Expression 中输入 5,点击 OK;同样变量 b 也进行相应操作,输入 6
8、选中 Build 选项卡,Output type 中选择 c/c++ Static Library
9、点击 More settings,General Language 选择 C++
10、点击 Build,进行编译;点击 View report,弹出 Code Generation Report 对话框,此时,变量 a、b、c 会显示相应的变量信息
11、利用 vs2012 建立一个控制台应用程序,将生成的相关文件foo.h、foo.c、rtwtypes.h、foo_types.h (请注意多个 m 文件的情况) 拷到相关目录
12、在 foo.c 文件中添加 #include "stdafx.h"
13、添加 test.cpp 文件
#include "stdafx.h"#include "foo.h"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ double a = 0.0, b = 0.0, c = 0.0; cin>> a >> b; c = foo(a, b); //调用 foo 函数 cout<< "c = " << c <<endl; return 0;}
注意:如果有多个 MATLAB 的 m 文件同时生成,除了需要将每个 m 文件所生成的 .c 和 .h 文件复制到 VS 工程的目录之外,还要在每个 .c 文件添加#include "stdafx.h"
转载自:http://blog.csdn.net/fengbingchun/article/details/6793826
- 使用 MATLAB Coder 将 MATLAB 代码生成 C/C++ 代码
- 基于MATLAB Coder将matlab代码转换成C代码
- MATLAB Coder从MATLAB生成C/C++代码步骤
- 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤
- 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤
- 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤
- 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤
- 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤
- 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤
- matlab C代码生成
- Matlab生成c代码
- Matlab生成C代码
- MATLAB Coder可以从MATLAB代码生成独立的、可读性强、可移植的C/C++代码
- Matlab C代码生成 2
- Matlab生成C代码 3
- Matlab C代码生成 4
- 【matlab/C++】MATLAB直接生成Java&C/C++代码
- 使用Matlab Coder将Matlab下的pinv函数转成C/C++
- $.extend()方法和(function($){...})(jQuery)详解
- 剑指offer——翻转单词顺序列
- PHP学习笔记之PHP字符串(六)
- 消息队列
- Ubuntu新手-操作带空格的文件或文件夹
- 使用 MATLAB Coder 将 MATLAB 代码生成 C/C++ 代码
- HTML5+CSS3+JS学习笔记-13-CSS3过渡和CSS3动画
- c#文件排序
- 我的第一个appiumdemo
- 虚函数的使用方法
- 【bzoj 3224】【Tyvj 1728】 普通平衡树
- IDEA常用快捷键
- C/C++重难点总结系列(四)
- Remove Duplicates from Sorted Array II