gpt4 book ai didi

c - 在 C 中使用 typedef 作为无符号类型的快捷方式

转载 作者:太空宇宙 更新时间:2023-11-04 01:00:42 25 4
gpt4 key购买 nike

我正在用 C 编写一个 Chip-8 仿真器,我的目标是让它与尽可能多的新旧操作系统兼容多年来一直在添加,所以像这样的东西既可以创建快捷方式(这样我就不必写很多无符号字符/长整数)又可以解释已经定义了数字的编译器是否合理?如果没有,是否有更好/更有效的方法来做到这一点?

#ifdef __uint8_t_defined
typedef uint8_t uchar;
typedef int8_t schar;
typedef uint16_t ushort;
typedef int16_t sshort;
#else
typedef unsigned char uchar;
typedef signed char schar;
typedef unsigned short ushort;
typedef signed short sshort;
#endif

最佳答案

您不应该对原始类型的大小做出任何假设。甚至 char 也没有 8 位。检查此讨论:

What does the C++ standard state the size of int, long type to be?

我认为标准整数类型得到了很好的支持。如果您没有 stdint.h,那么您获得交叉兼容性的机会对我来说似乎非常渺茫。期望 stdint.h 可用于编译器似乎是一个合理的先决条件。

关于c - 在 C 中使用 typedef 作为无符号类型的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40952356/

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