Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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