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
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!
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.
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
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.
@Notker: Vielleicht liegt es ja an deinem Leerzeichen nach "#"? Schmittchen.
Nein, das geht auch mit Leerzeichen. Ich vermute in diesem Fall befindet sich das Problem zwischen Stuhl und Monitor ;-)
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.