Объем памяти кучи библиотеки DLL, загруженной через .СЕТЕВОЕ взаимодействие

#.net #memory-management #dll #interop #win32-process

#.net #управление памятью #dll #взаимодействие #win32-процесс

Вопрос:

У меня есть общая C dll, в которой у меня мало структур. Я передаю данные структуры из C#.net консольное приложение, и я пытаюсь глубоко скопировать эту структуру внутри моей библиотеки dll, как конструктор копирования.

моя проблема в том, что, похоже, в dll не хватает памяти при выделении памяти с использованием new после нескольких выделений!! существует ли какое-либо ограничение на выделение памяти кучи для общих DLL, используемых приложениями .net?

Решения — я попытался создать свою собственную кучу ::heapcreate() , используя и используя этот дескриптор для создания своих объектов new , и, похоже, это работает, что не работает, так это использование обычного оператора new и структуры глубокого копирования с большим количеством wchar_t* в куче deafault.

Любая помощь или любая информация, касающаяся выделения памяти для общих DLL, используемых .NET, действительно помогли бы.

Комментарии:

1. Такого ограничения нет. Если вы можете выделить память с другой кучей, тогда она не выходит из строя из-за нехватки памяти. Сбой происходит из-за повреждения кучи.