默认情况下,如果模型使用自定义数据类型(例如金宝app仿真软件。AliasType
对象或枚举类),代码生成器放置相应的类型定义(类型定义
)
文件。当您从多个模型生成代码时,每个模型都复制类型定义。这些重复的定义会阻止您将生成的代码的主体一起编译。模型
_types.h
但是,您可以配置代码生成器,将单个类型定义放在_sharedutils
文件夹中。然后,当您从模型生成代码时,如果类型定义已经存在于_sharedutils
文件夹中,代码生成器不会复制定义,而是通过包含(# include
).
通过这个机制,您可以分享:
金宝app®从类实例化的数据类型对象金宝app仿真软件。AliasType
,金宝app仿真软件。公共汽车
,金宝app仿真软件。NumericType
.有关创建和使用这些对象的基本信息,请参见生成代码中的控件数据类型名称(嵌入式编码)金宝app仿真软件。公共汽车
.
定义的枚举,例如,通过创建枚举
类,或使用该函数金宝appSimulink.defineIntEnumType
.有关在Simulink中定义枚举的基本信息,请参见金宝app在Simulink模型中使用枚举数据金宝app(金宝app模型)。
要在多个模型之间共享自定义数据类型:
定义数据类型。例如,创建金宝app仿真软件。AliasType
对象。
将数据作用域和头文件属性设置为允许共享的特定值。
对于数据类型对象,设置DataScope
财产“出口”
并且,也可以通过HeaderFile
财产。
将枚举定义为枚举
类,实现getDataScope
方法(带有返回值“出口”
),并可选地实现getHeaderFile
方法。
属性定义的枚举金宝appSimulink.defineIntEnumType
函数,设置“DataScope”
两个参数“出口”
并且,可选地指定“HeaderFile”
对参数
在模型中使用数据类型。
在从每个模型生成代码之前,设置模型配置参数共享代码的位置来共享位置
.
从模型中生成代码。
属性中的头文件中可以配置自定义数据类型的定义_sharedutils
文件夹中。模型生成的共享实用程序函数_sharedutils
文件夹不使用自定义数据类型名称。只有位于每个模型的代码文件夹中的模型代码使用自定义数据类型名。