文档

addComplexTypeAlignment

指定复杂类型的对齐边界

语法

addComplexTypeAlignment (hDataAlign, baseType、对齐)

描述

例子

addComplexTypeAlignment (hDataAlign基类型对齐指定复杂类型的实数据成员和复杂数据成员的对齐边界。

由代码生成器生成的具有指定类型的复杂变量的实部和虚部的起始内存地址是指定对齐边界的倍数。当这两个条件都为真时,代码生成器将替换生成代码中的操作:

  • 代码替换表项具有一个复杂参数,其数据对齐要求小于或等于对齐边界值

  • 该条目满足所有其他代码替换匹配条件。

要使用此函数,代码替换库注册文件必须包含额外的编译器数据对齐信息,例如对齐语法。

例子

全部折叠

此示例显示如何为complex指定16字节对齐边界int8类型,方法是添加addComplexTypeAlignment行到代码替换库注册文件。

函数rtwTargetInfo (cm)rtwTargetInfo函数注册一个代码替换库(CRL)%用于代码生成注册本地函数locCrlRegFcn中定义的CRLcm.registerTargetInfo (@locCrlRegFcn);结束% RTWTARGETINFO结束本地函数,定义包含crl_table_mmul_4x4_single_align的CRL函数thisCrl = locCrlRegFcn%创建一个对齐规范对象,假设GCCas = RTW.AlignmentSpecification;作为。AlignmentType = {“DATA_ALIGNMENT_LOCAL_VAR”...“DATA_ALIGNMENT_GLOBAL_VAR”...“DATA_ALIGNMENT_STRUCT_FIELD”};作为。AlignmentSyntaxTemplate =“使用__attribute__((对齐(% n)))”;作为。金宝appSupportedLanguages = {“c”“c++”};添加对齐规范对象da = RTW.DataAlignment;da.addAlignmentSpecification ();da.addComplexTypeAlignment (“int8”16);将数据对齐对象添加到目标特征tc = rtw .目标特征;tc。数据对齐= da;实例化CRL注册表项thisCrl = RTW.TflRegistry;%定义CRL属性thisCrl。Name =“数据对齐示例”;thisCrl。描述=“用数据对齐替换的例子”;thisCrl。TableList = {“crl_table_mmul_4x4_single_align”};thisCrl。目标特征= tc;结束LOCCRLREGFCN结束

输入参数

全部折叠

hDataAlign是先前由返回的数据对齐对象的句柄吗hDataAlign=环球套票。DataAlignment

例子:

基类型是指定内置数据类型的字符向量,例如int8

例子:“int8”

对齐是2的幂且不超过128的正整数。这个值指定对齐边界。

例子:16

在R2014a中引入

这个话题有用吗?