__unaligned__unaligned
Зависит от корпорации Майкрософт.Microsoft-specific. При объявлении указателя с __unaligned
модификатором компилятор предполагает, что указатель обращается к несогласованным данным.When you declare a pointer with the __unaligned
modifier, the compiler assumes that the pointer addresses data that is not aligned. Следовательно, код, соответствующий платформе, создается для управления несогласованными операциями чтения и записи через указатель.Consequently, platform-appropriate code is generated to handle unaligned reads and writes through the pointer.
КомментарииRemarks
Этот модификатор описывает выравнивание данных, адресованных указателю; Предполагается, что указатель должен быть согласован.This modifier describes the alignment of the data addressed by the pointer; the pointer itself is assumed to be aligned.
Необходимость в __unaligned
ключевом слове зависит от платформы и среды.The necessity for the __unaligned
keyword varies by platform and environment. Неправильное пометка данных может привести к проблемам, от снижения производительности до сбоев оборудования.Failure to mark data appropriately can result in issues ranging from performance penalties to hardware faults. __unaligned
Модификатор недопустим для платформы x86.The __unaligned
modifier is not valid for the x86 platform.
Для совместимости с предыдущими версиями аргумент _unaligned
является синонимом, __unaligned
если только параметр компилятора не /Za
( отключает расширения языка) .For compatibility with previous versions, _unaligned
is a synonym for __unaligned
unless compiler option /Za
(Disable language extensions) is specified.
Дополнительные сведения о выравнивании см. в разделах:For more information about alignment, see:
/Zp
(Выравнивание членов структуры)/Zp
(Struct Member Alignment)Примеры выравнивания структурыExamples of Structure Alignment