Cのバージョン、または関数の暗黙の宣言を許可しないコンパイラはありますか?Cの関数の暗黙の宣言
たとえば、 mingwコンパイラを使用して、stdio.hをインクルードせずに自分のプログラム内でprintf関数を使用すると、自分のプログラムをコンパイルし、 "組み込み関数 'printf'の暗黙の宣言を警告として表示します。
私はCのいくつかのバージョン、またはこれらの状況で私のプログラムをコンパイルしないいくつかのコンパイラがあるかどうか知りたいです。
よろしくお願いいたします。
Cのバージョン、または関数の暗黙の宣言を許可しないコンパイラはありますか?Cの関数の暗黙の宣言
たとえば、 mingwコンパイラを使用して、stdio.hをインクルードせずに自分のプログラム内でprintf関数を使用すると、自分のプログラムをコンパイルし、 "組み込み関数 'printf'の暗黙の宣言を警告として表示します。
私はCのいくつかのバージョン、またはこれらの状況で私のプログラムをコンパイルしないいくつかのコンパイラがあるかどうか知りたいです。
よろしくお願いいたします。
コンパイル時に-Werror
オプションを使用すると、すべての警告がエラーとみなされます。
コードをコンパイルするときに-Werror
コンパイラオプションを使用できます。すべての警告はerror
とみなされます。これらのオプションを使用して私のソースコードをコンパイルするのが好きです。
gcc -Wall -Werror -Wshadow -Wextra SOURCE.c -Wfloat-equal
さまざまなコンパイラで利用できるさまざまなオプションを見てみませんか?ほとんどの場合、警告をエラーとして出力することができます –
'-Werror'を使うと、コードはコンパイルされません。 – 2501
1999年の標準では暗黙的な 'int'が使われていなかったので、' -std = c99 -Werror'でコンパイルすると暗黙の宣言を捕捉するはずです。 –