Dimensioni di variabile e dei tipi in assembly inline
Specifici di Microsoft
LUNGHEZZA, DIMENSIONEe TYPE gli operatori hanno un significato limitato in assembly inline.Non è possibile utilizzare un oggetto con DUP operatore (perché non è possibile definire i dati con le direttive o gli operatori di MASM).Ma è possibile utilizzarli per determinare la dimensione c# o variabili o tipi C++:
LUNGHEZZA l'operatore può restituire il numero di elementi in una matrice.restituisce il valore 1 per le variabili di non matrice.
DIMENSIONE l'operatore può restituire la dimensione di tipo c o di variabile C++.La dimensione di una variabile è il risultato dell'LUNGHEZZA e TYPE.
TYPE l'operatore può restituire la dimensione di tipo c o tipo o variabile C++.se la variabile è una matrice, TYPE restituisce le dimensioni di un singolo elemento della matrice.
Ad esempio, se il programma ha un elemento 8 int matrice,
int arr[8];
seguito C# e espressioni dell'assembly rendono la dimensione di arr e i relativi elementi.
__asm |
C |
Dimensione |
---|---|---|
LUNGHEZZA arr |
sizeof(i)/arrsizeof(arr [0]) |
8 |
DIMENSIONE arr |
sizeof(arr) |
32 |
TYPE arr |
sizeof(arr [0]) |
4 |
Microsoft FINALE specifico