Ich weiß, dass, wenn Ihre DLL statische Verknüpfungen mit einer anderen Version der Laufzeit, dann erstellt es einen eigenen Heap. Es wird auch, wenn es angewiesen wird, einen Haufen zu machen. Unter diesen Umständen ist es für die DLL nicht sicher, was die zugewiesene exe löscht. In welchen Fällen gilt dies NICHT (wie in, es ist sicher für die DLL zu löschen, was die exe zugewiesen)? Ist es sicher, wenn sowohl die exe als auch die DLL statisch mit derselben Laufzeitbibliothek verknüpft sind?Wann genau würde eine DLL einen anderen Heap als die ausführbare Datei verwenden?
Dank
im Grunde ist es eine Möglichkeit, wo wer es nur addEvent(new DerivedEvent(), FunctorDestroyClass());
Nein. Deshalb verknüpfen Sie dynamisch mit der Runtime. Dies ist das Standardverhalten (dynamische Verknüpfung) und die einzige von MS empfohlene Methode. Die statische Verknüpfung der Laufzeit verursacht nur Kopfschmerzen. Tu es einfach nicht. –