44 Stimmen

Was geschieht mit globalen Variablen, die in einer DLL deklariert sind?

Angenommen, ich schreibe eine DLL in C++ und deklariere ein globales Objekt einer Klasse mit einem nicht-trivialen Destruktor. Wird der Destruktor aufgerufen, wenn die DLL entladen wird?

1voto

INS Punkte 10083

Wenn DllMain mit dem Parameter fdwReason = DLL_PROCESS_DETACH aufgerufen wird, bedeutet dies, dass die DLL von der Anwendung entladen wird. Dies ist der Zeitpunkt, bevor der Destruktor von globalen/statischen Objekten aufgerufen wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X