当您为模型生成代码时,代码生成器默认创建模型所需的共享实用程序文件。当您使用不同版本生成代码时,代码生成器可以生成功能相同的共享文件,其中包含一些非功能差异。例如,不同的注释和不同的编码风格。当您使用同一个版本在不同的文件夹中为不同的模型生成代码时,您还可以生成具有非功能差异的共享文件。例如,如果你指定了different括号level.
要么ExpressionFolding
值,代码生成器可以生成包含不同注释或不同编码样式的共享文件。
集成代码,包括功能相同的共享文件:
验证的开销更大,因为每个共享文件都需要验证。
如果共享文件定义了重复的符号,则产生编译错误。
如果您有嵌入式编码器®许可证,您可以通过从现有文件夹中指定共享代码的重用来避免这些问题,例如,验证代码的只读库。在这种情况下,代码生成器不会创建新的共享实用程序文件。构建过程使用来自文件夹的外部代码或先前生成的共享实用程序代码。管理员维护并更新只读库。
在“配置参数”对话框中:
在里面现有共享代码字段,输入共享代码文件夹的完整路径。
验证只使用现有的共享代码诊断设置为错误
(默认)。
删除slprj
文件夹或移动到新的工作文件夹。
构建您的模型。如果您没有看到错误,则共享代码文件夹包含所需的共享实用程序文件。
如果现有共享代码文件夹中的文件丢失,则会看到一个错误。要继续使用本地生成的缺失的共享实用程序文件的版本进行代码生成:
设置只使用现有的共享代码诊断为警告
.
重建你的模型。代码生成过程使用缺失的共享实用程序文件的本地生成版本。
提供有关丢失共享实用程序文件的模型和信息的验证代码库的管理员。使用该模型,管理员生成所需的共享实用程序文件。使用SharedCodeUpdate.
,管理员将文件添加到现有共享代码文件夹中。
如果您需要重用从上一个版本导出的组件的共享代码,请向管理员提供有关该组件的构建文件夹位置的信息。管理员可以使用SharedCodeUpdate.
要将组件复制到现有共享代码文件夹的共享代码。
当现有共享代码文件夹中的文件可用时,重复步骤1-3。
如果共享实用程序代码是从跨模型共享的库子系统,您无法重用代码在释放,因为代码是特定于释放的——符号名和文件名的混乱包括了释放号。管理员必须将为每个版本生成的共享实用程序代码添加到共享代码文件夹中。
的SharedCodeUpdate.
函数可以将文件添加到具有相同内容但不同文件和函数名称的共享代码文件夹中。当您具有不同的模型组件时,此行为很有用,该组件需要自己的共享实用程序功能。虽然有一些代码是复制的,但不同的模型组件可以访问它们被验证的共享实用程序函数。要强制模型组件来拥有自己的共享实用程序函数,请配置命名规则以将模型名称插入共享公用标识符.
对于大多数共享实用程序代码文件,您可以指定可以跨版本重用的主副本,而无需修改文件。例如,对于某些文件,rtwtypes.h
, 和zero_crossing_types.h
,有些情况需要手动编辑来生成可以与来自不同版本中生成的代码一起使用的主副本。例如:
的rtwtypes.h
由R2013a及之前版本生成的文件包含校验和。
/ *这个ID是用来检测包含不兼容rtwtypes.h * / #定义RTWTYPES_ID_C08S16I32L64N64F0
rtwtypes.h
要包含在集成中的文件,复制相应的#定义
声明为您的主副本rtwtypes.h
.在R2015a中,零交叉的定义从rtwtypes.h
成zero_crossing_types.h
.创造一个rtwtypes.h
文件是兼容从不同版本生成的模型代码,在你的主拷贝rtwtypes.h
,插入此语句。
# include“zero_crossing_types.h”
rtwtypes.h
那zero_crossing_types.h
提供了。crossReleaseImport
|SharedCodeUpdate.