重新定位或共享生成的代码
要重新定位或共享静态和生成的代码文件,可以使用packNGo
函数。例如,当您希望将生成的代码重新定位到不提供MATLAB的开发环境时,可以使用该函数®和仿真软金宝app件®下载188bet金宝搏产品。
打包并重新定位生成的代码
打包生成的代码:
将ZIP文件重新定位到目标开发环境,并使用ZIP工具解压缩该文件。要编译解包的代码,请使用构建工具。
如果目标环境提供金宝app仿真软件编码器™或嵌入式编码器®,你可以使用codebuild
编译解包的代码。
从命令行打包并重新定位生成的代码
要使用行命令打包和重新定位生成的代码,请使用以下工作流:
为ZIP文件选择一个结构
在您为模型构建生成并打包文件之前,请确定您想要将文件打包在平面文件夹结构中还是分层文件夹结构中。默认情况下,packNGo
函数将文件打包为单一的平面文件夹结构。
如果…… | 然后使用… |
---|---|
您正在将文件重新定位到不使用生成的makefile的IDE,或者代码不依赖于所需静态文件的相对位置 | 单、平夹结构 |
目标开发环境必须维护源环境的文件夹结构,因为它使用生成的makefile,或者代码依赖于文件的相对位置 | 层次结构 |
如果使用层次结构,则packNGo
函数创建了两个层次的邮政编码
文件,一个主要的邮政编码
文件,该文件又包含以下辅助文件邮政编码
文件:
mlrFiles.zip
-您的
文件夹树matlabroot
sDirFiles.zip
-在您的构建文件夹中和下面的文件,您开始为模型生成代码otherFiles.zip
-所需的文件不在
或matlabroot
开始
文件夹树
次要路径邮政编码
文件相对于主目录的根文件夹邮政编码
文件,维护源开发文件夹结构。
为Zip文件选择一个名称
默认情况下,packNGo
函数命名为主函数邮政编码
文件
.您可以选择指定不同的名称。如果指定了文件名而忽略了文件类型扩展名,则函数会追加模型
.
到您指定的名称。
Zip文件中的包模型代码
方法打包模型代码文件PostCodeGenCommand
配置参数,packNGo
函数,并为模型构建信息对象。您可以设置包装操作使用:
系统生成的构建信息对象。
在这种情况下,在生成模型代码之前,使用
set_param
设置配置参数PostCodeGenCommand
类的显式调用packNGo
函数。例如:set_param(broot, 'PostCodeGenCommand', 'packNGo(buildInfo);');
在生成模型代码并将其写入磁盘之后,在生成makefile之前,该命令指示构建过程计算对的调用
packNGo
.该命令使用系统为当前选择的模型生成的构建信息对象。以编程方式构造的构建信息对象。
在这种情况下,可以使用其他构建信息函数在构建信息对象中有选择地包括路径和文件,然后使用
packNGo
函数。例如:……myModelBuildInfo = RTW.BuildInfo;addSourceFiles(myModelBuildInfo, {'test1.c' 'test2.c' 'driver.c'});……packNGo (myModelBuildInfo);
的默认行为,下面的示例将展示如何更改packNGo
.
…… | 指定… |
---|---|
将文件打包的结构更改为分层结构 | packNGo(buildInfo, 'packType' 'hierarchical'); |
重命名主目录邮政编码 文件 |
packNGo(buildInfo, 'fileName' 'zippedsrcs'); |
将文件打包的结构更改为分层结构,并重命名主文件邮政编码 文件 |
packNGo(buildInfo, 'packType' 'hierarchical'… |
的包含路径中找到的包含头文件邮政编码 文件 |
packNGo(buildInfo, 'minimalHeaders' false); |
生成解析错误和丢失文件的警告 | packNGo(buildInfo, 'ignoreParseError' true… |
请注意
的packNGo
属性中的生成信息环球套票。BuildInfo
对象,该对象作为函数的第一个参数传递。函数可以从源文件中查找其他文件,并包括模型构建信息中记录的路径,并将该信息添加到环球套票。BuildInfo
对象。
检查生成的ZIP文件
要验证生成的ZIP文件是否可以重新定位,请使用ZIP工具检查该文件。有些ZIP工具允许您在不解压缩文件的情况下查看文件内容。如果需要解包,并且模型代码文件被打包为层次结构,那么您必须解包主要和次要ZIP文件。当您解压缩辅助ZIP文件时,文件的相对路径将被保留。
重新定位和解压ZIP文件
将ZIP文件重新定位到目标开发环境,并使用ZIP工具解压缩该文件。要编译解包的代码,请使用构建工具。
如果目标环境提供金宝app仿真软件编码器或者嵌入式编码器,你可以使用codebuild
编译解包的代码。
代码打包示例
这个示例展示了如何打包为示例模型生成的代码文件rtwdemo_rtwintro
:
将工作文件夹设置为可写文件夹。
打开模型
rtwdemo_rtwintro
并保存一份副本到你的工作文件夹。在命令窗口中输入:
set_param (“rtwdemo_rtwintro”,“PostCodeGenCommand”,...packNGo(builddinfo, " packType'' ''hierarchical ")');
为模型生成代码。
检查生成的ZIP文件,
rtwdemo_rtwintro.zip
.ZIP文件包含两个辅助ZIP文件,mlrFiles.zip
而且sDirFiles.zip
.检查
mlrFiles.zip
而且sDirFiles.zip
.将ZIP文件重新定位到目标文件夹并解压缩。
要编译解包的代码,请使用
codebuild
函数。
限制
packNGo函数
有关应用于此函数的限制的信息,请参见packNGo
.
具有非默认扩展名的可执行文件
如果构建过程使用模板makefile方法,则packNGo
使用链接器工具指定的可执行文件扩展名来确定需要打包的二进制工件。
如果生成的可执行文件的扩展名不是默认值,请检查该扩展名是否保存在与模板makefile关联的工具链中。有关更多信息,请参见将模板制作文件与工具链关联起来.
如果构建过程生成的可执行文件的扩展名与工具链中保存的扩展名不同,packNGo
不打包可执行文件。