Das heißt zunächst DllMain() oder Globale statische Objekt-Konstruktor?
Ich Schreibe eine DLL, die definiert ein globales statisches Objekt.
In der Objekt-Konstruktor mache ich etwas Initialisierung, die möglicherweise oder möglicherweise nicht erfolgreich.
Ist es möglich, das signal Erfolg oder Misserfolg der Initialisierung in DllMain() ? Welche von den beiden zuerst angerufen ?
Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
MSDN ist DllMain Dokumentation sagt:
Da der code in DllMain kann die statische Objekte, die statische Objekte konstruiert werden müssen, bevor DllMain ausgeführt DLL_PROCESS_ATTACH aufgerufen, und zerstört, nachdem es läuft für DLL_PROCESS_DETACH.
Überprüfen kann man das mit einem einfachen test exe-Datei und test-dll.
EXE:
DLL:
Gemeinsam diese drucken:
Wie Sie sehen können, ist das statische Objekt ist konstruiert vor
DllMain(...,DLL_PROCESS_ATTACH,...)
und zerstört, nachdemDllMain(...,DLL_PROCESS_DETACH,...)