2012-01-20 10 views
0

5.0 SDK GCCに対してライブラリを構築し、4.2.xデバイスでコードを実行しています。奇妙なiOS 5.0 SDK 4.2.xデバイスでのGCCの副作用

私はこのレイヤーで5.0 objective-c特定の呼び出しを使用していません。このプロジェクトは4.0以上で出荷することができます。

私のライブラリで、ifブロックと実際には奇妙な動作が見られます。

典型的には、これは、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)場合は常に真であることを、単一のビット幅のメンバ変数を使用して、いくつかの問題があります。

関連する問題