私はgccコンパイラでc99モードをアクティブにして、このフォーラムの他の投稿で-std
は-std=c99
と等しくなければならないが、コマンドラインを使用してこの値に設定する方法がわからない助けてください。
次を使用してコンパイルします。
gcc -std=c99 -o outputfile sourcefile.c
gcc --help
はいくつかのオプションをリストします。オプションの完全なリストについては manual を参照してください。 C方言のさまざまなオプションは here にあります。
make
を使用しているので、CFLAGS
を使用してgccのコマンドラインオプションを設定できます。
# sample makefile
CC = gcc
CFLAGS = -Wall -std=c99
OUTFILE = outputfile
OBJS = source.o
SRCS = source.c
$(OUTFILE): $(OBJS)
$(CC) $(CFLAGS) -o $(OUTFILE) $(OBJS)
$(OBJS): $(SRCS)
$(CC) $(CFLAGS) -c $(SRCS)
補遺(2016年後半に追加):C99はもう少し古くなっており、この回答を見ている人は探索したいかもしれませんC11代わりに。
-std=c99
国旗。
このようにコンパイルしてみてください:
gcc -Wall -std=c99 -g myProgram.c
-g
はデバッグオプション用です(それを指しているAlter Mannに感謝します)。
別の答えの下にあるコメントに基づいて、おそらくあなたは暗黙のmakeルールを使用していて、Makefileを持っていません。この場合、make tst
を実行して、tst.cからtstバイナリを生成しています。その場合、環境変数CFLAGS
を設定してフラグを指定できます。次のようにして、現在のシェルに設定するか、~/.bashrc
に追加して常に使用できます。
export CFLAGS='-Wall -Wextra -std=c99'
または、単一のコマンドだけに指定する:
CFLAGS='-Wall -Wextra -std=c99' make tst
(注:警告フラグも追加しました。実際に使用する必要があります。多くの潜在的なバグや、異なる方法で記述する必要のある不正なコードを検出します。)