Dela via


Använda C- eller C++-symboler i __asm block

Microsoft-specifik

Ett __asm block kan referera till valfri C- eller C++-symbol i omfånget där blocket visas. (C- och C++-symboler är variabelnamn, funktionsnamn och etiketter, d.v.s. namn som inte är symboliska konstanter eller enum medlemmar. Du kan inte anropa C++-medlemsfunktioner.)

Några begränsningar gäller för användning av C- och C++-symboler:

  • Varje instruktion för sammansättningsspråk får bara innehålla en C- eller C++-symbol. Flera symboler kan endast visas i samma sammansättningsinstruktion med uttrycken LENGTH, TYPE och SIZE .

  • Funktioner som refereras till i ett __asm block måste deklareras (prototyper) tidigare i programmet. Annars kan kompilatorn inte skilja mellan funktionsnamn och etiketter i __asm blocket.

  • Ett __asm-block kan inte använda C- eller C++-symboler med samma stavning som reserverade MASM-ord (oavsett versaler och gemener). RESERVERADE MASM-ord innehåller instruktionsnamn som PUSH - och registernamn som SI.

  • Struktur- och unionstaggar identifieras inte i __asm block.

Avsluta Microsoft Specifik

Se även

Använda C eller C++ i __asm block