Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

naked (C++)

Specifici di Microsoft

per le funzioni dichiarate con naked l'attributo, il compilatore genera codice senza codice di epilogo e di prologo. È possibile utilizzare questa funzionalità per scrivere per contenere le sequenze di codice epilogo o di prologo utilizzando il codice assembler inline. Le funzioni naked sono particolarmente utili nella scrittura dei driver di periferica virtuali. si noti che naked l'attributo è valido solo su x86 e non è disponibile in x64 o Itanium.

__declspec(naked) declarator

Poiché naked l'attributo è rilevante solo alla definizione di funzione e non è un modificatore di tipo, le funzioni naked devono utilizzare la sintassi degli attributi estesa e __declspec parola chiave.

Il compilatore non è in grado di generare una funzione inline per una funzione contrassegnata con l'attributo naked, anche se la funzione viene contrassegnata con __forceinline parola chiave.

Il compilatore genera un errore se naked l'attributo è applicato a diversa dalla definizione di un metodo non membro.

Esempi

questo codice definisce una funzione con naked attributo:

__declspec( naked ) int func( formal_parameters ) {}

O, in alternativa:

#define Naked __declspec( naked )
Naked int func( formal_parameters ) {}

naked l'attributo influisce solo sulla natura di generazione del codice del compilatore per le sequenze di prologo e dell'epilogo della funzione. Non influisce sul codice che venga generato per chiamare tali funzioni. Pertanto, naked l'attributo non è considerato parte del tipo di funzione e i puntatori a funzione non possono avere naked attributo. Inoltre, naked l'attributo non può essere applicato a una definizione dei dati. Ad esempio, in questo esempio di codice riportato di seguito genera un errore:

__declspec( naked ) int i;       // Error--naked attribute not
                                 // permitted on data declarations.

naked l'attributo è rilevante solo alla definizione della funzione e non può essere specificato nel prototipo della funzione. Ad esempio, questa dichiarazione genera un errore di compilazione:

__declspec( naked ) int func();  // Error--naked attribute not 
                                 // permitted on function declarations

Microsoft FINALE specifico

Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft. Tutti i diritti riservati.