【实用FC系列】之二,SizeOf 统计数据的大小

已锁定

yang9188

西门子1847工业学习平台

  • 帖子

    56
  • 精华

    2
  • 被关注

    31

论坛等级:侠客

注册时间:2020-08-31

钻石 钻石 如何晋级?

【实用FC系列】之二,SizeOf 统计数据的大小

8324

22

2025-09-30 10:08:42

star star star star star

    很多控制器都有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,如果有问题,我们可以在此发帖讨论。如果觉得有用,请点赞,点关注。

【实用FC系列】之二,SizeOf 统计数据的大小 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

谈天说地

共有14432条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。