c - C 是否优化了枚举的大小?
问题描述
如果我创建一个enum
这样的
enum test {
a=0,
b
};
类型变量是否enum test
在内存中存储为 1 位,因为这是表示它所需的最小值?
解决方案
根据语言规范,枚举的大小最多保证为整数的大小。记住这一点,编译器可以在分析源代码时自由选择实际大小。
话虽如此,您可以使用https://godbolt.org/来探索在不同 CPU 架构负载上运行的各种 C 编译器的 asm 输出。从那里,您可以计算出特定配置的实际大小。
推荐阅读
- flutter - 如何在颤振中加载多个未来
- django - Django - 链接带注释的查询集
- javascript - 使类独立于其他类对数组做出反应
- asp.net - ASP.NET Web API - 一些控制器返回 404 状态码
- android - 当 Firebase 分析从关闭状态打开时,Google 分析的 dataCollection 状态会发生什么?
- php - 函数explode的参数#2 $string需要字符串,SimpleXMLElement|null给定
- reinforcement-learning - cs231n lec 14 强化学习
- flutter - 带有播放列表名称的颤振下载文件
- python - 将 JSON 多行文件加载到熊猫数据框中
- python - 如何在 PyQt5 中获得绝对坐标中的 QFrame 位置