2012-01-20 33 views
0

我正在构建一个针对5.0 sdk GCC的库并在4.2.x设备上运行代码。怪异的iOS 5.0 SDK 4.2.x设备上的GCC副作用

我没有在此图层中使用5.0个objective-c特定调用,并且该项目与4.0+版本兼容。

我在我的图书馆看到一些与我的if块有些奇怪的行为。

通常这应该工作

BYTE byteVal : 1; 

byteVal = FALSE; 

if (byteVal) 
    // ALWAYS RUNS 

的问题是,在if块的代码总是执行。

这使zlib gzip功能出现问题。 4.2.x操作系统是否使用一些偏移量或不同的寄存器对齐方式,这与建立较新的GCC不符合标准?

我对这里发生的事情感到不知所措,为什么在4.2.x设备上总是失败。

有什么想法?

+0

真正的问题(不是暗示它是不正确的或任何东西 - 不是专家) - 是整个代码(我的意思,不是'extern {...}'块中的'BYTE byteVal:1' ?)? – Romain

+0

byteVal是一个成员变量。 – cynistersix

+0

我也遇到了zlib gzip中的read()问题,我无法读取磁盘上的文件。它总是返回0字节读取。 – cynistersix

回答

0

使用

if (byteVal == 1) 

有一些问题与使用单位宽成员变量,即使它是不是如果(byteVal)总是真。

相关问题