Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Administrator
Zitat
x = 0 wird vom Compiler, soweit ich weiß, wirklich mit xor übersetzt (vorausgesetzt x ist ein Integer). Man kann das aber auch einfach nachprüfen, indem man sich die Assembly mit Originalquellcode als Kommentar vom Compiler ausgeben lässt. Einfach mal in den Projekteinstellungen suchen ... das geht mit allen mir bekannten Versionen von Visual C++!
Administrator
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 |
int main() { int x = 0; for(int i = 0; i < 1000; i++) { x += i; } return x; } |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
00000 33 c0 xor eax, eax ; 4 : for(int i = 0; i < 1000; i++) 00002 33 c9 xor ecx, ecx $L272: ; 5 : { ; 6 : x += i; 00004 03 c1 add eax, ecx 00006 41 inc ecx 00007 81 f9 e8 03 00 00 cmp ecx, 1000 ; 000003e8H 0000d 7c f5 jl SHORT $L272 ; 7 : } ; 8 : ; 9 : return x; ; 10 : } 0000f c3 ret 0 |
Administrator
Werbeanzeige