Расширенные атрибуты классов хранения в C

Блок, относящийся только к системам Microsoft

Уточненные сведения по этой теме см. в разделе __declspec (Справочник по C++).

Расширенный синтаксис атрибутов упрощает и стандартизирует расширения для систем Microsoft в соответствии с правилами языка C. К атрибутам класса хранения, в которых используется расширенный синтаксис атрибутов, относятся: thread, naked, dllimport и dllexport.

Расширенный синтаксис атрибутов для указания информации о классе памяти использует ключевое слово , которое указывает, что экземпляр заданного типа должен храниться с соответствующим атрибутом класса хранения для систем Microsoft (thread, naked, dllimport или dllexport). Имеются и другие модификаторы класса хранения: ключевые слова static и extern. Однако эти ключевые слова входят в стандарт ANSI C, и как таковые они не используются с расширенным синтаксисом атрибутов.

Синтаксис

  • спецификатор-класса-хранения:
    __declspec ( последовательность-модификаторов-расширенного-объявления ) /* Относится только к системам Microsoft */

  • последовательность-модификаторов-расширенного-объявления:
    модификатор-расширенного-объявления необ

    последовательность-модификаторов-расширенного-объявления модификатор-расширенного-объявления

  • модификатор-расширенного-объявления:
    thread

    naked

    dllimport

    dllexport

Модификаторы объявления разделяются пробелами. Обратите внимание, что последовательность-модификаторов-расширенного-объявления может быть пустой; в этом случае ключевое слово __declspec не применяется.

Атрибуты класса хранения thread, naked, dllimport и dllexport являются свойством только объявления данных или функции, к которому они применяются; они не переопределяют атрибуты типа самой функции. Атрибут thread влияет только на данные. Атрибут naked влияет только на функции. Атрибуты dllimport и dllexport влияют на функции и данные.

Завершение блока, относящегося только к системам Microsoft

См. также

Основные понятия

Объявления и типы