Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Управляет упаковкой элементов структуры в память и задает одну и ту же упаковку для всех структур в модуле.
Синтаксис
/Zp[116|||8|24]
Замечания
Параметр /ZpN указывает компилятору, где должен храниться каждый элемент структуры. Компилятор сохраняет элементы после первого элемента по границе, которая представляет собой меньшее из двух значений: размер типа элемента и N байт.
Возможные значения упаковки описаны в следующей таблице:
| Аргумент /Zp | Действие |
|---|---|
| 1 | Упаковывает структуры по 1-байтовым границам. Эквивалентно /Zp. |
| 2 | Упаковывает структуры по 2-байтовым границам. |
| 4 | Упаковывает структуры по 4-байтовым границам. |
| 8 | Упаковывает структуры по 8-байтовым границам (используется по умолчанию для x86, ARM и ARM64). |
| 16 | Пакеты структур на 16-байтовых границах (по умолчанию для x64 и ARM64EC). |
Не используйте этот параметр, если не заданы конкретные требования к выравниванию.
Предупреждение
В заголовочных файлах C/C++ из Windows SDK предполагается, что используется принятое на платформе выравнивание по умолчанию. Не изменяйте значение параметра по умолчанию при включении заголовков Windows SDK с помощью /Zp в командной строке или с помощью #pragma pack. В противном случае во время выполнения приложения может произойти повреждение памяти.
Для управления упаковкой структур также можно использовать pack pragma. Дополнительные сведения о выравнивании см. в разделах:
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Создание кода.
Измените свойство Выравнивание элемента структуры.
Установка данного параметра компилятора программным способом
- См. раздел StructMemberAlignment.
См. также
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC