Поделиться через


/homeparams (копирование параметров регистров в стек)

Принудительно заставляет параметры, передаваемые в регистры, также записываться в их расположения в стеке при записи функции.

Синтаксис

/homeparams

Замечания

Этот параметр компилятора доступен только в собственных и кросс-компиляторах, предназначенных для x64.

Соглашение о вызовах x64 требует выделения пространства стека для всех параметров, даже для параметров, переданных в регистрах. Дополнительные сведения см. в разделе "Передача параметров". По умолчанию параметры регистрации не копируются в пространство стека, выделенное для них в сборках выпуска. Это затрудняет отладку оптимизированной сборки выпуска программы.

Для сборок выпуска можно использовать параметр /homeparams для принудительного копирования параметров регистрации параметров в стек, чтобы обеспечить отладку приложения. /homeparams означает недостаток производительности, так как для загрузки параметров регистра в стек требуется дополнительный цикл.

В отладочных сборках стек всегда заполняется параметрами, переданными в регистрах.

Установка данного параметра компилятора в среде разработки Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.

  2. Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.

  3. Введите параметр компилятора в поле "Дополнительные параметры ".

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

См. также

Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC