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

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.
4 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

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

  2. Wybierz stronę właściwości Właściwości>konfiguracji C/C++>Code Generation.

  3. Zmodyfikuj właściwość Wyrównanie składowej struktury.

Aby programowo ustawić tę opcję kompilatora

Zobacz też

Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC