Хорошо! так вот как вы могли бы решить эту проблему.
поскольку это консольное приложение, я предполагаю, что вы создаете приложение, и в этом случае ОС выделяет стек / виртуальную память и кучу для вас, где вы будете создавать объекты в куче. как правило, эти детали абстрагируются от нас, поскольку мы просто используем оператор «new»!
вот что может сработать -
получить дескриптор к куче по умолчанию, предоставляемой вашей ОС - GetProcessesHeap ();
и освободите кучу после бесплатной библиотеки, используя HeapFree ()! это очистит всю выделенную вам кучу, но это также может очистить и другие динамически распределенные объекты.
вот как ты можешь заставить это работать
перед загрузкой DLL создайте личную кучу, необходимую для динамического выделения содержимого из вашей DLL, используя - HeapCreate ().
используйте HeapAlloc и HeapDealloc вместо new / delete для создания объектов из вашей dll с помощью вашего личного дескриптора кучи.
освободите кучу с помощью heapdestroy (), как только вы закончите с использованием библиотеки!