共用方式為


__unaligned

當您宣告使用變數的指標__unaligned修飾詞,編譯器會假設指標位址未對齊的資料。 因此,目標 Itanium 處理器系列 (IPF) 電腦的應用程式,則編譯器會產生一次讀取一個未對齊的資料位元組的程式碼。

備註

__unaligned修飾詞是有效的x64和Itanium編譯器,但 IPF 電腦為目標的影響只有應用程式。 這個修飾詞告訴您,只有 ; 附上地址資料的對齊方式 指標本身會假設設為靠右對齊。

Itanium處理器 」 產生對齊錯誤時存取未對齊的資料和時間來處理錯誤減弱時的效能。使用__unaligned修飾詞讓處理器以一次讀取資料的位元組,並避免錯誤。 這個修飾詞並不需要x64應用程式因為x64處理器處理未對齊的資料,而不需判定為失敗。

如需對齊的詳細資訊,請參閱:

範例

// unaligned_keyword.cpp
// compile with: /c
// processor: x64 IPF
#include <stdio.h>
int main() {
   char buf[100];

   int __unaligned *p1 = (int*)(&buf[37]);
   int *p2 = (int *)p1;

   *p1 = 0;   // ok

   __try {
      *p2 = 0;  // throws an exception
   }
   __except(1) {
      puts("exception");
   }
}

請參閱

參考

C + + 關鍵字