mcc函数实现matlab的m文件转化为c,c++文件

转载 2013年12月03日 11:44:38

 

http://polleter1.blog.163.com/blog/static/46846553200681884039519/

mcc函数实现matlab的m文件转化为c,c++文件。 

2006-09-18 08:40:39|  分类: matlab编程_c++编 |  标签: |字号 订阅

mcc函数实现matlab的m文件转化为c,c++文件。
命令的格式为:
mcc[-option]fun[fun2...][mexfile1...][mlifile...]
此函数的作用是将matlab程序fun.m转化为c程序fun.c或者c++程序fun.cpp
转化后的文件默认在当前目录中。
若M文件多于一个,那么每个文件对应转化相应的c和c++文件
若源文件包含c文件,则将它们同新生成的c文件一起编译。
一些有用的option参数解释如下:
————————————————————————————————————
c  转化为c语言文件但是不生成mex文件或者独立应用程序
d<directory>  指定生成的文件目录
G/g  进入调试状态
h  编译帮助函数,所以的m文件都将编译到mex文件或者独立应用程序
L《option》 指定目标语言为option,其中c,cpp,p分别代表c语言,c++,matlab语言
m  指定创建独立c语言应用程序的宏,作用等于‘-t-W main -L C-h-T link:exe libmmdile.mlib’
M"<string>"  向MBLID或者mex教本传递string中包含的信息
o<outputfilename>  指定输出文件名
O<optimization>  指定优化参数
p   指定创建独立c++语言应用程序的宏  作用等于-t-W main -L Cpp-h-T link:exe libmmdile.mlib’
v   详细显示编译步骤
x   指定创建独立mex文件的宏,作用等于-t-W main -L C-T link:exe libmmdile.mlib’
S   转化为simuink的s函数
————————————————————————————————————
————————————————————————————————————
eg
现有m文件main.m mrank.m,主函数main中调用了子函数mrank
main.m
function main
r=mrank(5)
mrank.m
function r=mrank(n)
r=zeros(n,1);
for k=1:n
r(k)=rank(magic(k));
end
在matlab环境下执行主程序可以看到结果
》》main
r=
1
2
3
3
5
现在要把他们转化为c和cpp程序
在matlab工作窗口中输入下面命令
》》mcc-mc main mrank
可以得到下面个文件:
main.c
main.h
main-main.c
mrank.c
mrank.h
在matlab中输入下面命令
mcc -lcpp main mrank
可以得到下面5个文件
main.cpp
main.hpp
main-main.cpp
mrank.cpp
mrank.hpp
有了这些程序以后,就可以在其他c,c++程序中方便调用了

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

创建独立可执行程序

方法1:编译m文件为可执行程序

mcc -m main mrank

or

mcc -p main mrank

方法2:将编译的c c++转化为可执行程序

mbuild main.c main_main.c mrank.c

or

mbuild main.cpp main_main.cpp mrank.cpp

 

mcc函数实现matlab的m文件转化为c,c++文件。

mcc函数实现matlab的m文件转化为c,c++文件。 命令的格式为: mcc[-option]fun[fun2...][mexfile1...][mlifile...] 此函数的作用...
  • u014722754
  • u014722754
  • 2015年04月11日 16:16
  • 2882

总结:m文件转化为c/c++语言文件,VC编译

fork (撒哈拉沙漠的沙)                于 Thu Dec  4 00:56:56 2003 说道:  发信人: fork (撒哈拉沙漠的沙), 信区: Matlab 标  题: ...
  • simonwan
  • simonwan
  • 2004年11月08日 16:18
  • 5876

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

注意: 1.通过matlab coder转c++文件不需要考虑win32或x64环境 2.在运行速度上通过matlab coder转c++文件,运行速度要比matlab转dll文件在vs里运行起来要快...
  • yyzguoyanyan
  • yyzguoyanyan
  • 2017年05月11日 13:26
  • 644

mcc函数实现matlab的m文件转化为c

mcc函数实现matlab的m文件转化为c,c++文件。 命令的格式为: mcc[-option]fun[fun2...][mexfile1...][mlifile...] 此函数的作用是将ma...
  • wxwpxh
  • wxwpxh
  • 2016年01月17日 16:54
  • 183

matlab GUI 编程——mcc转换m文件到应用程序

1.安装C编译器(前提是你的电脑已经安装了VC) >> mbuild -setup Please choose your compiler for building standalone ...
  • liguo9860
  • liguo9860
  • 2013年04月15日 13:15
  • 1075

matlab .m文件转换成exe可执行文件

1.装好vc++(版本不限) 2.进入matlab,输入mbuild -setup,回车,遇到第一问题选“y”,第二个问题,请选择vc那个选项,后面的问题都y 3.输入mex -setup,遇到的...
  • zhuoxiaohao
  • zhuoxiaohao
  • 2014年10月15日 12:23
  • 2747

【转】如何把Matlab中的m文件转化成C语言代码

 如何把Matlab中的m文件转化成C语言代码转自:静候炮灰http://blog.sina.com.cn/cosinewave今天应同学的要求,折腾了一下如题所示的转化,过程略显复杂,但最终结果还是...
  • volkswageos
  • volkswageos
  • 2010年07月02日 08:43
  • 4522

matlab中 mcc、mbuild和mex命令详解

先简单的说说mcc、mbuild和mex到底怎么回事:mcc将M文件转换成C/C++文件和相应的MEX包裹文件(需要Matlab编辑器),但在特定条件下可以自动调用mbuild或者mexmex将C/C...
  • leixiaohua1020
  • leixiaohua1020
  • 2014年08月03日 23:25
  • 20366

matlab 与c++混合编码 (matlab .m文件转为c++的dll文件)

以前做过matlab7与c++的混合编程:将m函数编译成dll给C++调用,从而加快开发的进度。但是今天在matlab2008b下面又做了一遍,发现matlab又改了很多东西,诸如增加了面向对象的的扩...
  • qq_26267811
  • qq_26267811
  • 2015年05月14日 11:10
  • 890

Matlab中调用C语言生成Mex文件的方法

matlab默认的程序文件是.m文件,但有很多情况下需要用matlab调用C语言程序,归纳起来有以几种情况: 1、matlab程序中的某模块非常耗时,改用C语言编写可以提高执行速度。 2、现有成熟...
  • Chen0Jian0Ping
  • Chen0Jian0Ping
  • 2016年04月22日 22:38
  • 2865
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mcc函数实现matlab的m文件转化为c,c++文件
举报原因:
原因补充:

(最多只允许输入30个字)