gpt4 book ai didi

c - iOS 5.0 SDK GCC 对 4.2.x 设备的奇怪副作用

转载 作者:行者123 更新时间:2023-11-30 18:02:46 25 4
gpt4 key购买 nike

我正在针对 5.0 sdk GCC 构建一个库并在 4.2.x 设备上运行代码。

我在这一层中没有使用 5.0 Objective-C 特定调用,并且该项目兼容在 4.0+ 上发布。

我在我的库中看到一些与我的 if block 非常奇怪的行为。

通常这应该有效

BYTE    byteVal : 1;

byteVal = FALSE;

if (byteVal)
// ALWAYS RUNS

问题在于 if block 中的代码始终在执行。

这导致我的 zlib gzip 功能出现问题。 4.2.x 操作系统是否使用了某些偏移量或不同的寄存器对齐方式,这对于使用较新的 GCC 进行构建不符合标准?

我不知道这里发生了什么以及为什么在 4.2.x 设备上总是失败。

有什么想法吗?

最佳答案

使用

if (byteVal == 1)

使用单位宽成员变量存在一些问题,即 if (byteVal) 始终为 true,即使它不是 true。

关于c - iOS 5.0 SDK GCC 对 4.2.x 设备的奇怪副作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8944728/

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