__unaligned
Específico de Microsoft. Cuando se declara un puntero con el modificador __unaligned
, el compilador supone que el puntero hace referencia a datos no alineados. Por lo tanto, se genera código adecuado para la plataforma para controlar las lecturas y escrituras no alineadas a través del puntero.
Comentarios
Este modificador describe solamente la alineación de los datos objetivo; se supone que el puntero en sí está alineado.
La necesidad de la palabra clave __unaligned
varía según la plataforma y el entorno. Si los datos no se marcan correctamente, se pueden producir problemas que van desde mermas en el rendimiento hasta errores de hardware. El modificador __unaligned
no se puede usar en la plataforma x86.
A efectos de compatibilidad con versiones anteriores, _unaligned
es un sinónimo de __unaligned
a menos que se especifique la opción del compilador /Za
(Deshabilitar extensiones de lenguaje).
Para obtener más información sobre la alineación, vea:
align
- Operador
alignof
pack
/Zp
(Alineación de miembros de estructura)- Ejemplos de alineación de estructuras x64
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de