如何从.m文件创建可执行的.exe文件

时间:2009-12-18 03:26:29

标签: matlab executable

我想知道是否有办法在matlab中从'.m'文件创建'.exe'文件,这样它就可以在没有MATLAB的机器上运行(就像它可以在C中完成一样, C ++) 我知道编写MATLAB函数是一种方法,但不确定它是否可以在没有MATLAB的机器中运行。

此外,我想隐藏我的代码并创建一个脚本,该脚本可由用户使用自己的数据文件运行。

8 个答案:

答案 0 :(得分:22)

Matlab Compiler是执行此操作的标准方法。 mcc是命令。运行程序需要Matlab Runtime;我不确定它是否可以直接与可执行文件集成。

答案 1 :(得分:9)

如果安装了MATLAB编译器,则有一个用于编译的GUI选项。尝试输入

deploytool

在命令行中。 Mathworks在本视频教程中记录了如何使用它:http://www.mathworks.com/products/demos/compiler/deploytool/index.html

此外,如果您想要包括用户输入,例如选择文件或目录,请查看

uigetfile % or uigetdir if you need every file in a directory

一起使用
guide

答案 2 :(得分:7)

尝试:

mcc -m yourfile

另见help mcc

答案 3 :(得分:2)

如果您的代码更多是数据分析例程(与可视化/ GUI相比),请尝试GNU Octave。它是免费的,它的许多功能都与MATLAB兼容。 (不是100%,但可能是99.5%。)

答案 4 :(得分:1)

过去可以使用旧版本的Matlab将Matlab编译为C.查看Matlab附带的其他工具。

最新的Matlab代码可以导出为Java的jar或.Net Dll等。然后你可以针对该库编写一个可执行文件 - 它将被混淆。用户必须安装免费的Matlab Runtime。

与其他提到的一样,mcc / mcc.exe是你想把matlab代码转换成C代码的。

答案 5 :(得分:1)

" StandAlone"编译.m文件(或文件)的方法需要在目标(非Matlab)平台上使用一组Matlab发布的库(.dll)文件,以允许执行编译器生成的.exe。

检查MATLAB主站点的编译器产品及其限制。

答案 6 :(得分:1)

mcc -?

说明用* .m制作* .exe(独立应用程序)的语法是:

 mcc -m <matlabFile.m> 

例如:

mcc -m file.m

将在当前目录中创建file.exe。

答案 7 :(得分:0)

我开发了一个非matlab软件,用于直接编译m文件(TMC Compiler)。这是一个m文件项目到C的开源转换器。编译器生成的C代码可以与提供的开源运行时库链接,以生成独立的应用程序。该库实现了一组内置函数;线性代数运算使用LAPACK代码。可以通过文档中描述的自定义实现来扩展内置函数集。