Partager via


/Zp (Alignement des membres de la structure)

Contrôle la façon dont les membres d’une structure sont emballés en mémoire et spécifie le même emballage pour toutes les structures d’un module.

Syntaxe

/Zp[116|||8|24]

Notes

L’option /ZpN indique au compilateur où stocker chaque membre de structure. Le compilateur stocke les membres après le premier sur une limite qui est la plus petite de la taille du type de membre ou d’une limite n’octets.

Les valeurs de compression disponibles sont décrites dans le tableau suivant :

Argument /Zp Effet
1 Packs de structures sur des limites de 1 octets. Comme pour /Zp.
2 Packs de structures sur des limites de 2 octets.
4 Packs de structures sur des limites de 4 octets.
8 Packs des structures sur des limites de 8 octets (par défaut pour x86, ARM et ARM64).
16 Packs de structures sur des limites de 16 octets (par défaut pour x64 et ARM64EC).

N’utilisez pas cette option, sauf si vous avez des exigences d’alignement spécifiques.

Avertissement

Les en-têtes C/C++ du Kit de développement logiciel (SDK) Windows supposent que l’alignement par défaut de la plateforme est utilisé. Ne modifiez pas le paramètre par défaut lorsque vous incluez les en-têtes du Kit de développement logiciel (SDK) Windows, soit à l’aide /Zp de la ligne de commande, soit à l’aide #pragma packde . Sinon, votre application peut provoquer une altération de la mémoire au moment de l’exécution.

Vous pouvez également utiliser le pragma pour contrôler l’emballage pack de structure. Pour plus d'informations sur l'alignement, consultez :

Pour définir cette option du compilateur dans l'environnement de développement Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  2. Sélectionnez la page de propriétés De configuration>C/C++>Génération de code.

  3. Modifiez la propriété Struct Member Alignment .

Pour définir cette option du compilateur par programmation

Voir aussi

Options du compilateur MSVC
Syntaxe de la ligne de commande du compilateur MSVC