C 有其局限性。如果你知道在哪里寻找。

主要观点:介绍了 C 语言在不同时期关于“int”类型大小的情况,从早期“K&R C”时期到 ANSI-C 标准及后续发展,包括不同编译器的处理方式,如 Microware 的 types.h 和 GCC 的 stdint.h,还提到了 limits.h 中关于各种整数类型最大值和最小值的定义,最后提及 stdint.h 中新增的 stdsizes 相关定义。
关键信息:早期“K&R C”中“int”至少 16 位但不同机器架构不同,Microware 创造 types.h 处理大小问题,GCC 的 stdint.h 提供类似定义如 uint32_t 等,limits.h 定义各种整数类型范围,本周了解到 stdint.h 中还有 stdsizes 类似定义。
重要细节:在 Radio Shack Color Computer 上“int”是 16 位,在 Commodore Amiga 上可能是 32 位;Ultra C 编译器;现代代码可使用 stdint.h 中的定义来处理不同系统的整数类型问题等。

阅读 4
0 条评论