为自定义数据类型生成共享实用程序代码
默认情况下,如果模型使用自定义数据类型(例如金宝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
文件夹不使用自定义数据类型名称。只有位于每个模型的代码文件夹中的模型代码才使用自定义数据类型名称。
相关的话题
- 生成共享实用程序代码(金宝app仿真软件编码器)
- 为定点函数生成共享实用程序代码(金宝app仿真软件编码器)
- 交叉发布共享实用程序代码重用(金宝app仿真软件编码器)
- 控制自定义数据类型的文件放置