MATLAB编译器中,如何用mcc命令编译M文件

2020年12月7日21:20:03MATLAB编译器中,如何用mcc命令编译M文件已关闭评论

MATLAB编译器中,如何用mcc命令编译M文件

若将M文件作为输入,通过使用不同的选项命令,可以得到不同的目标文件。对于单个M文件来说,已经能够处理了,下面将为用户讲解如何多个M文件一起编译。

建立可独立运行应用程序的最简单的方法就是建立一个或多个M文件或MEX文件,而不用自己写C源代码。写M文件利用MATLAB解释器的简单方便的开发环境和强大的功能来调试程序。调试成功后再用MATLAB编译器把它转化为独立可执行程序,可以大大提高程序调试效率。需要注意的是,不要手工去修改编译器产生的C或C++代码,应该去修改M文件或编译器选项,因为对C或C++代码的任何改动,都有可能导致运行错误。如果一定要修改C/C++源代码,注意当再次用MATLAB编译器编译M文件时,对C/C++代码的修改将会被冲掉。

例22.5 把两个M文件marnk.m和main.m作为源文件来创建独立可执行程序。

文件1:mrank.m

function a=mark(x)

a=zero(x,1);

for k=1:x

a(k)=rank(magic(k));

end

文件2:main.m

function main

a=mrank(6);

a

文件mrank.m返回一个整型向量a,表示一个magic矩阵的阶,其中a=zero(x,1)用来帮助MATLAB编译器预留内存空间。main.m调用mrank函数并打印输出值。

要把这两个M文件编译成一个独立可执行程序。只需运行:

>> mcc -mc main mrank

-m选项调用MATLAB编译器产生适用于独立可执行程序的C源代码,-c选项指不调用mbuild指令功能。生成的C源代码文件如下:

main.c main.h main_main.c mrank.c mrank.h

其中main_main.c文件包含了一个C函数main,main.c和mrank.c文件中都包含了C函数mlfMain和mlfMrank。

然后再运行指令

>> mbuild main.c main_main.c mrank.c

就能生成独立可执行程序main.exe。

其实,可以用一条指令来把这两个M文件转化为一个独立可执行程序:

mcc -m main mrank

这一条指令完成了上面两条指令的功能,生成同样的文件。

如果要生成C++代码,只需在mcc指令后面加上-L cpp,把C编译器换为C++编译器即可。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。