Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Específicos de Microsoft
Los operadores LENGTH, SIZE y TYPE tienen un significado limitado en el ensamblado insertado. No se pueden utilizar en absoluto con el operador DUP
(porque no se puede definir datos con las directivas o los operadores de MASM). No obstante, puede utilizarlos para buscar el tamaño de variables o tipos de C o C++:
El operador LENGTH puede devolver el número de elementos de una matriz. Devuelve el valor 1 para las variables que no son de matriz.
El operador SIZE puede devolver el tamaño de una variable de C o de C++. El tamaño de una variable es el producto de sus operadores LENGTH y TYPE.
El operador TYPE puede devolver el tamaño de un tipo o variable de C o 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 int
de 8 elementos,
int arr[8];
las siguientes expresiones de C y ensamblado producen el tamaño de arr
y sus elementos.
__asm | C | Size |
---|---|---|
LENGTH arr | sizeof(arr)/sizeof(arr[0]) |
8 |
SIZE arr | sizeof(arr) |
32 |
TYPE arr | sizeof(arr[0]) |
4 |
FIN de Específicos de Microsoft