visual c++ 2008 compiler, nicht optimieren lassen?
-
Hallo,
wie kann ich den compiler von vc++2008 so einstellen, dass er mir nichts wegoptimiert?
-
Die Optimierungen kannst du in den Projekteinstellungen unter "C/C++ => Optimierung" ein- oder ausschalten.
-
Warum könnte man so etwas tun wollen?
-
audacia schrieb:
Warum könnte man so etwas tun wollen?
Gute Frage. Bei Mikrocontroller könnte ich mir noch vorstellen, dass man nicht will, dass sowas hier einfach komplett wegoptimiert wird:
for(int i=0;i<10000;i++) { __asm("nop"); }
Aber unter Windows...?
-
audacia schrieb:
Warum könnte man so etwas tun wollen?
Vermutlich weil der Compiler so viel wegoptimiert, dass man den Code nicht mehr Debuggen kann, z.B. irgendwelche Variablen sind nicht mehr da, beim Durchsteppen springt der Debugger überall rum, aber nicht an der Stelle, wo man ihn gerne haben möchte...
-
abc.w schrieb:
Vermutlich weil der Compiler so viel wegoptimiert, dass man den Code nicht mehr Debuggen kann, z.B. irgendwelche Variablen sind nicht mehr da, beim Durchsteppen springt der Debugger überall rum, aber nicht an der Stelle, wo man ihn gerne haben möchte...
Okay, aber im Debug-Build optimiert zumindest mein Compiler standardmäßig ohnehin nicht. Es würde mich wundern, falls MSVC sich da anders verhielte.
-
_matze schrieb:
Gute Frage. Bei Mikrocontroller könnte ich mir noch vorstellen, dass man nicht will, dass sowas hier einfach komplett wegoptimiert wird:
Aber deswegen gleich die Optimierung ausschalten? Gerade bei µC ist man doch auf jedes Byte und jede Mikrosekunde bedacht. Timerschleifen würde man mit Zählern und/oder Interrupts lösen, im Notfall würde man den Compiler mit volatile austricksen.
-
Bashar schrieb:
_matze schrieb:
Gute Frage. Bei Mikrocontroller könnte ich mir noch vorstellen, dass man nicht will, dass sowas hier einfach komplett wegoptimiert wird:
Aber deswegen gleich die Optimierung ausschalten? Gerade bei µC ist man doch auf jedes Byte und jede Mikrosekunde bedacht. Timerschleifen würde man mit Zählern und/oder Interrupts lösen, im Notfall würde man den Compiler mit volatile austricksen.
Ja, richtig. Ich hab ja nur versucht, irgendein Beispiel zu finden...
-
Danke für die Antworten!
Und ja, ich wollte etwas ausprobieren und im debugger anschauen aber der compiler hat immer alles wegoptimiert