Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

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

Aggiunte alla community

AGGIUNGI
Mostra: