gpt4 book ai didi

c - 是否可以使用编译指示覆盖 C 中的枚举基类型?

转载 作者:太空宇宙 更新时间:2023-11-04 02:41:52 24 4
gpt4 key购买 nike

是否可以使用 pragma 覆盖 C 中的枚举基类型?我所知道的是,我们可以设置编译器指令,将枚举基类型设置为 char、int、long。但是有没有其他方法可以在 C 语言的代码中设置枚举基类型?对于 C++,我发现了 typedef enum 之类的编译指示:可以使用 unsigned char ..但是 C 的情况如何?

最佳答案

C 语言标准没有定义各种#pragma 扩展的作用。因此,在符合 C 的情况下无法做到这一点。

如果您有特定的编译器需要执行此操作,一些专门的嵌入式系统目标编译器确实提供了此类功能。您最好阅读该编译器的文档以获得这方面的指导。

但是我根本不建议在嵌入式代码中实例化枚举,正如您所注意到的那样,这几乎无法控制底层类型,因此对于您可能希望针对某些特定平台的嵌入式代码来说是不可预测的。

相反,一定要定义枚举类型,而不是实例化它们,而只是创建您选择的整数类型的变量,然后将它们赋值并与枚举值文字进行比较。

关于c - 是否可以使用编译指示覆盖 C 中的枚举基类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31022348/

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