__unaligned
Específico da Microsoft. Quando você declara um ponteiro com o modificador __unaligned
, o compilador presume que o ponteiro trata os dados que não estão alinhados. Portanto, o código apropriado para a plataforma é gerado para lidar com leituras e gravações não alinhadas pelo ponteiro.
Comentários
Este modificador descreve o alinhamento dos dados endereçados pelo ponteiro. Supõe-se que o ponteiro em si esteja alinhado.
A necessidade da palavra-chave __unaligned
varia de acordo com a plataforma e o ambiente. A falha ao marcar dados adequadamente pode gerar problemas que vão desde multas por desempenho até falhas de hardware. O modificador __unaligned
não é válido para a plataforma x86.
Para compatibilidade com versões anteriores, _unaligned
é um sinônimo para __unaligned
, a menos que a opção do compilador /Za
(Desabilitar extensões de linguagem) seja especificada.
Para obter mais informações sobre alinhamento, consulte:
align
alignof
Operadorpack
/Zp
(Alinhamento de Membro Struct)- Exemplos de alinhamento de estrutura x64