Conflitos com o compilador x86
Tipos de dados maiores que 4 bytes não estão alinhados automaticamente na pilha quando você usa o compilador x86 para compilar um aplicativo. Como a arquitetura para o compilador x86 é uma pilha alinhado de 4 bytes, nada maior do que 4 bytes, por exemplo, um inteiro de 64 bits, não pode ser alinhada automaticamente para um endereço de 8 bytes.
Trabalhando com dados desalinhados tem implicações de dois.
Pode levar mais tempo para acessar locais não alinhadas que leva para acessar locais alinhados.
Desalinhada locais não podem ser usados em operações interligadas.
Se você precisar de mais alinhamento estrito, use __declspec(align(N)) on your variable declarations. Isso faz com que o compilador alinhar dinamicamente a pilha para atender às suas especificações. No entanto, ajustar dinamicamente a pilha em tempo de execução pode causar a execução mais lenta do seu aplicativo.