Share via


Tailles de type et de variable dans l'assembly inline

Section spécifique à Microsoft

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

  • L’opérateur LENGTH peut retourner le nombre d’éléments d’un tableau. Il retourne la valeur 1 pour les variables non-tableau.

  • L’opérateur SIZE peut retourner la taille d’une variable C ou C++. La taille d’une variable est le produit de sa longueur et de son type.

  • L’opérateur TYPE peut retourner la taille d’un type ou d’une variable C ou C++. Si la variable est un tableau, TYPE retourne la taille d’un élément unique du tableau.

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

int arr[8];

les expressions C et d'assembly suivantes génèrent la taille d'un tableau arr et de ses éléments.

__asm C Taille
LONGUEUR ARR sizeof(arr)/sizeof(arr[0]) 8
ARR SIZE sizeof(arr) 32
TYPE arr sizeof(arr[0]) 4

FIN de la section spécifique à Microsoft

Voir aussi

Utilisation du langage assembleur dans les blocs __asm