• 编码 | 枚举变量使用技巧


    枚举变量

    • C 标准实现中没有规定枚举变量占用的字节数

    导致的问题:

    • 不同平台枚举变量所占用的字节数不一样(STM32等平台中只占1个字节、ARM-Linux平台占用4个字节);
    • 同一个结构体(包含枚举变量)在不同平台所占用的字节数不一样。

    解决方法:

    • 编译平台层:通过 IDE 指定枚举变量所占用的字节数(kill软件可进行配置),通过配置编译器使得平台间保持一致;
    • 编码层:枚举变量定义自定义4字节的枚举值,编译器能够自动扩充,使得该枚举变量占用4个字节
    typedef enum {
    	ENUM_VALUE_0 = 0,
    	ENUM_VALUE_1,
    	...
    	ENUM_VALUE_CONST = 10240000,///<The value should bigger than 65536.
    } EXAMPLE_DEF_E;
    

    默认枚举变量只占1个字节的平台上,查询以上枚举变量 demo 定义 ‘EXAMPLE_DEF_E’ 占用字节大小为 4 个字节。

  • 相关阅读:
    移动端Rem布局注意事项
    手动添加kdump
    Linux 添加新磁盘,在线扩充空间
    virtualbox linux虚拟机相关
    CentOS7 重置root密码
    putty无密码登陆
    sublime text3 安装插件
    jsp常用代码
    jq鼠标移入移除
    ajax请求超时解决方案
  • 原文地址:https://www.cnblogs.com/CristL/p/14274385.html
Copyright © 2020-2023  润新知