-
-
Erfahrener Benutzer
Roboter Genie
mit dem ShiftOut(void) habe ich eben versucht, aber das ändert auch nichts.
Ich habe aber völlig neue Erkenntnisse gewonnen: P R O B L E M G E L Ö S T
Ich habe mal die Optimierungen des Compilers verändert und siehe da:
bei Optimize "Balanced" geht es.
bei Optimize "Size" geht es.
bei Optimize "Speed" geht es nicht.
Aber geht nicht, stimmt hier nicht so ganz.
Er hat tatsächlich die Funktion ShiftOut rausgeschmissen, aber ....
Er hat den Code ohne Funktionsaufruf in die main schleife gepackt.
Das sieht man aber nicht im Source-Code-Fenster. Man wundert sich nur, warum die funktion niemals
aufgerufen wird und man dort auch keinen Breakpoint setzen kann.
Wenn man aber im Fenster des Assemblercodes schrittweise simuliert bzw. sich den Code ansieht,
wird man feststellen, daß dort der Code direkt eingefügt wurde.
Jetzt leuchtet es mir auch ein, da er auf "Speed" optimieren sollte, kann er natürlich den
Unterprogrammaufruf sparen, wenn er den Code gleich in die Main Schleife reinpackt.
Da muss man erstmal drauf kommen. Absolut verwirrend. Zumal man sich nicht dauernd den
Assemblercode ansieht, welchen der Compiler erzeugt. Zudem habe ich immer nach dem
Label ShiftOut gesucht, den gibts aber dann garnicht mehr im Assemblercode.
Das Problem ist also gelöst...
Ich danke Dir Jaecko, daß Du mich ermutigt hast da nochmal reinzuschauen,
obwohl ich hätt eh nicht aufgegeben...
Fazit: wenn man im C-Source-Code plötzlich keine Breakpoints mehr setzen kann,
bzw. in der Simulation bestimmte Unterprogramme "scheinbar" nicht mehr aufgerufen werden,
dann hat der Compiler sicher was "umgebaut" an der Ablaufstruktur.
Dies sieht man aber nicht im Sorce-Code sondern höchstens im Assembler-Code.
Mein Code hätte also funktioniert, ich hatte es aber garnicht erst ausprobiert, da mir die Softwaresimulation klarmachen wollte, daß meine funktion nie aufgerufen wird. Warum sollte ich also diese Software downloaden
Schwere Geburt,
Siro
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen