Freigeben über


Typen- und Variablengrößen in der Inlineassembly

Microsoft-spezifisch

LÄNGE, GRÖSSE und TYP-Operatoren haben eine bestimmte Bedeutung im Inlineassembly. Sie können nicht an allen mit dem Operator DUP verwendet werden (da Sie Daten mit MASM-Direktiven oder Operatoren definieren können). Aber Sie können sie verwenden, um die Größe von C oder C++-Variablen oder Typen zu finden:

  • Der Operator LÄNGE kann die Anzahl der Elemente in einem Array zurückgeben. Es gibt den Wert 1 für NichtArrayvariablen zurück.

  • Der Operator GRÖSSE kann die Größe von einem oder aus C++-Variable zurückgeben. Die Größe eine Variable ist das Produkt seiner LÄNGE und TYP.

  • Der Operator TYP kann die Größe von einem oder C++-Typ oder und zurückgeben. Wenn die Variable ein Array handelt, gibt TYP die Größe eines einzelnen Elements des Arrays zurück.

Wenn beispielsweise das Programm int ein Array mit 8 Elementen hat,

int arr[8];

folgenden C und die Assemblyausdrücke führen die Größe von arr und von den Elementen.

__asm

C

Größe

LÄNGE arr

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

8

GRÖSSE arr

sizeof(arr)

32

TYP arr

sizeof(arr [0])

4

END Microsoft-spezifisch

Siehe auch

Referenz

Verwenden von Assemblysprache in __asm-Blöcken