gpt4 book ai didi

c - 使用 size_t 在 C 中检测 64 位

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

sizeof(size_t)==8 是否等同于说该平台是 64 位的?相反,sizeof(size_t)==4 是否等同于平台是 32 位的?

更重要的是,这个测试是否在所有情况下都安全可靠,并牢记操作系统和编译器的可移植性?是否存在一些奇怪的极端情况,包括 size_t 可能缺失的潜在情况?

我有点担心 size_t 可能只能在 C99 环境下得到保证。

最佳答案

实际上,是的,这是安全可靠的。您可能瞄准或将来瞄准的平台都是字节可寻址的,具有 8 位字节和 size_t 等于机器字长。大多数平台都保证这种情况将无限期地继续下去(例如,POSIX 保证这一点)。

从理论上讲,不,这不安全可靠。 Cray-1、PDP-10 和各种 DSP 系统等晦涩难懂的系统会让您感到困惑。但是,考虑一下:您为 Cray-1 设计软件的可能性有多大,而 Cray-1 在坐在您旁边的初级工程师出生之前就已经过时了?

关于c - 使用 size_t 在 C 中检测 64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16998157/

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