らんだむな記憶

blogというものを体験してみようか!的なー

ファイル末尾の改行

なぜファイル末尾に改行を入れるのか - Qiita
という感じらしくて、C 規格のドラフトを見ても知らんぞ的なことが書いてある。
例えば http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf がC11 のドラフトらしいのだが、5.1.1.2 Translation phases を見ると

A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character before any such splicing takes place.

とある。DeepL によると「空ではないソースファイルは、改行文字で終わらなければならず、その改行文字の前にバックスラッシュ文字があってはならない。」ということである。ということで VS Code の設定をしておこう。というか gti diff の表示がうるさい。

さて、POSIX の定義なんて見たことないなと思ったので、unix - Why should text files end with a newline? - Stack Overflow を参考にDefinitions を見ると

3.206 Line
A sequence of zero or more non- characters plus a terminating character.

と書いてある。自力でここに到達できる気がしない・・・。