Параметр /STACK (выделение памяти в стеке)
/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
Откройте диалоговое окно Страницы свойств проекта.Дополнительные сведения см. в разделе Задание свойств проекта C++.
Выберите папку Компоновщик.
Выберите страницу свойств Система.
Измените значение одного из следующих свойств:
Выделить память для стека
Резервируемый размер стека
Установка данного параметра компоновщика программным способом
- См. разделы StackCommitSize и StackReserveSize.