2012-01-20 77 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)總是真。

相關問題