主要内容

通过为存储类编写TLC代码精细控制数据表示

如果创建自己的存储类通过使用属性在嵌入式编码字典或自定义存储类设计师不符合您的需求控制数据表示在生成的代码中,您可以编写TLC代码显式地控制效果,存储类的代码。例如,要创建产生任意嵌套结构的存储类,必须编写TLC代码。在自定义存储类设计器中,这些高级存储类具有类型设置为其他.您不能在Embedded Coder Dictionary中创建这样的存储类,因此要在Code Mappings编辑器中使用存储类,您必须配置模型的字典以引用包含存储类的包,如请参阅包中的代码生成定义

例如,请参见生成从字面内存地址解引用数据的代码.有关TLC代码的一般信息,请参见为什么使用目标语言编译器?

为存储类创建自定义属性类

中描述的允许存储类用户指定属性值,特定于实例的属性使存储类的用户能够控制存储类对每个数据项的影响。例如,内置存储类ExportToFile有几个特定于实例的属性,比如头文件定义文件

使用类型设置为其他,若要添加未内置到自定义存储类设计器中的自己的特定于实例的属性,请创建自定义属性类你的包。一个自定义属性类是一个MATLAB®类的子类金宝app仿真软件。CustomStorageClassAttributes.添加到自定义属性类中的每个属性在存储类的用户看来都是特定于实例的属性。

要创建自定义属性类,请参见定义数据类

编写存储类的TLC代码

要控制存储类的效果,请编写TLC代码,指定为每个数据项生成的代码。

  1. 在您的包文件夹中(例如,+ myPackage),创建一个薄层色谱文件夹中。

  2. 复制TLC模板,如TEMPLATE_v2.tlc从文件夹中matlabroot/ /是/ csc_templates工具箱/ rtw /目标开放)到你的薄层色谱文件夹中。

  3. 按照模板文件中的注释编写TLC代码。注释描述了如何指定,例如,生成的代码如何声明、定义和访问(通过值或引用)每个数据项。

使用自定义存储类设计器创建存储类

要在包中创建存储类,请以高级模式打开自定义存储类设计器。

  1. 在命令提示符处,输入:

    cscdesigner先进的
  2. 选择您的包并创建一个存储类。

  3. 对于存储类,设置类型其他.在其他属性窗格中,指定TLC文件的名称和自定义属性类的名称。

  4. 控件上设置属性其他属性窗格。

    • 分组:如果要将多个数据项组合成生成代码中的单个实体,请选择此选项。例如,内置存储类设置结构体是分组的,因为它们可以将多个数据项聚合为单个结构变量。

    • 薄层色谱文件名称:输入TLC文件的名称。自定义存储类设计器假设文件存在于包中薄层色谱文件夹,因此只指定文件名,而不指定文件路径。

    • CSC属性类名(可选)如果您创建了一个自定义属性类,请输入类的全名,包括包名。例如,指定myPackage.myCustomAttsClass.有关更多信息,请参见为存储类创建自定义属性类

  5. 一般评论窗格中,指定其余属性的值。

要将存储类应用于数据对象,需要从包中创建数据对象,并配置对象以使用存储类。有关将自定义存储类应用于数据对象的更多信息,请参见应用存储类.要通过使用Code Mappings编辑器在模型中应用存储类,必须配置模型用来引用包的Embedded Coder Dictionary。当您引用包时,存储类将出现在Embedded Coder Dictionary中,并在Code Mappings编辑器中可用。有关更多信息,请参见请参阅包中的代码生成定义

相关的话题