/Zp (Allineamento membri struct)

Controlla il modo in cui i membri di una struttura vengono compressi in memoria e specifica la stessa compressione per tutte le strutture in un modulo.

Sintassi

/Zp[116|||8|24]

Osservazioni:

L'opzione /ZpN indica al compilatore dove archiviare ogni membro della struttura. Il compilatore archivia i membri dopo il primo su un limite minore delle dimensioni del tipo di membro o di un limite di N byte.

I valori di compressione disponibili sono descritti nella tabella seguente:

Argomento /Zp Effetto
1 Comprime le strutture sui limiti a 1 byte. Uguale a /Zp.
2 Comprime le strutture sui limiti a 2 byte.
4 Comprime le strutture sui limiti a 4 byte.
8 Crea pacchetti di strutture su limiti a 8 byte (impostazione predefinita per x86, ARM e ARM64).
16 Include strutture su limiti a 16 byte (impostazione predefinita per x64 e ARM64EC).

Non usare questa opzione a meno che non si disponga di requisiti di allineamento specifici.

Avviso

Le intestazioni C/C++ in Windows SDK presuppongono che venga usato l'allineamento predefinito della piattaforma. Non modificare l'impostazione rispetto all'impostazione predefinita quando si includono le intestazioni di Windows SDK, usando /Zp nella riga di comando o usando #pragma pack. In caso contrario, l'applicazione potrebbe causare il danneggiamento della memoria in fase di esecuzione.

È anche possibile usare il pragma per controllare la pack compressione della struttura. Per ulteriori informazioni sull'allineamento, vedere:

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà>di configurazione C/C++>Generazione codice.

  3. Modificare la proprietà Struct Member Alignment .

Per impostare l'opzione del compilatore a livello di codice

Vedi anche

Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC