Compartir a través de


Tamaño del tipo y la variable de ensamblado en línea

Específicos de Microsoft

Los operadores de Longitud, de CALIBRE, y de TYPE tienen un significado limitado de ensamblado en línea.No se pueden utilizar en absoluto con el operador de DUP (porque no puede definir datos con las directivas o los operadores de MASM).Pero puede utilizarlos para encontrar el tamaño de C o variables o tipos de C++:

  • El operador de Longitud puede devolver el número de elementos de una matriz.devuelve el valor 1 para las variables de la no-matriz.

  • El operador de CALIBRE puede devolver el tamaño de C/C++. o variable de C++.El tamaño de una variable es el producto del Longitud y TYPE.

  • El operador de TYPE puede devolver el tamaño de C/C++. o tipo o variable de C++.Si la variable es una matriz, TYPE devuelve el tamaño de un único elemento de la matriz.

Por ejemplo, si el programa tiene una matriz de int de 8 elementos,

int arr[8];

c y las expresiones siguientes de ensamblado hacen que el tamaño de arr y sus elementos.

__asm

C

Size

Matriz deLongitud

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

8

Matriz deCALIBRE

sizeof(arr)

32

Matriz deTYPE

sizeof(arr [0])

4

Específico de Microsoft de FINAL

Vea también

Referencia

Mediante el lenguaje de ensamblado en bloques de __asm