【问题标题】:Size reduction for enum storage in Fujitsu SoftuneFujitsu Softune 中枚举存储的大小缩减
【发布时间】:2018-04-30 05:51:02
【问题描述】:

使用的富士通微控制器是 32 位的。 因此枚举存储也是 32 位的。但在我的项目中,实际上枚举元素不超过 256 个。 是否有任何编译器选项可以缩小枚举的存储空间?

【问题讨论】:

  • 你使用什么编程语言?

标签: enums embedded softune


【解决方案1】:

您可以使用bit field 来在 8 个字中存储 256 个唯一值(256 位 / 32 位字 = 8),但是编译器将不再能够强制只设置一个位一次。但是,您可以轻松编写一个包装函数来清除所有先前的位,然后再设置一个。它可能最终会有点混乱,但是当您在这个级别开始使用这些技巧来节省内存时,往往会发生这种情况。

【讨论】:

    【解决方案2】:

    您可以使用预处理器宏 (#define) 将符号名称映射到值。在不知道您的应用程序是什么的情况下,很难预测这是否明智:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 2015-07-31
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 2020-09-27
      相关资源
      最近更新 更多