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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour