Параметр /STACK (выделение памяти в стеке)
Обновлен: Ноябрь 2007
/STACK:reserve[,commit]
Заметки
Параметр /STACK задает размер стека в байтах. Этот параметр следует использовать только при построении исполняемого файла.
Значение reserve определяет общий объем выделяемой памяти стека в виртуальной памяти. Для компьютеров на платформе x86 и x64 по умолчанию выделяется стек объемом 1 МБ. Для компьютеров на платформе Itanium по умолчанию выделяется стек объемом 4 МБ.
Значение параметра commit интерпретируется операционной системой. В Windows NT и Windows 2000 этот параметр задает объем физической памяти, который выделяется за один раз. Выделенная виртуальная память резервирует пространство в файле подкачки. Более высокое значение параметра commit позволяет повысить производительность приложения, использующего большой объем памяти стека, однако приводит к повышению требований к памяти и, возможно, увеличению времени запуска. Для компьютеров на платформе x86 и x64 по умолчанию используется значение параметра commit, равное 4 КБ. Для компьютеров на платформе Itanium по умолчанию используется значение 16 КБ.
Значения reserve и commit задаются в нотации в десятичном формате либо в формате языка С.
Также можно задать объем стека с помощью оператора STACKSIZE в файле определения модуля с расширением DEF. В случае одновременного указания параметр STACKSIZE переопределяет значение параметра /STACK. Чтобы изменить объем стека после построения исполняемого файла, используйте программу EDITBIN.
Установка параметра компоновщика в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Установка свойств проекта Visual C++.
Откройте папку Компоновщик.
Выберите страницу свойств Система.
Измените значение одного из следующих свойств:
Выделить память для стека
Резервируемый размер стека
Установка параметра компоновщика программным способом
- См. разделы StackCommitSize и StackReserveSize.