2017-09-28 5 views
3

私の開発マシンでは、次のコマンドでプロジェクトをビルドするとエラーは発生しません。同じフラグを使ったclangとgccの動作の違いは?

clang -Wall -std=c89 main.c

しかし、GCCを持つ別のマシン上で、以下のコマンドを使用してエラーを生成します。

gcc -Wall -std=c89 main.c

main.c:65: error: 'for' loop initial declaration used outside C99 mode

なぜこの動作の違いはありますか?

ここに私が使用しているclangとgccのバージョンがあります。

clang --version 
Apple LLVM version 9.0.0 (clang-900.0.37) 

gcc --version 
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) 

答えて

1

明らかにclangは許可され、c89フラグの下でc99コードを受け入れます。

関連する問題