Tail-Rekursion Optimierung passiert in Visual Studio 10 x64 Debug, aber nicht in der Veröffentlichung?

8

ursprünglich habe ich eine Stackoverflow-Ausnahme im x86-Modus bekommen. Als ich bemerkte, dass x64 die Tail-Rekursion optimieren würde, wechselte ich zum Kompilieren in x64. Und es funktionierte elegant im Debug-Modus .. Allerdings, wenn ich versuchte, den Release-Code zu starten .. warf Stackoverflow wieder .. jeden möglichen Grund?

    
colinfang 02.09.2011, 09:28
quelle

1 Antwort

6

Die Regeln für die Anwendung von Optimierungsmethoden für die Tail-Rekursion sind kompliziert und ändern sich ständig.

Ich würde dringend empfehlen, dass Sie nicht aus Gründen der Korrektheit auf die Tail-Rekursion setzen.

    
Jon Skeet 02.09.2011, 09:30
quelle

Tags und Links