2012-01-20 2 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 

문제를 작동합니다.

이것은 zlib gzip 기능에 문제가 있습니다. 4.2.x OS가 새로운 GCC로 빌드 할 때 오프셋이나 다른 레지스터 정렬을 사용하고 있습니까?

여기에서 무슨 일이 일어나고 있는지 그리고 왜 이것이 4.2.x 기기에서 항상 실패하는지에 관해서는 분실했습니다.

의견이 있으십니까?

+0

정품이 아닌 질문 (전문가가 아닌 것은 아닙니다.) - 전체 코드입니까? (즉, 'extern {...}'종류의 블록에서 'BYTE byteVal : 1'이 아님) ?)? – Romain

+0

byteVal은 멤버 변수입니다. – cynistersix

+0

또한 디스크의 파일을 읽을 수없는 zlib gzip의 read()에 문제가 있습니다. 항상 0 바이트를 읽습니다. – cynistersix

답변

0

사용

if (byteVal == 1) 

(byteVal)이 항상 true 인 경우가없는 경우에도 것을 하나의 비트 폭 멤버 변수를 사용하여 몇 가지 문제가 있습니다.

관련 문제