共用方式為


內嵌組譯碼中的類型和變數大小

Microsoft 特定的

The LENGTHSIZETYPE 運算子在內嵌組譯碼中具有受限的意義。 這些運算子完全無法搭配 DUP 運算子使用 (因為您無法使用 MASM 指示詞或運算子定義資料)。 但是,您可以使用這些運算子尋找 C 或 C++ 變數或類型的大小:

  • LENGTH 運算子可以傳回陣列中的元素數目。 它會針對非陣列變數傳回數值 1。

  • SIZE 運算子可以傳回 C 或 C++ 變數的大小。 變數的大小是從其 LENGTHTYPE 所產生。

  • TYPE 運算子可以傳回 C 或 C++ 類型或變數的大小。 如果變數為陣列,TYPE 會傳回陣列中單一元素的大小。

例如,如果您的程式擁有 8 個元素的 int 陣列,

int arr[8];

下列 C 和組譯碼運算式會產生 arr 及其元素的大小。

__asm

C

大小

LENGTH arr

sizeof(arr)/sizeof(arr[0])

8

SIZE arr

sizeof(arr)

32

TYPE arr

sizeof(arr[0])

4

END Microsoft 特定的

請參閱

參考

在 __asm 區塊中使用組合語言