__declspec(naked)

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Schlüsselwörter alphabetisch - Index


Kategorie

Modifizierer, Zusätzliche Schlüsselwörter, Speicherklassen-Spezifizierer

Syntax

 __declspec( naked ) deklarator

Mit Hilfe des Attributs naked kann das Generieren des Prolog-/Epilog-Codes verhindert werden. Beachten Sie aber, dass durch __declspec(naked) kein normaler Stack-Rahmen eingerichtet wird. Bei einer auf diese Weise deklarierten Funktion werden die Registerwerte nicht gesichert. Die entsprechenden Implementierungen müssen explizit durch den Programmierer durchgeführt werden.

Sie können durch dieses Attribut eigenen Prolog-/Epilog-Code mit Inline-Assembler-Anweisungen erstellen. Diese Möglichkeit ist besonders beim Schreiben von virtuellen Gerätetreibern hilfreich.

naked kann nur für die Definition einer Funktion verwendet werden und ist kein Typmodifizierer.

Beispiel

Mit der folgenden Anweisung wird eine Funktion mit dem Attributv naked definiert:

 // Beispiel für das Attribut naked
 __declspec( naked ) int func( formal_parameters )
 {
 // Beliebige Anweisungen
 }

Siehe auch