[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:

> 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?

Zitat aus ISO/IEC 9899:1999 (der ISO-Norm, die die Sprache C definiert),
Abschnitt 5.1.1.2, Paragraph 1, Aufzählungspunktpunkt 2:

| [...] A source file that is not empty shall end in a new-line
| character, [...].

Kurz gesagt ist Dein Programm also kein korrektes C.

Etwas ausführlicher ausgedrückt ist Dein Programm (gemäß der Definition
von "shall" in der genannten Norm) nicht streng konform. Ein konformer
C-Compiler darf auch nicht streng konforme Programme übersetzen, ist
dann aber verflichtet, mindestens eine Diagnosemeldung auszugeben.

Martin



Reply to: