Tamaño de tipos y variables de ensamblado insertado
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 | Tamaño |
---|---|---|
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
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de