web-dev-qa-db-ja.com

gccでc99とc11を有効にする方法

次のコードをコンパイルすると、コンパイルエラーが発生します。

 error: ‘for’ loop initial declarations are only allowed in C99 mode
 for(int i = 0; i < 5; i++)

コードをコンパイルするには、このオプションを使用します:

 note: use option -std=c99 or -std=gnu99 to compile your code

今私の質問は、上記のオプションを使用してc99とc11を有効にする方法ですか?

1
Mirwise Khan

エラーメッセージに示されているように、-std=c99または-std=gnu99を使用してコードをコンパイルする必要があります。したがって、たとえば、ファイルはfilename.cであり、次を使用してコンパイルします。

gcc -std=c99 filename.c

エラーがなければバイナリa.outを生成します。このオプションを使用したくない場合は、次のようにiループの前にforを宣言できます。

int i;
for(i = 0; i < 5; i++)

次を使用してコンパイルします。

gcc filename.c
6
jobin