Atributos de classe de armazenamento estendido c
Específicos do Microsoft
Mais informações atualizadas sobre esse tópico podem ser encontradas em __declspec (referência de C++).
Sintaxe de atributo estendido simplifica e padroniza as extensões específicas da Microsoft para a linguagem C.Os atributos de classe de armazenamento que usam a sintaxe de atributos estendidos incluem o thread, nua, dllimport e dllexport.
A sintaxe de atributo estendido para especificar informações de classe de armazenamento usa a palavra-chave __declspec, que especifica que uma instância de um determinado tipo deve ser armazenado com um atributo de classe de armazenamento específicas da Microsoft (thread, nua, dllimport ou dllexport).Outros modificadores de classe de armazenamento exemplos de palavras-chave static e externo.Entretanto, essas palavras-chave é parte do padrão ANSI C e como tal, não é cobertos pela sintaxe de atributo estendido.
Sintaxe
especificador de classe de armazenamento:
__declspec( estendida-decl-modificador-seq ) / * específicos do Microsoft * /Extended-decl-modificador-seq:
modificador de decl estendido optextended estendido-decl-modificador-seq-decl-modificador
modificador de decl estendido:
threadnua
DllImport
dllexport
Espaço em branco separa os modificadores de declaração.Observe que estendida-decl-modificador-seq pode ser vazio. Nesse caso, __declspec não tem efeito.
O segmento, nua, dllimport e atributos de classe de armazenamento de dllexport são uma propriedade somente da declaração de dados ou função à qual eles serão aplicados; eles não redefinir os atributos de tipo de função em si.O atributo de thread afeta somente os dados.O atributo nua afeta somente funções.Os atributos dllimport e dllexport afetam funções e os dados.
Específicos do Microsoft final