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