Forum: Compiler & IDEs warning: no newline at the end of file


von Manuel Kiefer (Gast)


Lesenswert?

Hallo!
Ich habe jetzt grade mal versucht. den avr-gcc compiler zum laufen
zukriegen. jetzt hab ich auch alles schön installiert und wollte mal so
ne testdatei compilieren!
nun kommt aber folgender fehler:

gcctest1.c:38:1: waring: no newline at the end of file

jetzt ist dort aber "}" die ich ja auch brauche. und dannach kommt
auch keine neue zeile..

hab ich irgendetwas falsch gemacht??

Gruß, Manuel

von OldBug (Gast)


Lesenswert?

Ja! Die neue Zeile FEHLT :-)

Gruß,
Patrick...

P.S.:

int
main(void)
{
  /* gaaanz viel code */
}
<- neue Zeile !

von Manuel Kiefer (Gast)


Lesenswert?

Danke!

.. warum bin ich da nicht gleich drauf gekommen ! :-)

kannst Du mir sagen wo ich den kompletten Befehlssatz für avrgcc
bekomme? Ich habe bis vor kurzem nur mit Assembler programmiert und
immer den Atmel Befehlssatz als hilfreiche Referenz genutzt.

manche Befehle habe ich mir selbst erschlossen oder aus anderen Codes
gelernt, aber vielleicht gibt es ja so eine Art Übersicht über alle
Befehle sortiert nach Alphabet..

weiss dass jemand ??

Gruß Manu

von Matthias (Gast)


Lesenswert?

Hi

du wirst in der Doku zur AVRLibc fündig werden. Wenn du WINAVR
verwendest findest du diese auf deiner Platte.

Matthias

von Jörg Wunsch (Gast)


Lesenswert?

Naja, ,,den kompletten Befehlssatz'' findet er eher in einem
Grundlagenbuch für C. ;-)

von Divison (Gast)


Lesenswert?

Denke er meint die Befehle die den Atmel betreffen.

von Jörg Wunsch (Gast)


Lesenswert?

Das sind ziemlich alle, die auch im K&R stehen.  Naja, die Sprache C
kennt das Wort ,Befehl' als solches nicht.  Funktionsaufrufe,
Operatoren, Ausdrücke, ...  Ist aber wirklich alles Standard-C.  Wenn
man Konstrukte wie

foo |= (1 << bitnr);

einmal verstanden hat, ist es egal, ob man diesen in einem
AVR-Programm antrifft oder im Kernel eines Betriebssystems oder in ein
paar Ausgaberoutinen für ein Grafiksystem oder wo auch immer.

Falls Du die IO-Register oder solche Dinge meinst, das steht wiederum
im Datenblatt des AVR.

Ansonten: einfach Beispiele ansehen.  Es gibt deren genügend.

von Divison (Gast)


Lesenswert?

Kannst du mir mal dein genanntes konstruckt erklären?

von ape (Gast)


Lesenswert?

foo |= (1 << bitnr);

setzt in der variablen foo das bit bitnr.

beispiel:

foo = 0x00;
foo |= (1 << 7);
// jetzt ist foo == 0x80

das gegenstück dazu ist
foo &= ~(1 << bitnr);
damit wird in foo das bit bitnr gecleared

von Divison (Gast)


Lesenswert?

Ahhh danke!

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.