Attributs étendus de classe de stockage C
Section spécifique à Microsoft
Vous trouverez des informations plus récentes sur les attributs de classe de stockage sous __declspec
(Référence C++).
La syntaxe à attributs étendus simplifie et normalise les extensions spécifiques à Microsoft pour le langage C. Les attributs de classe de stockage qui utilisent la syntaxe d’attribut étendu sont thread
, naked
, dllimport
et dllexport
.
La syntaxe à attributs étendus pour la spécification des informations de classe de stockage utilise le mot clé __declspec
, ce qui indique qu’une instance d’un type donné doit être stockée avec un attribut de classe de stockage spécifique à Microsoft (thread
, naked
, dllimport
ou dllexport
). Parmi les exemples d’autres modificateurs de classe de stockage figurent les mots clés static
et extern
. Toutefois, ces mots clés font partie de la norme ISO C et ne sont pas couverts par la syntaxe à attributs étendus.
Syntaxe
storage-class-specifier
:
__declspec (
extended-decl-modifier-seq
)
/* spécifique à Microsoft */
extended-decl-modifier-seq
: /* Section spécifique à Microsoft */
extended-decl-modifier
opt
extended-decl-modifier-seq
extended-decl-modifier
extended-decl-modifier
: /* Section spécifique à Microsoft */
thread
naked
dllimport
dllexport
Un espace blanc sépare les modificateurs de déclaration. Un extended-decl-modifier-seq
peut être vide ; dans ce cas, __declspec
est sans effet.
Les attributs de classe de stockage thread
, naked
, dllimport
et dllexport
sont des propriétés uniquement de la déclaration de l’objet ou de la fonction à laquelle ils s’appliquent. Ils ne redéfinissent pas les attributs de type de la fonction elle-même. L’attribut thread
affecte uniquement les données. L’attribut naked
affecte uniquement les fonctions. Les attributs dllimport
et dllexport
affectent les fonctions et les données.
FIN de la section spécifique à Microsoft