$M
Определяет параметры распределения памяти.
Синтаксис:
{$M размер_стека, размер_кучи}
Тип: Глобальная
Название на английском языке: Memory Allocation Sizes
Значение по умолчанию: {$M размер_стека, размер кучи}(Windows}
{$M размер_стека} (Защищенный режим DOS)
{$M размер_стека, начало_кучи, конец_кучи} (Реальный режим DOS)
Команда меню: Options|Compiler|Memory sizes
Описание:
Директива $M определяет параметры распределения памяти для приложения или библиотеки. Параметр "размер_стека" должен быть целым числом в диапазоне от 1024 до 65520, что определяет размер сегмента стека.
Для реального режима DOS, параметры "начало_кучи" и "конец_кучи" определяют минимальный и максимальный размеры кучи, соответственно. Параметр "начало_кучи" должен быть в диапазоне от 0 до 655360, а параметр "конец_кучи" должен быть в диапазоне от "начало_кучи" до 655360.
Для Windows, параметр "размер_кучи" определяет размер локальной области кучи в сегменте данных. Параметр "размер_кучи" должен быть целым числом в диапазоне от 0 до 65520.
ВНИМАНИЕ: Директива $M не дает эффекта, когда используется в модуле. Параметр "размер_стека" игнорируется в библиотеке (библиотека всегда использует стек приложения, которое ее вызывает).