matlab mcc-m,mcc函数实现matlab的m文件转化为c,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文件一起编译
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 指定生成的文件目录
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"" 向MBLID或者mex教本传递string中包含的信息
o 指定输出文件名
O 指定优化参数
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
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)