| 作者 | 主题 |
|---|---|
|
yang9188 游侠
经验值:582 发帖数:42 精华帖:2 |
楼主
主题:【实用FC系列】之二,SizeOf 统计数据的大小
很多控制器都有SizeOf这个功能。作用就是统计数据占用的字节数量。但是1X00控制器的标准库和指令中没有这个功能。可是我的一些项目中,尤其与通讯有关的项目需要这个功能,为此我开发了这个FC。 我们先看看这个FC的外特性。 图 1 图1 是在main中4次调用了SizeOf函数。可以统计出一个数据结构所占用的字节数量。 下面要说4个问题。 1,我们注意到data占用8个字节,但是在data这个结构体中的所有数据占用字节总和是6个。这是我们需要注意的问题。 2,如果同业觉得有帮助的话, 我会把SizeOf的代码分享出来。 3,对于bool类型的数组。不同CPU占用的字节数不同。比如X86系列CPU以及1500优化块,每个bool类型占用一个字节。对于非优化块,每个bool类型占用一个bit。Sizeof采用非优化块标准,即使data数据是优化数据也如此。 4,对于bool类型的结构,占用word的整数倍。这是从下图得到的结论。 5,好像结论有些复杂。没关系,我们无需记忆这些规则。需要的时候用SIZEOF测量一下就可以了。这就是FC:“SIZEOF”存在的意义。 6,如果有问题,我们可以在此发帖讨论。如果觉得有用,请点赞,点关注。 |