In C++ Singleton design pattern erwähnt obecalp dass:Warum kann ein globales oder statisches Objekt beim Beenden des Programms zum Absturz führen?
Für viele größere Programme, insbesondere solche mit dynamischen Bibliotheken. Jedes globale oder statische Objekt, das kein primitives Element ist, kann beim Programm-Exit auf vielen Plattformen zu Segmentfehlern/Abstürzen führen, da die Bibliotheken beim Entladen beschädigt werden. Dies ist einer der Gründe, warum viele Kodierungskonventionen (einschließlich Googles) die Verwendung von nicht-trivialen statischen und globalen Objekten verbieten.
Kann jemand erklären, warum das passieren kann? Vielleicht ein Beispiel, um es zu erklären?
Ein Beispiel von diesem ich angetroffen: Versuch, OpenGL-Funktionen von Singleton-Destruktor auszuführen - zu der Zeit Destruktor ausgeführt wurde, zerstörte Windows bereits das Fenster zusammen mit Rendering-Kontext und entladenen OpenGL-Bibliothek. – user2802841