Forum: Compiler & IDEs ???no new line at end of file???


von Alex (Gast)


Lesenswert?

Hallo,
nochmals sorry für meine cross postings, wird nicht mehr vorkommen!

Was bedeutet eigentlich "keine neue Zeile am Dateiende"?
Ich habe eigentlich die Klammern der Programme richtig gesetzt und
alles schön mit Strichpunkt (Strichpunkt pflichtig!) beendet...

Kann mir jemand verraten was die Fehlermeldung soll?

Danke

von Joerg Wunsch (Gast)


Lesenswert?

Naja, steht doch da: Deine letzte Zeile ist nicht mit einem
Newline-Zeichen beendet.  Diese Unsitte ist aus irgendwelchen Gründen
unter Windows weit verbreitet, vermutlich weil manche Editoren das
gern so abspeichern.  Wenn Du einen Hex-Editor hast, solltest Du
sehen, daß das letzte Zeichen kein 0x0a ist.

Der C-Standard spricht durchweg von einer Zeilenstruktur, und eine
Zeile endet halt mit dem Newline.  Zwar ist C an sich eine formatfreie
Sprache, aber nicht mehr wirklich, wenn man den Präprozessor mit
einbezieht: der arbeitet streng auf Zeilenbasis.  Da aber jedes
Programm erst durch den Präprozessor geht, muß es folglich aus Zeilen
aufgebaut sein (auch wenn der größte Teil dieser Zeilen durch den CPP
nicht angefaßt wird), um syntaktisch Sinn zu haben.

von Sascha Weitkunat (Gast)


Lesenswert?

Ich gehe mal davon aus dass du mit 'Strichpunkt' das Semikolon
meinst...
Eine schließende geschweifte Klammer, '}', wird in der Regel nicht
von einem solchen gefolgt, so zum Beispiel bei Funktionen. Die
Fehlermeldung, oder viel mehr Warnung, ist doch eigentlich
selbsterklärend. Am Ende deines Programmcodes möchte der Compiler halt
ein 'carriage return' und 'linefeed' sehen, '\r\n'. Geh mit dem
Cursor irgendwo in deinen Quelltext, drücke 'PgDn' darauf 'End' und
'Return', folglich am Ende der Datei eine neue Zeile beginnen, und
die Warnung verschwindet.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Das Problem hättest du übrigens selber lösen können, wenn du "no
newline" in die Suche eingegeben hättest.

von Alex (Gast)


Lesenswert?

Das war nur ein kleines Missverständnis zwischen mir und dem compiler.
Ich dachte, er will nicht dass ich eine neue (leere) Zeile ins Prgramm
schreibe.
"new line at end of file missing" - wäre für mich nicht so zweideutig
gewesen...

von Joerg Wunsch (Gast)


Lesenswert?

Hoppla. sorry, da hatte ich zu schnell auf den Submit-Knopf gedrückt,
und dummerweise hat sich der emacs-w3m auch noch meinen letzten
Beitrag zu diesem Thread gemerkt und den wirklich nochmal
abgeschickt...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.