主要内容

重新定位或共享生成的代码

要重新定位或共享静态和生成的代码文件,可以使用packNGo函数。例如,当您希望将生成的代码重新定位到不提供MATLAB的开发环境时,可以使用该函数®和仿真软金宝app件®下载188bet金宝搏产品。

打包并重新定位生成的代码

打包生成的代码:

  1. 在“配置参数”对话框中,选择包代码和构件.此选项配置生成过程以运行packNGo代码生成后的函数。

  2. Zip文件名字段,输入您想要打包生成的代码和工件的ZIP文件的名称。属性可以指定文件名,也可以不指定. zip扩展。如果没有指定扩展名或扩展名以外的. zip, ZIP实用程序添加. zip扩展。如果未指定值,构建过程将使用该名称模型. zip,在那里模型是顶级模特的名字。

  3. 应用更改,然后为您的模型生成代码。

  4. 通过使用ZIP工具检查生成的ZIP文件,验证打包的代码已准备好重新定位。

将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'…
“文件名”“zippedsrcs”);
的包含路径中找到的包含头文件邮政编码文件 packNGo(buildInfo, 'minimalHeaders' false);
生成解析错误和丢失文件的警告 packNGo(buildInfo, 'ignoreParseError' true…
“ignoreFileMissing”真正的);

请注意

packNGo属性中的生成信息环球套票。BuildInfo对象,该对象作为函数的第一个参数传递。函数可以从源文件中查找其他文件,并包括模型构建信息中记录的路径,并将该信息添加到环球套票。BuildInfo对象。

检查生成的ZIP文件

要验证生成的ZIP文件是否可以重新定位,请使用ZIP工具检查该文件。有些ZIP工具允许您在不解压缩文件的情况下查看文件内容。如果需要解包,并且模型代码文件被打包为层次结构,那么您必须解包主要和次要ZIP文件。当您解压缩辅助ZIP文件时,文件的相对路径将被保留。

重新定位和解压ZIP文件

将ZIP文件重新定位到目标开发环境,并使用ZIP工具解压缩该文件。要编译解包的代码,请使用构建工具。

如果目标环境提供金宝app仿真软件编码器或者嵌入式编码器,你可以使用codebuild编译解包的代码。

代码打包示例

这个示例展示了如何打包为示例模型生成的代码文件rtwdemo_rtwintro

  1. 将工作文件夹设置为可写文件夹。

  2. 打开模型rtwdemo_rtwintro并保存一份副本到你的工作文件夹。

  3. 在命令窗口中输入:

    set_param (“rtwdemo_rtwintro”“PostCodeGenCommand”...packNGo(builddinfo, " packType'' ''hierarchical ")');
  4. 为模型生成代码。

  5. 检查生成的ZIP文件,rtwdemo_rtwintro.zip.ZIP文件包含两个辅助ZIP文件,mlrFiles.zip而且sDirFiles.zip

  6. 检查mlrFiles.zip而且sDirFiles.zip

  7. 将ZIP文件重新定位到目标文件夹并解压缩。

  8. 要编译解包的代码,请使用codebuild函数。

限制

packNGo函数

有关应用于此函数的限制的信息,请参见packNGo

具有非默认扩展名的可执行文件

如果构建过程使用模板makefile方法,则packNGo使用链接器工具指定的可执行文件扩展名来确定需要打包的二进制工件。

如果生成的可执行文件的扩展名不是默认值,请检查该扩展名是否保存在与模板makefile关联的工具链中。有关更多信息,请参见将模板制作文件与工具链关联起来

如果构建过程生成的可执行文件的扩展名与工具链中保存的扩展名不同,packNGo不打包可执行文件。

另请参阅

|

相关的话题