Attributi di classi di archiviazione estesi C
Sezione specifica Microsoft
Altre informazioni aggiornate sugli attributi della classe di archiviazione sono disponibili in __declspec
(Riferimenti per C++).
La sintassi degli attributi estesa semplifica e standardizza le estensioni specifiche di Microsoft per il linguaggio C. Gli attributi della classe di archiviazione che usano la sintassi degli attributi estesi includono thread
, naked
dllimport
, e dllexport
.
La sintassi dell'attributo esteso per specificare le informazioni sulla classe di archiviazione usa la __declspec
parola chiave , 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 static
parole chiave e extern
. Tuttavia, queste parole chiave fanno parte dello standard ISO C e non sono coperte dalla sintassi degli attributi estesi.
Sintassi
storage-class-specifier
:
__declspec (
extended-decl-modifier-seq
)
/* Specifico di Microsoft */
extended-decl-modifier-seq
: /* Specifico di Microsoft */
extended-decl-modifier
opt
extended-decl-modifier-seq
extended-decl-modifier
extended-decl-modifier
: /* Specifico di Microsoft */
thread
naked
dllimport
dllexport
Uno spazio vuoto separa i modificatori di dichiarazione. Un extended-decl-modifier-seq
oggetto può essere vuoto; in questo caso, __declspec
non ha alcun effetto.
Gli thread
attributi , dllimport
naked
, e dllexport
della classe di archiviazione sono una proprietà solo della dichiarazione dei dati o della funzione a cui vengono applicati. Non ridefiniscono gli attributi di tipo della funzione stessa. L'attributo thread
influisce solo sui dati. L'attributo naked
influisce solo sulle funzioni. Gli dllimport
attributi e dllexport
influiscono su funzioni e dati.
Fine sezione specifica Microsoft