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) /* Específico de Microsoft */

extended-decl-modifier-seq: /* Específico de Microsoft */
extended-decl-modifieropt
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

Vea también

Declaraciones y tipos