Partager via


Tailles de type et de variable dans un assembly inline

Spécifique à Microsoft

Les opérateurs de LONGUEUR, de SIZE, et de TYPE ont une signification limitée dans l'assembly inline.Ils ne peuvent pas être utilisés du tout avec l'opérateur d' DUP (car vous ne pouvez pas définir de données avec les directives ou les opérateurs de MASM.Mais vous pouvez les utiliser pour rechercher la taille C ou des variables ou des types C++ :

  • L'opérateur de LONGUEUR peut retourner le nombre d'éléments dans un tableau.Il retourne la valeur 1 pour les variables non-tablelles.

  • L'opérateur de SIZE peut retourner la taille du c ou de la variable C++.la taille d'une variable est le produit de son LONGUEUR et TYPE.

  • L'opérateur de TYPE peut retourner la taille du c ou le type ou la variable C++.Si la variable est un tableau, TYPE retourne la taille d'un seul élément du tableau.

Par exemple, si votre programme a un tableau d' int de 8 éléments,

int arr[8];

C et les expressions suivants d'assembly obtenir la taille d' arr et de ses éléments.

__asm

C

Taille

arr deLONGUEUR

sizeof(arr/sizeof(arr [0])

8

arr deSIZE

sizeof(arr)

32

arr deTYPE

sizeof(arr [0])

4

détail de FIN Microsoft

Voir aussi

Référence

À l'aide de le langage assembleur dans les blocs de __asm