Re: [OT] - Reine Interessensfrage zu gcc-Meldung
Jochen Heller <linux@nordviertel.net> writes:
> es ist wirklich nichts weltbewegendes oder störendes. Ich beginne nur
> gerade damit, mich mit C zu beschäftigen und habe das Buch von
> Kernighan und Ritchie auf dem Schoß. Da habe ich gemerkt, wenn ich ein
> Programm kompiliere und eben nach der schließenden geschweiften Klammer
> nicht nochmal Enter gedrückt hab, dass gcc dann bemerkt, dass da keine
> neue Zeile am Ende der Datei zu finden war. Und da ich diese Meldung ja
> auch von der /etc/fstab her kenne, wenn man es da eben nicht macht,
> ohne dass es weiter schlimm ist, möchte ich nur gerne mal wissen, aus
> welchem Grund stört er sich eigentlich daran? - Oder wird ihm durch die
> letzte Leerzeile dann eindeutig das Ende der Datei angezeigt oder wie?
> Ich mein er kompiliert ja das Programm, er sagt halt nur, dass die
> letzte Zeile keine leere ist.
gcc stört das fehlende Zeilenende weniger (sonst würde gcc sich ja mit
einem Fehler verabschieden). Es gibt aber diverse für C-Programmierer
wichtige Tools, die das finale Zeilenende zwingend erwarten und auch der
ISO-Standard, der bestimmt, wie ein C-Programm auszusehen hat, geht von
der Existenz eines solchen "end-of-line indicator" aus:
Aus ISO/IEC 9899:1999, Section B, §5.2.1, p3: "In source files, there
shall be some way of indicating the end of each line of text;".
Thomas Jahns
--
"Computers are good at following instructions,
but not at reading your mind."
D. E. Knuth, The TeXbook, Addison-Wesley 1984, 1986, 1996, p. 9
Reply to: