主要内容

世纪挑战集团

编译MATLAB功能部署

描述

一般使用

世纪挑战集团选项mfilename1 mfilename2…mfilenameN编译由选项指定的函数。所使用的选项取决于编译的预期结果。

有关编译的资料:

  • C/ c++共享库,。net程序集,Java®Python包,或®包,看到世纪挑战集团(MATLAB编译器SDK)MATLAB®编译器SDK™

  • MATLAB生产服务器™可部署的档案或Excel®插件的MATLAB生产服务器,请参阅世纪挑战集团(MATLAB生产服务器)MATLAB编译器SDK

独立应用程序

例子

mcc - m选项mfilename将函数编译为独立的应用程序。

这个等价于mcc -W主-T链接:exe

例子

mcc - e选项mfilename将函数编译为不打开Windows的独立应用程序®执行时的命令提示符。的- e选项仅适用于Windows操作系统。

该语法等价于-W WinMain -T link:exe

Excel插件

例子

mcc - w的excel:addin_name类名称版本=version_number“- t链接:自由选项mfilename1 mfilename2…mfilenameN创建一个微软®Excel从指定文件的外接程序。

  • addin_name—外接程序的名称。

  • 类名称-指定要创建的类的名称。如果不指定类名,世纪挑战集团使用addin_name作为默认。如果指定的,类名称需要不同于mfilename

  • version_number—指定加载项文件的版本号为major.minor.bug.build文件系统中。您不需要指定版本号。如果不指定版本号,世纪挑战集团设置版本号为1.0.0.0默认情况下。

    • 主要—主版本号。如果你没有指定一个数字,世纪挑战集团主要0

    • —次要版本号。如果你没有指定一个数字,世纪挑战集团0

    • 错误-指定bug修复维护版本号。如果你没有指定一个数字,世纪挑战集团错误0

    • 构建—构建号。如果你没有指定一个数字,世纪挑战集团构建0

    请注意

    Excel插件只能在运行在Windows上的MATLAB中创建。

    请注意

    删除周围的单引号“excel: addin_name、类名、版本”当执行世纪挑战集团命令从DOS提示符。

MapReduce应用程序Hadoop

mcc -H -W hadoop:archiveName配置:configFilemfilename从中生成可部署的归档文件mfilename可以作为作业由Hadoop运行®

提示

你可以签发世纪挑战集团命令在MATLAB命令提示符或Windows或Linux®系统的命令行。

金宝app模拟(需要金宝app编译器

例子

mcc - m选项mfilename编译一个包含Simulink的MATLAB应用程序金宝app®模拟到一个独立的应用程序。有关更多信息,请参见用Simulink编译器创建和部署一个脚本金宝app(金宝app仿真软件编译器)

例子

创建独立应用程序

世纪挑战集团- mmagic.m

创建一个不打开Command shell的独立应用程序(窗户唯一的)

世纪挑战集团- emagic.m

使用系统级文件版本号创建独立应用程序(窗户唯一的)

在Windows中创建一个带有版本号的独立应用程序3.4.1.5

世纪挑战集团- w的主要:mymagic版本= 3.4.1.5 '- t链接:exemymagic.m

创建一个Excel插件

世纪挑战集团- w“excel: myAddin myClass 1.0”- t链接:自由magic.m

创建一个Excel带有系统级文件版本号的外接程序(窗户唯一的)

在Windows中创建带有版本号的Excel加载项5.2.1.7

世纪挑战集团- w“excel: myAddin, myClass版本= 5.2.1.7 '- t链接:自由- bmymagic.m

创建一个Excel插件的MATLAB生产服务器

世纪挑战集团- w“mpsxl: myDeployableArchvie myExcelClass, = 1.0的版本- t链接:自由mymagic.m

创建独立应用程序金宝app模拟(需要金宝app编译器

要为Simulink仿真创建一个独立的应用程序:金宝app

使用Simulin金宝appk创建一个Simulink模型。本例使用了该模型sldemo_suspn_3dof和Simulink一起发布的。金宝app

创建一个使用api的MATLAB应用程序金宝app仿真软件编译器™来模拟模型。有关更多信息,请参见使用可调参数部署模拟(金宝app仿真软件编译器)

函数deployParameterTuning (outputFile mbVariable)如果ischar(mbVariable) || isstring(mbVariable) mbVariable = str2double(mbVariable);结束如果isnan (mbVariable) | | ~ isa (mbVariable,“双”|| ~isscalar(mbVariable) disp('mb必须是一个双标量或一个可以转换为双标量的字符串或char ');结束在=仿真软金宝app件。SimulationInput (“sldemo_suspn_3dof”);在= in.setVariable (“m”, mbVariable);在= si金宝appmulink.compiler.configureForDeployment ();= sim(中);保存(outputFile,“出”);结束

使用世纪挑战集团从MATLAB应用程序创建一个独立的应用程序。

世纪挑战集团- mdeployParameterTuning.m

输入参数

全部折叠

要编译的文件,指定为字符向量或字符串标量。

要编译的一个或多个文件,用空格分隔的文件名列表指定。

用于自定义输出的选项,指定为字符向量或字符串标量列表。

  • ——一个

    使用。将文件添加到可部署归档文件——路径指定要添加的文件。多个——一个选择是允许的。

    如果文件名指定为——一个,编译器在MATLAB路径上查找这些文件,因此指定完整的路径名是可选的。这些文件没有传递给mbuild,因此可以包含数据文件等文件。

    属性指定的文件夹名——一个选项时,该文件夹的全部内容将递归地添加到可部署归档文件中。例如,

    mcc - m你好。m - a。/ testdir

    指定所有文件testdir,以及其子文件夹中的所有文件,都被添加到可部署归档文件中。中的文件夹子树testdir保存在可部署归档文件中。

    如果文件名包含通配符模式,则只有文件夹中与该模式匹配的文件才会被添加到可部署归档文件中,并且不会递归地处理给定路径的子文件夹。例如,

    mcc - m你好。m - a。/ testdir / *

    指定所有文件。/ testdir添加到?下的可部署归档文件和子文件夹。/ testdir不是递归处理的。

    mcc - m你好。m - a。/ testdir / *打烊

    指定所有具有扩展名的文件.m。/ testdir添加到的可部署归档文件和子文件夹。/ testdir不是递归处理的。

    请注意

    是唯一支持的通配符。金宝app

    当您使用——一个在编译时没有出现在MATLAB路径上的路径项被添加到应用程序的运行时路径中,以便在部署的代码执行时出现在路径上。

    当你使用——一个选项指定资源的完整路径,基本路径将被保留,但有一些修改,但相对于运行时缓存目录的子目录,而不是用户的本地文件夹。缓存目录是在第一次执行应用程序时从可部署归档文件创建的。你可以使用isdeployed命令,以确定应用程序是否正在以部署模式运行,并相应地调整路径。的——一个选项还会创建.auth文件用于授权目的。

    谨慎

    如果你使用——一个标记以包含不在MATLAB路径上的文件,包含该文件的文件夹将被添加到MATLAB依赖分析路径。因此,该文件夹中的其他文件可能包含在编译后的应用程序中。

    请注意

    如果你使用——一个标记以包含自定义Java类,独立应用程序无需更改类路径只要Java类不是包的成员。这同样适用于JAR文件。但是,如果要添加的类是包的成员,则MATLAB代码需要对javaaddpath更新类路径使用包的父文件夹。

  • - b

    生成Visual Basic®文件(.bas)包含Microsoft Excel公式函数接口由COM对象生成MATLAB编译器.当导入到工作簿Visual Basic代码时,该代码允许将MATLAB函数视为单元格公式函数。

  • - b

    文件上替换文件世纪挑战集团命令行中包含指定文件的内容。使用

    a1 - b文件名(:< >,< a2 >,…,< >)

    文件名应该只包含世纪挑战集团命令行选项和相应的参数和/或其他文件名。该文件可能包含其他- b选项。一个包可以包含接受名称和版本号的编译器选项的替换参数。看到使用bundle构建MATLAB代码(MATLAB编译器SDK)

  • - c

    与the连用时- l选项,禁止编译和链接生成的C包装器代码。的- c选项不能单独使用- l选择。

  • - c

    不要在二进制文件中嵌入可部署归档文件。

    请注意

    - c标记在Java库中被忽略。

  • - d

    将输出放在指定的文件夹中。使用

    - d倒转褶皱

    将生成的文件指向倒转褶皱.指定的文件夹必须已经存在。

  • - e

    使用- e代替- m选项生成在执行时不打开Windows命令提示符的独立Windows应用程序。- e相当于-W WinMain -T link:exe

    此选项仅适用于Windows操作系统。

  • - f

    使用指定的选项文件覆盖默认选项文件。它特别适用于C/ c++共享库、COM和Excel目标。使用

    - f文件名

    指定文件名作为调用时的选项文件mbuild.这个选项允许您为编译器的不同调用使用不同的ANSI编译器。这个选项是直接传递到mbuild

  • - g- g

    由生成的C/ c++代码包含调试符号信息MATLAB编译器SDK.也会使mbuild将适当的调试标志传递给系统C/ c++编译器。调试选项允许您回溯到可以确定是否在初始化过程中发生了故障的位置MATLAB运行时、函数调用或终止例程。此选项不允许您使用C/ c++调试器调试MATLAB文件。

  • -我

    将新文件夹路径添加到包含的文件夹列表中。每一个-我选项将文件夹附加到要搜索的路径列表的末尾。例如,

    —i —i 

    设置搜索路径以便directory1首先搜索MATLAB文件,然后是directory2.这个选项对于无法使用MATLAB路径的独立编译非常重要。

    如果与the连用- n选项时,-我选项将文件夹添加到编译路径的相同位置,它出现在MATLAB路径中,而不是在路径的头部。

  • - k

    直接世纪挑战集团如果编译因错误而提前结束,则不删除输出文件。

    的默认行为世纪挑战集团是在命令未能成功执行时处理任何部分输出。

  • - m

    直接世纪挑战集团以生成独立的应用程序。

  • - m

    定义编译时选择。使用

    - m字符串

    通过字符串直接向mbuild.此选项为定义编译时选项提供了一种有用的机制,例如:- m“-Dmacro =值”

    请注意

    多个- m期权不会累积;只有最右边的- m选择使用。

    传递选项,例如/ bigobj,根据您的平台描绘字符串。

    平台 语法

    MATLAB

    - m“COMPFLAGS = $ COMPFLAGS / bigobj”
    Windows命令提示符
    - m COMPFLAGS =“COMPFLAGS美元/ bigobj”

    Linux和macOS命令行

    - m CFLAGS =“$ CFLAGS / bigobj”
  • - n

    - n选项自动识别数值命令行输入,并将它们视为MATLAB双精度。

  • - n

    通过- n清除除以下核心文件夹之外的所有文件夹的路径(此列表可能会随时间变化):

    • matlabroot \matlab工具箱\

    • matlabroot当地\工具箱\

    • matlabroot、工具箱、编译器

    • matlabroot\工具箱\ \ bigdata共享

    通过- n也保留此列表中在编译时出现在MATLAB路径上的所有子文件夹。包括- n在命令行上,您可以从原始路径替换文件夹,同时保留所包含文件夹的相对顺序。出现在原始路径上的所包含文件夹的所有子文件夹也将被包含。此外,- n选项保留路径上未包含的所有文件夹matlabroot\工具箱

    当使用- n选项,使用-我选项强制包含文件夹,该文件夹位于编译路径的头部。使用- p选项有条件地包括文件夹及其子文件夹;如果它们出现在MATLAB路径中,则它们以相同的顺序出现在编译路径中。

  • - o

    指定最终可执行文件的名称(仅限独立应用程序)。使用

    - o outputfile

    的最终可执行输出命名MATLAB编译器.将适当的平台相关扩展添加到指定的名称中(例如,. exe适用于Windows独立应用程序)。

  • - p

    与选项一起使用- n下添加特定文件夹和子文件夹matlabroot\工具箱到MATLAB的编译路径。文件的添加顺序与它们在MATLAB路径中出现的顺序相同。使用语法

    - n - p目录

    在哪里目录是要包含的文件夹。如果目录不是绝对路径,它被假定在当前工作文件夹下。

    • 如果包含一个文件夹- p,该文件夹及其所有出现在原路径上的子文件夹将以相同的顺序添加到编译路径中。

    • 如果包含一个文件夹- p不在原始MATLAB路径上的,该文件夹被忽略。(您可以使用-我迫使它被纳入。)

  • - r

    嵌入资源图标在二进制。语法如下:

    - r“路径/ / my_icon.ico”

  • - r

    提供MATLAB运行时在初始化时传递给应用程序的选项。

    请注意

    此选项仅在使用MATLAB Compiler构建独立应用程序或Excel外接程序时有效。

    语法如下:

    - r选项

    选项

    描述

    目标

    的日志文件、文件名

    指定日志文件名。该文件在运行时在应用程序文件夹中创建。选项必须在单引号中。在Windows命令提示符中执行命令时使用双引号。

    MATLAB编译器

    -nodisplay

    抑制MATLABnodisplay运行时警告。

    MATLAB编译器

    -nojvm

    不要使用Java虚拟机(JVM)。

    MATLAB编译器

    -startmsg

    可定制的用户消息显示在初始化时。

    MATLAB编译器独立应用程序

    -completemsg

    初始化完成时显示的可定制用户消息。

    MATLAB编译器独立应用程序

    -singleCompThread

    将MATLAB限制为单个计算线程。

    MATLAB编译器

    谨慎

    当运行在macOS,如果你使用-nodisplay作为其中一个选项mclInitializeApplication,然后是呼叫mclInitializeApplication必须在调用之前发生mclRunMain

    请注意

    如果指定- r从MATLAB Compiler SDK创建的库的选项,世纪挑战集团仍然编译并生成结果,但是- r选项不应用于这些库,也不做任何事情。

  • - s

    混淆可部署归档文件中的文件夹结构和文件名(.ctf文件)从最终用户。可以选择加密其他文件类型。

    - s选择指导世纪挑战集团放置包含的用户代码和数据.m.p, v7.3.mat,并将MEX文件放入CTF中的用户包中。在运行时,MATLAB代码和数据被解密并直接从用户包加载,而不是提取到文件系统。MEX文件在加载之前暂时从用户包中提取。

    要在用户包中手动包含额外的文件类型,请将每个文件类型以单独的扩展标记添加到文件中matlabroot/工具箱/编译器/ advanced_package_supporte金宝appd_files.xml

    不支持以下功能:金宝app

    • 版本函数

    • 进程MATLAB运行时(MATLAB数据数组c++共享库)

    • 进程外MEX文件执行(mexhost函数宏指令matlab.mex.MexHost

  • - s

    标准行为MATLAB运行时每个类的实例都有自己的实例吗MATLAB运行时上下文。该上下文包含一个全局MATLAB工作空间,用于变量,如路径和类中每个函数的基本工作空间。如果创建了类的多个实例,则每个实例都获得一个独立的上下文。这确保对类的一个实例中的全局或基工作空间所做的更改不会影响同一类的其他实例。

    在一个单例MATLAB运行时,类的所有实例共享上下文。如果创建了一个类的多个实例,它们将使用第一个实例创建的上下文,这将节省启动时间和一些资源。但是,一个实例对全局工作空间或基工作空间所做的任何更改都会影响所有类实例。例如,如果instance1创建一个全局变量一个在一个单例MATLAB运行时,然后instance2可以使用变量一个

    单例MATLAB运行时仅支持以下产品针金宝app对这些特定目标:下载188bet金宝搏

    由Single金宝appton支持的目标MATLAB运行时 创建一个单例MATLAB运行时由……
    Excel插件 target的默认行为是singletonMATLAB运行时.其他步骤无需执行。
    net程序集 target的默认行为是singletonMATLAB运行时.其他步骤无需执行。
    COM组件
    • 使用Library Compiler应用程序,单击设置并添加- s传递给MCC的其他参数字段。

    • 使用世纪挑战集团,通过- s国旗。

    Java包
  • - t

    指定输出目标阶段和类型。

    使用语法- t目标定义输出类型。

    目标 描述
    编译:exe 生成C/ c++包装器文件,并将C/ c++文件编译为适合链接到独立应用程序的对象形式。
    编译:自由 生成C/ c++包装器文件,并将C/ c++文件编译为适合于链接到共享库或DLL的对象形式。
    链接:exe 一样编译:exe并将对象文件链接到独立的应用程序中。
    链接:自由 一样编译:自由也可以将目标文件链接到共享库或DLL中。

  • - u

    仅在开发计算机上为当前用户注册COM组件。参数只应用于通用的COM组件和Microsoft Excel插件目标。

  • - u

    构建可部署归档(.ctf文件)MATLAB生产服务器

  • - v

    显示编译步骤,包括:

    • MATLAB编译器版本号

    • 处理时的源文件名

    • 生成的输出文件在创建时的名称

    • 的调用mbuild

    - v选择通过- v选项mbuild并显示关于mbuild

  • - w

    显示警告消息。使用语法

    - w选项(<味精>):

    控制警告的显示。

    语法

    描述

    - w列表

    列出具有缩写标识符的编译时警告及其状态。

    - w启用

    启用所有编译时警告。

    - w禁用[:<字符串>

    禁用关联的特定编译时警告<字符串>.省略可选<字符串>应用禁用对所有编译时警告的操作。

    - w启用[:<字符串>

    启用关联的特定编译时警告<字符串>.省略可选<字符串>应用启用对所有编译时警告的操作。

    - w错误(:<字符串>

    处理关联的特定编译时和运行时警告<字符串>是一个错误。省略可选<字符串>应用错误操作所有编译时和运行时警告。

    - w关闭[:<字符串>

    对定义的特定错误消息关闭警告<字符串>.省略可选<字符串>应用对所有运行时警告执行操作。

    在[- w:<字符串>

    打开关联的运行时警告<字符串>.省略可选<字符串>应用对所有运行时警告执行操作。该选项在默认情况下是启用的。

    您还可以在MATLAB代码中打开或关闭警告。

    例如,关闭已部署应用程序的警告(使用isdeployed)startup.m你写的:

    如果部署警告结束

    要为已部署的应用程序打开警告,可以这样写:

    如果部署,警告结束

    您也可以指定多个- w选项。

    例如,如果你想禁用所有警告,除了repeated_file你写的:

    -w disable -w enable:repeated_file
    当你指定多个- w选项,它们从左到右处理。

  • - w

    控制函数包装器的生成。使用语法

    - w类型

    以控制函数包装器的生成为一组由编译器生成的MATLAB文件。您提供一个函数列表,编译器生成包装器函数和任何适当的全局变量定义。

    目标 语法
    独立应用程序 - w的主要:浏览器名称版本=版本
    独立应用程序(没有Windows控制台) - w . WinMain:浏览器名称版本=版本
    Excel插件 - w的excel:addinName类名称版本=版本
    Hadoop MapReduce应用程序 - w的hadoop:archiveName配置:configFile
    火花的应用程序 - w的火花:浏览器名称版本

    请注意

    当从Windows命令提示符执行命令时,将单引号替换为双引号。

  • - x

    使用- x在依赖关系分析时忽略常用MATLAB文件I/O函数读取的数据文件。有关更多信息,请参见使用MATLAB编译器进行依赖分析.例如如何使用- x选项,看到% #排除

  • 可能是

    使用

    可能是覆盖

    使用指定的参数覆盖默认许可文件。

    请注意

    可能是标志仅在命令行模式下有效。

    > > !mcc - m foo。m - y覆盖
  • - z

    使用

    - z选项
    指定将支持包添加到可部署归档文件的方法。金宝app

    语法 描述
    - z“自动检测” 依赖关系分析过程自动检测并包含所需的支持包。金宝app这是mcc的默认行为。
    - z '没有' 不包括金宝app支持包。使用此选项可能会导致运行时错误。
    - zpackagename 只包含指定的支持包。金宝app若要指定多个支持包,请使用multipl金宝appe- z输入。

    请注意

    若要列出已安装的支持包或特定文件所使金宝app用的支持包,请参阅compiler.codetools.deployable金宝appSupportPackages

提示

  • 在Windows上,您可以通过附加来为目标文件生成系统级文件版本号version =version_number到目标生成世纪挑战集团语法。例如,请参见使用系统级文件版本号创建独立应用程序(仅Windows)

    version_number—指定目标文件的版本号major.minor.bug.build文件系统中。您不需要指定版本号。如果不指定版本号,世纪挑战集团默认情况下,设置版本号为1.0.0.0

    • 主要—主版本号。如果不指定版本号,世纪挑战集团主要1

    • —次要版本号。如果不指定版本号,世纪挑战集团0

    • 错误-指定bug修复维护版本号。如果不指定版本号,世纪挑战集团错误0

    • 构建—构建号。如果不指定版本号,世纪挑战集团构建0

    中的独立应用程序和Excel外接程序支持此功金宝app能MATLAB编译器.的支持目金宝app标MATLAB编译器SDK,请参阅提示部分世纪挑战集团(MATLAB编译器SDK)

之前介绍过的R2006a