Microsoft 固有の仕様 。 __unaligned
修飾子を使用してポインターを宣言すると、コンパイラはポインターがアラインされていないデータに対処することを前提としています。 そのため、ポインターを介して配置されていない読み取りと書き込みを処理するために、プラットフォームに適したコードが生成されます。
解説
この修飾子は、ポインターによってアドレス指定されるデータの配置を記述します。 ポインター自体がアラインされているものと見なされます。
__unaligned
キーワードの必要性は、プラットフォームと環境によって異なります。 データを適切にマークしないと、パフォーマンスの低下からハードウェア障害まで、問題が発生する可能性があります。 __unaligned
修飾子は、x86 プラットフォームでは無効です。
以前のバージョンとの互換性を確保するために、_unaligned
は、コンパイラ オプション /Za
(言語拡張機能の無効化) が指定されていない限り、__unaligned
の同意語です。
アラインメントの詳細については、次のトピックを参照してください。