Atributos extendidos de clase de almacenamiento de C
Específicos de Microsoft
Encontrará información más actualizada sobre los atributos de clase de almacenamiento en __declspec
(Referencia de C++).
La sintaxis de atributo extendido simplifica y normaliza las extensiones específicas de Microsoft para el lenguaje C. Los atributos de clase de almacenamiento que usan la sintaxis de atributo extendida incluyen thread
, naked
, dllimport
y dllexport
.
La sintaxis de atributo extendida para especificar información de clase de almacenamiento usa la palabra clave __declspec
, que especifica que una instancia de un tipo determinado se debe almacenar con un atributo de clase de almacenamiento específico de Microsoft (thread
, naked
, dllimport
o dllexport
). Otros ejemplos de modificadores de clase de almacenamiento son las palabras clave static
y extern
. Sin embargo, estas palabras clave forman parte del estándar ISO C, por lo que no se tratan con la sintaxis de atributo extendido.
Sintaxis
storage-class-specifier
:
__declspec (
extended-decl-modifier-seq
)
/* Microsoft-specific */
extended-decl-modifier-seq
: /* Específico de Microsoft */
extended-decl-modifier
opt
extended-decl-modifier-seq
extended-decl-modifier
extended-decl-modifier
: /* Específico de Microsoft */
thread
naked
dllimport
dllexport
El espacio en blanco separa los modificadores de la declaración. Un elemento extended-decl-modifier-seq
puede estar vacío; en este caso, __declspec
no tiene ningún efecto.
Los atributos de clase de almacenamiento thread
, naked
, dllimport
y dllexport
son una propiedad únicamente de la declaración de los datos o la función a los que se aplican. No redefinen los atributos de tipo de la función en sí. El atributo thread
solo afecta a datos. El atributo naked
solo afecta a funciones. Los atributos dllimport
y dllexport
afectan a funciones y datos.
FIN de Específicos de Microsoft