/Zp (Wyrównanie członka struktury)
Określa sposób, w jaki elementy członkowskie struktury są pakowane w pamięć i określa to samo pakowanie dla wszystkich struktur w module.
Składnia
/Zp
[1
16
|||8
|2
4
]
Uwagi
Opcja /ZpN
informuje kompilator, gdzie należy przechowywać poszczególne składowe struktury. Kompilator przechowuje elementy członkowskie po pierwszym na granicy, która jest mniejsza od rozmiaru typu elementu członkowskiego lub granicy N-bajtowej.
Dostępne wartości pakowania opisano w poniższej tabeli:
/Zp argument | Efekt |
---|---|
1 | Pakuje struktury na granicach 1 bajtów. Tak samo jak /Zp . |
2 | Pakuje struktury na granicach 2 bajtów. |
100 | Pakuje struktury na granicach 4 bajtów. |
8 | Pakiety struktury na granicach 8 bajtów (domyślnie dla x86, ARM i ARM64). |
16 | Pakiety struktury na granicach 16 bajtów (domyślnie dla x64 i ARM64EC). |
Nie używaj tej opcji, chyba że masz określone wymagania dotyczące wyrównania.
Ostrzeżenie
Nagłówki języka C/C++ w zestawie Windows SDK zakładają, że jest używane domyślne wyrównanie platformy. Nie zmieniaj ustawienia z domyślnego, gdy dołączasz nagłówki zestawu Windows SDK, używając polecenia w wierszu polecenia lub przy użyciu /Zp
polecenia #pragma pack
. W przeciwnym razie aplikacja może spowodować uszkodzenie pamięci w czasie wykonywania.
Można również użyć pragma do kontrolowania pack
pakowania struktury. Aby uzyskać więcej informacji na temat wyrównania, zobacz:
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).
Wybierz stronę właściwości Właściwości>konfiguracji C/C++>Code Generation.
Zmodyfikuj właściwość Wyrównanie składowej struktury.
Aby programowo ustawić tę opcję kompilatora
- Zobacz: StructMemberAlignment.
Zobacz też
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC