使用“deploytool”和 Matlab 编译器有啥区别?
Posted
技术标签:
【中文标题】使用“deploytool”和 Matlab 编译器有啥区别?【英文标题】:What's the difference between using "deploytool" and Matlab Compiler?使用“deploytool”和 Matlab 编译器有什么区别? 【发布时间】:2017-07-25 07:49:27 【问题描述】:制作Java包的“deploytool”的作用是什么?这与 Matlab 编译器不同吗?我想在我的 Netbeans 项目中使用 Matlab。
【问题讨论】:
【参考方案1】:好的,首先,您需要知道这里有多个产品,并且产品在不同版本之间发生了变化,因为 MathWorks 以不同的方式将不同的功能收集在一起。
在 R2014b 及以下版本中,我们有:
MATLAB 编译器:制作.exe
和.dll
文件
MATLAB Builder JA for Java:制作.jar
文件
用于 .NET 的 MATLAB Builder NE:制作 .NET 程序集
MATLAB Builder EX for Excel:制作.xla
Excel 插件文件
在 R2015a 中,这些产品混合在一起,我们有:
MATLAB 编译器:制作.exe
和 .xla
文件
MATLAB 编译器 SDK:制作 .dll
和 .jar
文件和 .NET 程序集
Builder 和 SDK 产品依赖于 MATLAB Compiler(即,为了使用 Builder/SDK 产品,您还需要有 Compiler - 当然还有 MATLAB 本身,以及您需要的任何工具箱)。
好的。现在在所有情况下,为了实际创建您想要的东西(.exe
、.jar
等),您需要使用命令mcc
。这是 MATLAB 编译器附带的,如果您还拥有 Builder/SDK 产品,则启用其他选项(允许您构建该产品的文件类型)。
如果您习惯使用相当复杂的命令行方法,mcc
很好,并且(几乎)产品的所有功能都可以使用它启用。
但是mcc
的选项可能会让一些人感到困惑。所以你也有deploytool
。 deploytool
是一个图形用户界面,使您能够以更简单的点击方式指定mcc
的所有选项,然后将这些选项保存到.prj
(部署项目)文件中。您可以将该项目文件作为单个参数传递给mcc
(或者您可以只按deploytool
中的一个按钮),它将进行编译。
deploytool
中还有一些其他选项可用,我认为 MathWorks 尚未启用作为 mcc
的直接选项 - 例如为.exe
文件提供图标的能力,以及添加一些 cmets 到它出现在 Windows 的“属性”对话框中。但没有什么很重要的。
【讨论】:
【参考方案2】:deploytool
是来自 MATLAB 编译器的函数。 MATLAB 编译器允许您从 MATLAB 生成独立的可执行文件。对于 Java,您还需要 MATLAB Compiler SDK,它是 MATLAB Compiler 的附加组件。详情请见Desktop and Web Deployment。
【讨论】:
它是包含在 Matlab 中还是我必须与 Matlab 分开购买? 不,它不包括在内,它是单独的。与所有代码生成/部署工具一样,它也非常昂贵。以上是关于使用“deploytool”和 Matlab 编译器有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
使用 64 位 win 和 MATLAB 为 win 32 系统编译 matlab gui