mikrocontroller.net

Forum: Compiler & IDEs WinAVR immer noch total buggy???


Autor: Notker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

jetzt habe ich mich nach so langer Zeit und all den Lobeshymnen, die man 
in diesem Forum über den WinAVR liest und dass er ja soo viel besser als 
der gute und bewährte avrgcc sein soll, mal dazu hinreissen lassen, ihn 
zu installieren und zu benutzen. Und was ist? Schon bei meiner ersten 
Source steigt er bei einer Präprozessorzeile der Art:

# if VERSION == 1

aus und meint, Gleichheitszeichen seien in Präprozessordirektiven nicht 
erlaubt? Also da musste ich aber erst zweimal ungläubig hinschauen und 
mir die Augen reiben, zumal ich die momentan aktuellste Version gerade 
erst frisch heruntergezogen und installiert hatte.

Mal ehrlich, das ist ja schon ziemlich enttäuschend und meiner Meinung 
nach kann man so etwas doch keinem Menschen empfehlen, oder sehe ich das 
falsch?

Ich habe ja Verständnis, wenn irgendwelche Bugs zutage treten wenn man 
irgendeinen aussergewöhnlichen Code schreibt, der nicht gerade 
alltäglich ist. Aber wenn man schon nach den ersten paar Minuten auf 
solch katastrophale Bugs aufläuft, dann kann das gesamte Produkt wohl 
kaum gut ausgetestet sein und da sind mit Sicherheit noch eine ganze 
Reihe andere grobe Hämmer verborgen.

So, das wollte ich nur mal loswerden.

Gruss,

Notker

Autor: Notker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bevor hier in diesem Forum nun irgendwelche Leute anzweifeln, dass ich 
denn auch tatsächlich intelligent genug bin um die aktuellste Version zu 
finden, es handelt sich hierbei um die Version 20030312!

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst natürlich loswerden, was Du willst, aber genausogut
könnte ich behaupten, daß ich heute eine Kuh auf dem Fahrrad
mitgenommen hätte...  Glauben wird beides keiner.

Es sollte Dich zumindest stutzig machen, daß offensichtlich ja
einige Tausend Leute mit WinAVR zurecht kommen.  Du kannst Dir
dabei ziemlich sicher sein, daß ein simpler Vergleich in einer
Präprozessordirektive bei jedem davon dabei ist -- der wird
nämlich bereits benötigt, um die Bibliothek selbst zu bauen,
d. h. wenn Der nicht gehen würde, ließe sich gar kein WinAVR
bauen.

Also, such besser Deinen pilot error, Herr Notker.

Autor: Oryx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ja wenig Ahnung von Präprozessorzeilen,
bei mir arbeitet der folgende Code tadellos

#define DUSSEL 1

#if DUSSEL == 1
  #error dussel eins
#endif

Das DUSSEL benutze ich immer zum Ausprobieren und Testen, hat wirklich 
nichts zu sagen.


Oryx

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andere Leute nennen es halt DEBUG, klingt etwas freundlicher :),
außerdem genügt es (wenn man nicht verschiedene Werte von
DUSSEL unterscheiden will -- was der OP natürlich mit VERSION
offensichtlich wollte), dann

#if DEBUG

zu schreiben.

Autor: Schmittchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Notker: Vielleicht liegt es ja an deinem Leerzeichen nach "#"?

Schmittchen.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das geht auch mit Leerzeichen. Ich vermute in diesem Fall befindet 
sich das Problem zwischen Stuhl und Monitor ;-)

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es geht übrigens sogar mit Leerzeichen vor dem #, allerdings
ist das nicht mehr vom Standard abgedeckt.  Der Standard verlangt,
daß das # das erste Zeichen der Zeile ist.  Leerzeichen oder
Tabs nach dem # sind dagegen zulässig.

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.