Hi! im Anhang kleines Progrämmchen. Kann mir jemand sagen warum zum Teufel die While Schleife nicht durchlaufen wird. Und warum sind Breakpoints mit Ausrufezeichen? So was ist echt nervig und ich weiß jetzt echt nicht woran es liegt.
Müsstest Du nicht in die While-Schleife einen Vergleichsoperator
reinmachen, z.B.
while (z != 1) { ... }
weil, was soll denn eins sein? Es muss doch ein Ergebnis mit True/False
zurückgeliefert werden, auf dem basierend die while-Schleife
funktioniert.
Code-Optimierung. Die While Schleife (z++) ist aus Sicht des Compilers unnütz und wird weggelassen. Hinter den ! verbirgt sich höchstwarscheinlich eine Warnung die auf diesen Sachverhalt hinweist. Gruß Roland
Hast du dir schonmal den Disassembler angeguckt? Merkwürdig, gibt`s Warnungen oder Fehlermeldungen beim Kompilieren? Grüße, Ingo
Ich denke das hier wird wohl irgendwas nicht stimmen.
Target "PostBuildEvent" skipped, due to false condition;
('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files\Atmel\AVR Studio
5.0\Vs\Avr.common.targets" from
Klaus schrieb: > Ich denke das hier wird wohl irgendwas nicht stimmen. > > Target "PostBuildEvent" skipped, due to false condition; > ('$(PostBuildEvent)' != '') was evaluated as ('' != ''). > Target "Build" in file "C:\Program Files\Atmel\AVR Studio > 5.0\Vs\Avr.common.targets" from Nee, das ist ok. http://avrstudio5.wordpress.com/ Grüße, Ingo
Hi! Es lag daran das ich -Os gesetzt habe! Ohh Mann! Danke Roland für den hinweis. Hat sich hiermit erledigt
Das solltest du auch so lassen. Wenn du dann Code mit "Sinn" schreibst, funktioniert das das auch ;-) Ingo
Ich hab zwar AVR Studio 5 noch nicht benutzt, aber die Ausrufezeichen sind sicher Compiler Warnungen. Halte den Mauszeiger über die Ausrufezeichen dann solltest du ein Popup sehen mit einer Erklärung. Ausserdem: was zum Geier soll denn das Programm? Und wie willst du erkennen dass die Schleife nicht durchlaufen wird? Machst du das im Simulator?
@Johannes G Es ist nur ein test, weil ich mich gewundert habe warum der die While-Schleife nicht durchläuft. Das eigentliche Gerüst sieht ganz anders aus aber dort wird die Schleife auch nicht durchlaufen ich habe es nur der einfachhalber so gepostet. Die z++ sollte ja trotzdem erhöht werden ohne jetzt einen wirklichen sinn zu haben. JA! Es wird Simuliert und Ja! Auch auf dem ATiny 13 debugt.
ADWandlerfrage schrieb: > Müsstest Du nicht in die While-Schleife einen Vergleichsoperator > reinmachen, z.B. > > while (z != 1) { ... } > > weil, was soll denn eins sein? Es muss doch ein Ergebnis mit True/False > zurückgeliefert werden, auf dem basierend die while-Schleife > funktioniert. Wenn man keine AHnung hat, einfach mal... ein C-Buch lesen! Und bitte erst danach wieder hier antworten ;-)
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.
