1. ホーム
  2. c

[解決済み] warning : No new line at end of file "の意味を教えてください。[重複しています。]

2022-03-04 18:43:49

質問

<ブロッククオート

重複の可能性があります。
「ファイル末尾に改行がない」コンパイラの警告

私はLinuxユーザーで、仕事ではgccを使っていますが、自宅ではcygwinのパッケージをインストールして使っています。 gcc をWindowsマシンにインストールしました。

.c ファイルを作成し、実行すると以下のような警告が表示されます。

Warning : No new line at end of file 

そのcファイルの末尾に余計な改行を入れると、警告が消えました。 Linuxでgccを使っていて、このような警告に直面したことはありません。

だから

なぜこのような警告が出るのでしょうか? どういう意味でしょうか?

編集

このようなことをする必要性や利点は何ですか?

もし、それがC言語プログラミングの標準の一部であるなら、なぜLinuxで作業中にエラーを出さないのでしょうか?

解決方法は?

C言語では、すべてのソースファイルは改行で終わらなければなりません(C99 5.1.1.2/1より)。

空ではないソースファイルは改行文字で終わらなければならず、そのようなスプライシングが行われる前にバックスラッシュ文字が直前にあってはならない。

(C++もC++11以前はこの要件があった)