tl; dr < /strong>
Ich habe ein Programm, das "funktioniert", aber teilweise über unquenziertes Verhalten < /strong>. Ich erkenne, dass Code mit nicht übernachtetem Verhalten technisch gesehen alles ausführen kann, was - etwas etwas tun muss, und ich würde gerne wissen, ob etwas deterministisch ist. Wenn ich den gleichen Satz von Eingängen verwende und mehrmals dasselbe Binärdatum ausführe, wird es dann jedes Mal genauso verhalten (auch wenn das "Verhalten" selbst undefiniert ist)? Wenn ja, kann ich auch eine Möglichkeit haben, zu bestimmen, was es tun wird? Zusätzlich zu einer Handvoll veralteter Codierungspraktiken, die der Compiler inzwischen abgelehnt hat, habe ich eine Reihe von nicht ausgerichteten Verhaltensweisen im Code festgestellt, hauptsächlich in der Form A [i ++] = '\ 0' oder if (a [-i] == '\ 0') oder andere ähnlich beunruhigende störende Strukturen. Trotzdem funktioniert der Code in seinem aktuellen Zustand. />
Ich habe mich bereits mit den Grundlagen von nicht ausgerichteten Verhaltensweisen vertraut gemacht und diese Antwort, diese Antwort und diese Antwort gelesen, zusätzlich zu der Überprüfung, was der Standard zu sagen hat. Ich bin zuversichtlich, dass ich den Code neu schreiben kann, um das derzeit ausgestellte Verhalten auszuführen, vorausgesetzt, ich kann feststellen, wie es sich jetzt verhalten. In dem Code ist jedoch genügend dieser Probleme vorhanden, dass die Verwendung eines Debuggers, um zu bestimmen, was in jedem Fall geschieht, eine nicht triviale Aufgabe darstellt, und ich bin mir nicht sicher, ob ich dem aktuellen Verhalten vertrauen kann, wenn ich die Binärdatei in eine Debugging -Umgebung bewege. identischer Anfangszustand? Ich bin bereit, Binärdateien zu dekompilieren, Debugger auszuführen und (wenn alles andere fehlschlägt) nur mögliche Interpretationen jeder Instanz, um zu sehen, welches funktioniert, aber ich würde gerne wissen, ob es einen Weg gibt, bestimmt zu sein, welches Verhalten des tatsächlichen Codes, das das Verhalten des tatsächlichen Codes nicht definiert ist, , wenn möglich, auch wenn das Verhalten des tatsächlichen Codes nicht definiert ist.
Wiederholt sich das nicht ausgelöste Verhalten? ⇐ C++
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Py_Finalizeex reinigt nicht alles, wenn das OpenAI -Skript wiederholt wird?
by Anonymous » » in Python - 0 Replies
- 23 Views
-
Last post by Anonymous
-