Partilhar via


Tamanhos de tipo e variável em assembly embutido

Específico da Microsoft

LENGTH, TAMANHO, e os operadores de TIPO tem um significado limitado no assembly embutido. Não podem ser usados em todas com o operador de DUP (porque você não pode definir dados com políticas ou operadores de MASM). Mas você pode usá-lo para localizar o tamanho de C ou variáveis ou tipos de C++:

  • O operador de LENGTH pode retornar o número de elementos em uma matriz. Retorna o valor 1 para variáveis de não matriz.

  • O operador de TAMANHO pode retornar o tamanho atual do da variável c ou C++. O tamanho de uma variável é o produto de seus LENGTH e TIPO.

  • O operador de TIPO pode retornar o tamanho do tipo c ou C++ ou a variável. Se a variável for uma matriz, TIPO retorna o tamanho de um único elemento da matriz.

Por exemplo, se seu programa tem uma matriz de int de elementos, 8

int arr[8];

as seguintes expressões e C do assembly retorna o tamanho de arr e de seus elementos.

__asm

C

Size (Tamanho)

Arr deLENGTH

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

8

arr deTAMANHO

sizeof(arr)

32

arr deTIPO

sizeof(arr [0])

4

FINALIZAR Específico da Microsoft

Consulte também

Referência

Usando linguagem de assembly em blocos de __asm