Matlab R2014a 由.m文件产生C代码,并在VS2010中测试
来源:互联网 发布:世界最快的数学计算法 编辑:程序博客网 时间:2024/05/24 02:04
1、首先,准备.m文件:mySub.m
function c = mySub(a,b)%#codegenc = a - b;end
其中,%#codegen可以防止出现警告错误
2、在matlab的命令行窗口输入mex -setup,回车,根据提示选择编译器:如果已安装VS2010,会自动配置为Microsoft Visual C++ 2010 (C),如需其他语言,可按需选择;
mex -setup
MEX 配置为使用 ‘Microsoft Visual C++ 2010 (C)’ 以进行 C 语言编译。
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
要选择不同的语言,请从以下选项中选择一种命令:
mex -setup C++
mex -setup FORTRAN
3、在matlab的命令行窗口输入coder,回车,弹出MATLAB Coder Project对话框。在New选项卡Name中输入工程名称 mySub.prj,点击确定,打开MATLAB Coder MEX Function对话框;
4、在Overview选项卡中,点击添加文件,弹出对话框,选中mySub.m打开,并定义输入变量a,b的数据类型;
5、选中Build选项卡,Output type中选择MEX FUNCTION,生成mex函数,测试程序是否正确
6、Output type中选择c/c++ Static Library,选中Generate code only,点击Build;
7、在当前目录的 MATLAB/ codegen/lib/simpleProduct/ 下可以看到生成一堆.c 和 .h 文件;
8、在VS2010中新建一个C的工程,将codegen/lib/simpleProduct/ 下的所有.c和.h文件拷到该工程目录下并添加到应用程序中,新建一 main.c文件,其内容如下;
#include <stdlib.h>#include <stdio.h>#include "mySub.h"#include "mySub_initialize.h"#include "mySub_terminate.h"int main(){ mySub_initialize(); printf("%lf",mySub(4.5,1)); getchar(); mySub_terminate(); return 0;}
9、编译该工程并查看运行结果
结果出现如下错误:
“无法找到“XXX.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。”
解决办法:
首先打开菜单 项目->项目属性页
1. 选择 配置属性->链接器->调试->生成调试信息 改为 “是”
2. 选择 配置属性->C/C++ ->常规->调试信息格式 改为 用于“编辑并继续”的程序数据库(/ZI)
3. 选择 配置属性->C/C++ ->优化->优化 改为 禁用(/Od)
重新运行,成功!
- Matlab R2014a 由.m文件产生C代码,并在VS2010中测试
- Matlab R2014a由.m文件产生C代码,在VS2010中运行
- Matlab2012Ra由M文件产生C代码
- Matlab2012Ra由M文件产生C代码
- matlab产生m序列代码
- Matlab r2014a调用C程序
- [初学笔记] matlab中怎么在m文件里面查找某段代码
- vs2010中创建DLL文件,并在另外一个工程中使用测试或使用它
- c#(测试)--在vs2010中创建WebService
- Ncut matlab 代码bug 修复(适用于R2014a)
- matlab中m文件输出为c文件的方法
- 在Labview中调用M文件(Matlab文件)
- windows 10(64位)下实现vs20120C++调用matlab r2014a编写的m文件生成的.dll,.lib,.h文件
- 在 Linux 下安装 Matlab R2014a
- MATLAB R2014a 在 Windows 系统安装教程
- matlab脚本文件的扩展名由M改为m
- 如何在VS2010中调试c代码
- C语言实现MATLAB 6.5中M文件的方法
- 多线程&网络总结
- 控件AutoCompleteTextView 自动提示de 学习
- 随机10个数和 三
- 正则表达式初步
- 9个循环2
- Matlab R2014a 由.m文件产生C代码,并在VS2010中测试
- 获取driver导出的所有symbol
- 【LeetCode】51. N-Queens
- 【bzoj3171】[Tjoi2013]循环格
- 条码扫描二维码扫描——ZXing android 源码简化
- 十个随机数求和
- linux中强大且常用命令:find、grep
- 32. Magento log()方法
- 约瑟夫环的问题与应用(JAVA)