Frage

auf der http://goog-perftools.sourceforge.net/doc/tcmaLoc.HTML . Es wird gesagt: "CMALLOC gibt derzeit keinen Speicher an das System zurück." Ich nehme an, dass es bedeutet, dass, wenn ich 42 MB und kostenloses IT-System zuweise, es nicht zurückbekommen, aber das nächste Mal, wenn ich das nächste Mal 47 MB zuweise, wird es nur 5 MB mehr stehlen?Meine Frage, was mit geladenen DLL-Modulen passiert.Erhalten sie ihr eigenes Stück Speicher, das nicht veröffentlicht wird, wenn das Programm nicht mehr ausgeht.Ich frage, denn wenn ich Run Time Updateable SW schreiben möchte, muss ich neue DLLs laden, ohne das Programm zu verlassen.Meine Frage ist also: Wenn ich -LTCMALLOC verwende, und ich laden und entlasten und entlasten Sie ständig DLLs, die zuordnen, dass die MEME-Nutzung MEM verwendet, um zu explodieren?Ich nehme an, es ist eine dumme Frage, aber ich weiß nicht, ob jede DLL seine eigene Speicherzuweisungszelle verwendet oder wenn die MEM-Zuteilung pro Prozessniveau liegt.

War es hilfreich?

Lösung

Speicher gehört zu einem Prozess, nicht an DLLs.So wird der Speicher normalerweise aufgehalten, bis der Prozess endet.Dies ist ein gemeinsames Merkmal der meisten Malloc-Implementierungen, nicht nur derjenige, nach dem Sie fragen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top