/Zp (zarovnání členů struktury)
Určuje, jak jsou členy struktury zabalené do paměti, a určuje stejné balení pro všechny struktury v modulu.
Syntaxe
/Zp
[1
16
|||8
|2
4
]
Poznámky
Tato /ZpN
možnost kompilátoru říká, kam má každý člen struktury ukládat. Kompilátor ukládá členy za první na hranici, která je menší než velikost typu členu, nebo n-bajtová hranice.
Dostupné hodnoty balení jsou popsány v následující tabulce:
Argument /Zp | Účinnost |
---|---|
0 | Zabalí struktury na 1 bajtových hranicích. Stejné jako /Zp . |
2 | Zabalí struktury na 2 bajtových hranicích. |
4 | Zabalí struktury na 4 bajtových hranicích. |
8 | Zabalí struktury na 8 bajtech (výchozí hodnota pro x86, ARM a ARM64). |
16 | Struktury balíčků na hranicích 16 bajtů (výchozí hodnota pro x64 a ARM64EC). |
Tuto možnost nepoužívejte, pokud nemáte specifické požadavky na zarovnání.
Upozorňující
Hlavičky C/C++ v sadě Windows SDK předpokládají, že se používá výchozí zarovnání platformy. Pokud zahrnete hlavičky sady Windows SDK, nepoužívejte nastavení z výchozího nastavení, a to buď pomocí /Zp
příkazového řádku, nebo pomocí příkazu #pragma pack
. Jinak může aplikace způsobit poškození paměti za běhu.
Direktivu pack
pragma můžete také použít k řízení balení struktury. Další informace o zarovnání naleznete v následujících tématech:
Nastavení tohoto parametru kompilátoru ve vývojovém prostředí Visual Studio
Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.
Vyberte stránku vlastností vlastnosti konfigurace>C/C++>Generování kódu.
Upravte vlastnost Zarovnání člena struktury.
Programové nastavení tohoto parametru kompilátoru
- Viz třída StructMemberAlignment.
Viz také
Parametry kompilátoru MSVC
Syntaxe příkazového řádku kompilátoru MSVC