主要内容

世纪挑战集团

编译MATLAB部署功能

描述

其他世纪挑战集团主题

本主题介绍世纪挑战集团用于MATLAB®编译器™.有关编译的信息:

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

  • MATLAB生产服务器可部署的档案或Excel®插件的MATLAB制作服务器,请参阅世纪挑战集团(MATLAB Production Server)

一般使用

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

mcc ('选项”、“mfilename”)编译选项指定的函数。用单引号指定文件名、选项和选项参数。

独立应用程序

例子

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选项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 hadooparchiveName配置:configFilemfilename生成可部署的存档mfilename可以被Hadoop作为作业运行®

提示

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

动态仿真模块模拟(需要动态仿真模块编译器

例子

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

例子

创建独立应用程序

世纪挑战集团- mmagic.m

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

世纪挑战集团- emagic.m

创建具有系统级文件版本号(窗户唯一的)

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

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

创建一个独立的应用程序并包含MATLAB首选项

mcc -m helloWorld。c:\ users \someuser\ appdata \漫游\ mathworks \ matlabR2022b\ matlab.mlsettings

创建一个Excel插件

世纪挑战集团- w“excel: myAddin myClass 1.0”magic.m

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

在Windows中创建带有版本号的Excel外接程序5.2.1.7

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

创建一个独立的应用程序动态仿真模块模拟(需要动态仿真模块编译器

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

使用Simulink创建一个Simulink模型。本例使用该模型sldemo_suspn_3dof

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

函数deployParameterTuning (outputFile mbVariable)如果ischar(mbVariable) || isstring(mbVariable) mbVariable = str2double(mbVariable);结束如果isnan(mbVariable) || ~isa(mbVariable)“双”|| ~isscalar(mbVariable) disp('mb必须是双标量或可以转换为双标量的字符串或字符');结束in = Simulink。SimulationInput (“sldemo_suspn_3dof”);in = in. setvariable (“m”, mbVariable);in = simulink.compiler.configureForDeployment(in);Out = sim(in);保存(outputFile,“出”);结束

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

世纪挑战集团- mdeployParameterTuning.m

输入参数

全部折叠

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

要编译的一个或多个文件,指定为以空格分隔的文件名列表。第一个文件用作已编译工件的入口点。

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

  • ——一个

    将文件添加到可部署存档——filepath指定要添加的文件。多个——一个选项是允许的。

    此外,使用将MATLAB首选项添加到已部署的应用程序——路径\ \ mymatlab.mlsettings指定要添加的首选项。

    如果指定了文件名——一个,编译器在MATLAB路径上查找这些文件,因此指定完整的路径名是可选的。这些文件不会被传递给mbuild,因此您可以包括文件,如数据文件。详情请参见访问打包应用程序中的文件

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

    MCC -你好。M -a ./testdir

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

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

    MCC -你好。M -a ./testdir/*

    中的所有文件。/ testdir下的可部署存档和子文件夹中。/ testdir不是递归处理的。

    MCC -你好。M . a ./testdir/*. M

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

    请注意

    是唯一支持的通配符。

    将文件添加到存档时使用——一个编译时不会出现在MATLAB路径上的文件,则会向应用程序的运行时路径添加一个路径条目,以便在部署的代码执行时出现在路径上。

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

    谨慎

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

    请注意

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

  • ——一个

    将受支持的平台附加到编译器自动检测到的平台。使用

    ——一个

    添加指定的平台到兼容平台列表。有效平台为win64maci64glnxa64,所有.的——一个选项仅适用于Python、使用MATLAB数据数组API的C/ c++和Java目标。

    在不兼容的平台上运行组件将导致不支持的平台错误消息并列出兼容的平台。

  • - b

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

  • - b

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

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

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

  • - c

    当与- 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文件。

  • - h

    指定一个自定义帮助文本文件。此选项适用于独立应用程序、C/ c++共享库、COM和Excel目标。使用

    - f文件名

    包括文件名作为自定义帮助文本文件。控件在命令行上调用应用程序来显示帮助文件内容-?/?论点。

  • -我

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

    -I  -I 

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

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

  • - j

    自动转换所有.m在打包前将文件转换为p文件。的- j选项生成一个p代码文件.p每个扩展.m文件包含在世纪挑战集团命令。

    P-code文件是一种模糊的、只能执行的MATLAB代码形式。详情请参见pcode

  • - k

    指定一个AES加密密钥和一个墨西哥文件加载器接口,以便在运行时检索解密密钥。

    使用

    - k”文件=< key_file_path >;装载机=< mex_file_path >

    来指定密钥文件和mexo文件的路径。

    密钥文件必须是以下支持的格式之一:

    • 二进制256位AES密钥,文件大小为32字节

    • 十六进制编码的AES密钥,文件大小为64字符

    加载器MEX-file必须是具有以下参数的接口:

    • prhs [0]-输入,字符数组指定为静态值“getKey”

    • prhs [1]-输入字符数组,指定为CTF组件UUID

    • plhs [0]-输出,32字节UINT8数字数组或64字节十六进制编码字符数组

    如果后面没有指定任何参数- k世纪挑战集团生成一个256位AES密钥和一个加载器mex文件,可用于演示目的。

  • - k

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

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

  • - l

    生成一个函数库。- l等于-W lib -T link:lib.类型中不能使用此选项deploytool应用程序。

  • - m

    生成一个独立的应用程序。- m等于-W main -T link:exe.类型中不能使用此选项deploytool应用程序。

  • - 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即在原始MATLAB路径上,该文件夹及其所有出现在原始路径上的子文件夹将以相同的顺序添加到编译路径中。

    • 中包含的文件夹- p不在原始MATLAB路径上的文件夹,该文件夹将被忽略。(你可以使用-我强行将其纳入。)

  • - r

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

    - r“路径/ / my_icon.ico”

  • - r

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

    请注意

    此选项仅在使用MATLAB编译器构建独立应用程序或Excel外接程序时相关。如果您指定- r从MATLAB编译器SDK创建的库选项,世纪挑战集团仍然编译和生成结果,但是- r选项不应用于这些库,也不执行任何操作。

    语法如下:

    - r选项

    选项

    描述

    目标

    的日志文件、文件名

    请指定日志文件名。该文件在运行时在应用程序文件夹中创建,并包含有关MATLAB运行时初始化和所有文本管道到命令窗口。选项必须在单引号中。在Windows命令提示符中执行命令时使用双引号。

    MATLAB编译器

    -nodisplay

    MATLAB抑制nodisplay运行时警告。在Linux上,打开MATLAB运行时没有显示功能。

    MATLAB编译器

    -nojvm

    请勿使用Java虚拟机(JVM)。

    MATLAB编译器

    “-startmsg,消息

    在初始化时显示的可定制的用户消息。详情请参见显示MATLAB运行时初始化消息

    MATLAB编译器独立应用程序

    “-completemsg,消息

    初始化完成时显示的可定制用户消息。详情请参见显示MATLAB运行时初始化消息

    MATLAB编译器独立应用程序

    -singleCompThread

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

    MATLAB编译器

    -softwareopengl 使用Mesa Software OpenGL®呈现。

    MATLAB编译器

    谨慎

    当运行macOS,如果你使用-nodisplay作为包含的选项之一mclInitializeApplication,然后呼叫到mclInitializeApplication必须在调用之前发生mclRunMain

  • - s

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

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

    若要在用户包中手动包含其他文件类型,请将每个文件类型添加到文件的单独扩展标签中matlabroot/工具箱/编译器/ advanced_package_supported_files.xml

    不支持以下功能:

    • 版本函数

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

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

  • - s

    创建单个MATLAB运行时在所有类实例之间共享的实例。

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

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

    单例MATLAB运行时仅由以下产品支持这些特定目标:2022世界杯八强谁会赢?

    由Singleton支持的目标MATLAB运行时 创建单例MATLAB运行时由……
    Excel插件 target的默认行为是单例的MATLAB运行时.无需执行其他步骤。
    net程序集 target的默认行为是单例的MATLAB运行时.无需执行其他步骤。
    COM组件
    • 使用库编译器应用程序,单击设置并添加- s传递给MCC的附加参数字段。

    • 使用世纪挑战集团,传递- s国旗。

    Java包
  • - t

    指定输出目标阶段和类型。如果没有指定,世纪挑战集团属性指定的目标使用默认类型- w选择。

    使用语法- 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 option [:]

    控制警告的显示。

    语法

    描述

    - w列表

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

    - w启用

    启用所有编译时警告。

    - w禁用[:<字符串>

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

    - w启用[:<字符串>

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

    - w错误(:<字符串>

    处理相关的特定编译时和运行时警告<字符串>作为一个错误。省略可选选项<字符串>申请错误对所有编译时和运行时警告执行操作。

    - w关闭[:<字符串>

    属性定义的特定错误消息的警告<字符串>.省略可选选项<字符串>申请对所有运行时警告执行操作。

    在[- w:<字符串>

    的运行时警告<字符串>.省略可选选项<字符串>申请对所有运行时警告执行操作。该选项默认启用。

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

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

    如果被部署,警告结束

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

    如果部署警告结束

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

    例如,如果您想禁用除repeated_file,你写道:

    -w disable -w enable:重复文件
    当你指定多个- w选项,它们从左到右被处理。

  • - w

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

    - w类型

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

    目标 语法

    请注意

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

  • - x

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

  • 可能是

    使用

    可能是覆盖

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

    请注意

    可能是Flag只适用于命令行模式。

    > > !MCC -m foo。m -Y license.lic
  • - z

    使用

    - z选项
    指定向可部署归档文件添加支持包的方法。

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

    请注意

    要列出已安装的支持包或特定文件使用的支持包,请参见compiler.codetools.deployableSupportPackages

提示

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

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

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

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

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

    • 构建-指定版本号。如果您没有指定版本号,世纪挑战集团构建0

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

版本历史

R2006a之前介绍

Baidu
map