控制自定义数据类型的文件位置
默认情况下,当您使用数据类型对象时,例如金宝app仿真软件。AliasType
和金宝app仿真软件。公共汽车
,以及自定义枚举来指定信号和块参数的数据类型,从模型生成的代码定义了类型(例如,使用类型定义
语句)。为了简化生成的代码与其他现有代码的集成,并将生成的代码模块化,您可以通过调整对象和枚举的属性来控制类型定义的文件位置。
数据范围和头文件
若要控制自定义类型定义在生成代码中的文件位置,请设置DataScope
和HeaderFile
根据表设置数据类型对象的属性。类似地,对于在MATLAB中定义的枚举®的返回参数getDataScope
和getHeaderFile
方法。
自定义数据类型的名称。typename
头文件的名称。文件名
是模型的名称。模型
目标 | 指定DataScope 作为 |
指定HeaderFile 作为 |
---|---|---|
将类型定义导出到
|
汽车 |
空 |
从您创建的头文件导入类型定义,
|
汽车 或进口 |
|
将类型定义导出到生成的头文件,
|
出口 |
|
从您创建的头文件导入类型定义,
|
进口 |
空 |
将类型定义导出到生成的头文件,
|
出口 |
空 |
导入数据类型定义时(例如,通过设置DataScope
来进口
),生成的模型代码将创建一个# include
指令代替类型定义用于头文件。提供包含定义的头文件。
数据类型替换的注意事项
如果使用数据类型替换来替换内置的Simulink金宝app®数据类型在生成的代码中使用您自己的数据类型(参见模型配置参数:代码生成数据类型替换),
类型定义
语句和# include
指令出现在rtwtypes.h
而不是
。模型
_types.h当一个
金宝app仿真软件。AliasType
或金宝app仿真软件。NumericType
对象参与数据类型替换时,则无法设置DataScope
对象的属性出口
。因此,如果您希望代码生成器生成相应的类型定义
语句时,无法控制语句的文件位置。但是,您可以设置DataScope
来进口
,这意味着您可以配置代码以重用类型定义
外部代码提供的语句。作为一种变通方法,不要使用数据类型对象作为数据类型的替代品,而是使用该对象来设置模型中各个数据项的数据类型。要配置许多数据项,您可以使用模型数据编辑器并利用数据类型传播和继承。有关更多信息,请参见基本数据类型的控件名称。
宏警卫
当您将一个或多个数据类型定义导出到生成的头文件时,该文件包含表单的文件级宏保护RTW_HEADER_
。文件名
_h
假设你使用几个金宝app仿真软件。AliasType
对象:mySingleAlias
,myDoubleAlias
,myIntAlias
使用这些属性:
DataScope
设置为出口
HeaderFile
设置为myTypes.h
生成代码时,受保护的文件myTypes.h
包含了类型定义
声明:
#ifndef RTW_HEADER_myTypes_h_ #定义RTW_HEADER_myTypes_h_ #包括“rtwtypes.h”typedef real_T myDoubleAlias;typedef real32_T mySingleAlias;typedef int16_T myIntAlias;# endif
导出数据类型定义时
,该文件包含表单的宏保护模型
_types.h_DEFINED_TYPEDEF_FOR_
为每一个typename
_类型定义
声明。假设你使用金宝app仿真软件。AliasType
对象mySingleAlias
使用这些属性:
DataScope
设置为汽车
HeaderFile
未指定
生成代码时,文件
包含被保护的模型
_types.h类型定义
声明:
#define _DEFINED_TYPEDEF_FOR_mySingleAlias_ typedef real32_T mySingleAlias;# endif
另请参阅
金宝app仿真软件。AliasType
|金宝app仿真软件。公共汽车
|金宝app仿真软件。NumericType