Attributi di classi di archiviazione estesi C

Sezione specifica Microsoft

Informazioni più aggiornate su questo argomento sono disponibili in __declspec (C++ Reference).

La sintassi degli attributi estesa semplifica e standardizza le estensioni specifiche di Microsoft per il linguaggio C. Gli attributi della classe di archiviazione che utilizzano la sintassi degli attributi estesa includono thread, naked, dllimport e dllexport.

La sintassi degli attributi estesa per specificare le informazioni relative alla classe di archiviazione utilizza la parola chiave __declspec, che specifica che un'istanza di un determinato tipo deve essere archiviata con un attributo della classe di archiviazione specifico di Microsoft (thread, naked, dllimport o dllexport). Esempi di altri modificatori della classe di archiviazione includono le parole chiave static ed extern. Tuttavia, queste parole chiave fanno parte dello standard ANSI del linguaggio C e, in quanto tali, non vengono analizzate dalla sintassi degli attributi estesa.

Sintassi

storage-class-specifier:
__declspec (extended-decl-modifier-seq) /* Specifico di Microsoft */

extended-decl-modifier-seq:
extended-decl-modifier opt

extended-decl-modifier-seq extended-decl-modifier

extended-decl-modifier:
thread

naked

dllimport

dllexport

Uno spazio vuoto separa i modificatori di dichiarazione. Si noti che extended-decl-modifier-seq può essere vuoto. In questo caso, __declspec non ha effetto.

Gli attributi della classe di archiviazione thread, naked, dllimport e dllexport sono una proprietà solo della dichiarazione dei dati o della funzione a cui sono associati e non consentono di ridefinire gli attributi del tipo della funzione stessa. L'attributo thread influisce solo sui dati. L'attributo naked influisce solo sulle funzioni. Gli attributi dllimport e dllexport influiscono sulle funzioni e sui dati.

Fine sezione specifica Microsoft

Vedere anche

Dichiarazioni e tipi