[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: