Помощь - Поиск - Пользователи - Календарь
Полная версия: функции выделения памяти
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Адель
Подскажите
Какие из функций GetMem, VitruaAlloc, ReallocMem и тд. лучше использовать, если необходимо передвать паметры между программой и программой, программой и ддлкой?

и в чем их отличае?
volvo
А ты потом ответ напишешь spider13, и выдашь за свой? Умница, хорошо придумала dry.gif

Такое проходит один раз, второй раз уже не получается...
hardcase
Не понял комментария volvo, но отвечу.

Цитата(Адель @ 4.07.2007 16:58) *
Подскажите
Какие из функций GetMem, VitruaAlloc, ReallocMem и тд. лучше использовать, если необходимо передвать паметры между программой и программой, программой и ддлкой?

и в чем их отличае?

GetMem обращается к стандартному библиотечному менеджеру памяти, ReallocMem так же в его компетенции - просто перераспределяет (увеличивает/уменьшает регион) память.

VirtualAlloc спрашивает виртуальную память у операционной системы, адрес в виртуальном пространстве нужно указать самому. Вероятно, используется библиотечным менеджером для запроса памяти у операционной системы.

Для передачи данных в длл естественно нужно использовать библиотечные функции GetMem/GetMemory/malloc и прочие, т.к. длл исполняется в адресном пространстве процесса, загрузившего её.

По поводу передачи данных между программами. Предположу, что ты имеешь в виду процессы - здесь нужно использовать или программные каналы (pipes) или общую память (file map), как вариант - сокеты.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.