- ベストアンサー
gccの最適化オプションで挙動がおかしくなる
コンパイラの最適化オプション -Osをつけると、下記のソースの終了コードが255になってしまいます。 最適化を行わない時や最適化を-O1にしたときは、0を返します。 本来は0が返ると思うのですが、なにかコードの書き方に何か問題ありますでしょうか? 環境は、 gcc 4.2、Mac Xcode 3.1.4上でテストしています。 また、ソースの文字コードの種類はSJISにしています。 const unsigned char gStr[3]="\x82\xAC"; int main(int ac, char **av) { const unsigned char cc=0x82; if(gStr[0]==cc) return 0; else return 0xff; }
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- kuku-suke
- ベストアンサー率25% (2/8)
回答No.2
- chie65536(@chie65535)
- ベストアンサー率44% (8812/19983)
回答No.1
お礼
数々の調査結果を、ありがとうございます。 このバージョンのgcc特有の現象みたいですね。