gpt4 book ai didi

c - 8 位枚举,在 C 中

转载 作者:太空狗 更新时间:2023-10-29 16:24:44 29 4
gpt4 key购买 nike

我必须存储指令,我将通过串行接收的命令。命令的长度为 8 位。

我需要保持命令名称及其值之间的透明度。从而避免必须将串行接收的 8 位数字转换为任何类型。

我想在我的代码中使用枚举来处理它们。在这个平台上只有一个枚举对应一个 16 位整数。

该平台是 AVR ATmega169V 微 Controller ,在 Butterfly demo board 上.它是一个 8 位系统,对 16 位操作有一些有限的支持。它不是一个快速的系统,只有大约 1KB 的 RAM。它没有任何奢侈品,如文件 I/O 或操作系统。

关于我应该使用什么类型来存储 8 位命令有什么建议吗?
必须有比#defines 的大量 header 更好的东西。

最佳答案

gcc-fshort-enums 可能有用:

Allocate to an "enum" type only as many bytes as it needs for the declared range of possible values. Specifically, the "enum" type will be equivalent to the smallest integer type which has enough room.

事实上,here这是一个包含大量相关信息的页面。我希望您遇到许多您不知道的 GCC 开关。 ;)

关于c - 8 位枚举,在 C 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1699402/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com