gpt4 book ai didi

c - 用于指定 C 枚举大小的 GCC/Clang/MSVC 扩展?

转载 作者:行者123 更新时间:2023-11-30 16:48:10 25 4
gpt4 key购买 nike

是否有任何扩展功能可以在每个编译器上指定 C enum 的大小?

  • 海湾合作委员会
  • clang
  • MSVC

最佳答案

使用 GCC,您无法指定确切的长度,但您可以使用 -fshort-enums 让它占据尽可能短的长度。示例:

#include <stdio.h>

typedef enum
{
f1, f2
} foo;

int main()
{
printf("%i\n", sizeof(foo));
return 0;
}

编译:

gcc program.c -fshort-enums

输出:

1

但是,如果您想链接到任何内容,则必须确保查看您 header 的人也使用 -fshort-enums ,否则它将不符合 ABI 要求(您会看到一些非常有趣的错误)。

关于c - 用于指定 C 枚举大小的 GCC/Clang/MSVC 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43066047/

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