怎么取火山的自定义结构类的数据尺寸
没找到这个方法,求教各位大佬⌈取数据类型尺寸⌋需要注意的是取出的数值是在火山中的数据尺寸,由于火山所有的类都继承了对象类,所以在32位下需要减去12,64位减去24,才是所有成员的数据尺寸。 龙纹 发表于 2023-5-22 16:38
⌈取数据类型尺寸⌋需要注意的是取出的数值是在火山中的数据尺寸,由于火山所有的类都继承了对象类,所以 ...
有点小问题,32位下如果第一个成员是长整数,这样得到的尺寸是12, 64位下正常 龙纹 发表于 2023-5-22 16:38
⌈取数据类型尺寸⌋需要注意的是取出的数值是在火山中的数据尺寸,由于火山所有的类都继承了对象类,所以 ...
不知道是火山的原因,还是我的原因{:3_49:} hxk12349 发表于 2023-5-22 21:21
不知道是火山的原因,还是我的原因
没毛病,跟内存对齐有关。
最终尺寸要求是最大成员尺寸的整数倍,32位对象类的长度12,加上长整数8是20,不满足8的整数倍,所以在后面填充了4字节。
根据内存对齐的规则,会在成员之间和尾部填充一定的字节,除非你对此有足够的了解,否则不推荐通过指针偏移值来访问成员值。 取结构数据尺寸()? [静态方法] <整数> 取结构数据尺寸 (对象类(需求:数据类型) 结构类型)
所处类: 指针操作类; 所处包: 火山.基本
返回所指定结构类中封装的结构数据部分尺寸
参数<1>的名称为"结构类型", 类型为"对象类(需求:数据类型)". 注意: 所提供类的类型必须为结构类(即定义有"@视窗.结构类"属性),否则将编译出错.
页:
[1]