Freigeben über


/Zp (Ausrichten des Strukturmembers)

Diese Option steuert, wie die Member einer Struktur in den Arbeitsspeicher gepackt werden, und gibt das gleiche Paket für alle Strukturen in einem Modul an.

Syntax

/Zp[116|||8|24]

Hinweise

Die /ZpN-Option teilt dem Compiler mit, wo die einzelnen Strukturmember gespeichert werden sollen. Der Compiler speichert Member nach dem ersten Member auf einer Begrenzung, die entweder kleiner ist als die Größe des Membertyps oder als eine N-Byte-Begrenzung.

Eine Übersicht über die verfügbaren Paketwerte finden Sie in der folgenden Tabelle:

/Zp-Argument Effekt
1 Packt Strukturen auf 1-Byte-Begrenzungen. Wie in /Zp.
2 Packt Strukturen auf 2-Byte-Begrenzungen
4 Packt Strukturen auf 4-Byte-Begrenzungen
8 Packt Strukturen auf 8-Byte-Begrenzungen (Standardwert für x86, ARM und ARM64)
16 Packt Strukturen auf 16-Byte-Grenzen (Standard für x64 und ARM64EC).

Verwenden Sie diese Option nur, wenn Sie über bestimmte Ausrichtungsanforderungen verfügen.

Warnung

Bei den C/C++-Headern im Windows SDK wird davon ausgegangen, dass die Standardausrichtung der Plattform verwendet wird. Ändern Sie die Standardeinstellung nicht, wenn Sie die Windows SDK-Header durch Verwenden von /Zp in der Befehlszeile oder mit #pragma pack einschließen. Andernfalls kann die Anwendung zur Laufzeit Speicherbeschädigungen verursachen.

Sie können auch das pack-Pragma verwenden, um das Packen von Strukturen zu steuern. Weitere Informationen zur Ausrichtung finden Sie unter:

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Wählen Sie die Eigenschaftenseite Konfigurationseigenschaften>C/C++>Codegenerierung aus.

  3. Ändern Sie die Eigenschaft Strukturmemberausrichtung.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile