Condividi tramite


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

Vedere anche

Riferimenti

Utilizzo del linguaggio assembly in blocchi di __asm