Параметр /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

  1. Откройте диалоговое окно Страницы свойств проекта.Дополнительные сведения см. в разделе Задание свойств проекта C++.

  2. Выберите папку Компоновщик.

  3. Выберите страницу свойств Система.

  4. Измените значение одного из следующих свойств:

    • Выделить память для стека

    • Резервируемый размер стека

Установка данного параметра компоновщика программным способом

См. также

Ссылки

Настройка параметров компоновщика

Параметры компоновщика