Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Controla como os membros de uma estrutura são empacotados na memória e especifica o mesmo empacotamento para todas as estruturas de um módulo.
Sintaxe
/Zp[1|2|4|8|16]
Comentários
A opção /ZpN informa ao compilador o local para armazenar cada membro da estrutura. O compilador armazena membros após o primeiro em um limite que é o menor que o tamanho do tipo de membro ou que um limite de N bytes.
Os valores de pacote disponíveis estão descritos na tabela a seguir:
| Argumento /Zp | Efeito |
|---|---|
| 1 | Empacota estruturas em limites de 1 byte. Mesmo que /Zp. |
| 2 | Empacota estruturas em limites de 2 bytes. |
| 4 | Empacota estruturas em limites de 4 bytes. |
| 8 | Empacota estruturas em limites de 8 bytes (padrão para x86, ARM e ARM64). |
| 16 | Empacota estruturas em limites de 16 bytes (padrão para x64 e ARM64EC). |
Não use essa opção, a menos que você tenha requisitos específicos de alinhamento.
Aviso
Os cabeçalhos do C/C++ no SDK do Windows pressupõem que o alinhamento padrão da plataforma seja usado. Não altere a configuração do padrão quando você incluir os cabeçalhos do SDK do Windows, seja usando /Zp na linha de comando ou usando #pragma pack. Caso contrário, seu aplicativo poderá causar corrupção de memória em runtime.
Você também pode usar o pragma pack para controlar o empacotamento da estrutura. Para obter mais informações sobre alinhamento, consulte:
Para definir esta opção do compilador no ambiente de desenvolvimento do Visual Studio
Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.
Selecione a página de propriedades Propriedades da Configuração>C/C++>Geração de Código.
Modifique a propriedade Alinhamento de membro do struct.
Para definir essa opção do compilador via programação
- Consulte StructMemberAlignment.
Confira também
Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC