mikrocontroller.net

Forum: Compiler & IDEs Warnings???


Autor: bluemole (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So nochmal ich...

Ich hab' da ein paar Warnings die ich einfach nicht wegbekomme und die
mich langsam nerven.
Kann mir mal jemand einen Tipp geben und Klarheit verschaffen. Die
blödeste Warning ist:
no new line at end of file (file == assembler file)
das Ende sieht so aus:

.endfunc

Die anderen drei hab' ich mal als Anhang beigelegt...

Merci...

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laut C-Standard ist eine Quelldatei aus Zeilen aufgebaut.  Jede Zeile
endet dabei mit einer Zeilenendekennung (Newline unter Unix, CR-LF
unter DOS).  Da die Datei nur ganze Zeilen haben kann, muß als letztes
in der Datei folglich immer eine Zeilenendekennung stehen.

Die Zeilenorientierung mag auf den ersten Blick verwundern, da C ja
eigentlich white space ignoriert und eine weitgehend formatfreie
Sprache ist.  Wenn Du Dir aber mal den Präprozessor genauer ansiehst
wirst Du feststellen, daß der in Zeilen ,,denkt''.  Schreibst Du
nämlich irgendwo

#define foo bar baz bam bum

dann wird später bei jedem Auftreten von "foo" der Rest der Zeile
(abzüglich des white space zwischen "foo" und dem ersten nichtleeren
Zeichen des Zeilenrestes) substituiert.

Auch wenn es sich bei Deiner Datei um eine Assemblerdatei handelt, Du
hast sicher eine solche, die noch durch den Präprozessor geschickt
wird, um #include, #define usw. zu bearbeiten.  Damit unterliegt sie
den C-Regeln.

Manche Windows-Editoren scheinen eine gewisse Tendenz zu haben, am
Ende der Datei nicht freiwillig eine Zeilenendekennung einzufügen.
Abhilfe: explizit noch einen Zeilenwechsel eintippen.  (Einer mehr
schadet nicht. ;-)

Die anderen Warnungen stammen aus der COFF-Konvertierung und hängen im
Wesentlichen damit zusammen, daß Du nicht alle wünschenswerten
Debug-Symbole händisch in Deinen Assemblercode eingebaut hast.  Die
sind aber allesamt belanglos.

Autor: bluemole (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Abhilfe: explizit noch einen Zeilenwechsel eintippen.

ääähhh, wie ????

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du gehst ans Ende Deiner Datei im Editor und drückst einmal auf die
Enter-Taste.

Gegentest: öffne ein Terminalfenster und schreibe "type
<dateiname>".
Wenn Du vor dem nächsten Prompt eine Leerzeile siehst, dann hatte die
Datei ein Newline am Ende.  Wenn die letzte Zeile direkt vor dem
Prompt
endet, war keins dran.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.