Share via


/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|2|4|8|16]

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
1 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

  1. Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.

  2. Vyberte stránku vlastností vlastnosti konfigurace>C/C++>Generování kódu.

  3. Upravte vlastnost Zarovnání člena struktury.

Programové nastavení tohoto parametru kompilátoru

Viz také

Parametry kompilátoru MSVC
Syntaxe příkazového řádku kompilátoru MSVC