Расширенные атрибуты классов хранения в C
Блок, относящийся только к системам Microsoft
Уточненные сведения по этой теме см. в разделе __declspec (Справочник по C++).
Расширенный синтаксис атрибутов упрощает и стандартизирует расширения для систем Microsoft в соответствии с правилами языка C. К атрибутам класса хранения, в которых используется расширенный синтаксис атрибутов, относятся: thread, naked, dllimport и dllexport.
Расширенный синтаксис атрибутов для указания информации о классе памяти использует ключевое слово , которое указывает, что экземпляр заданного типа должен храниться с соответствующим атрибутом класса хранения для систем Microsoft (thread, naked, dllimport или dllexport). Имеются и другие модификаторы класса хранения: ключевые слова static и extern. Однако эти ключевые слова входят в стандарт ANSI C, и как таковые они не используются с расширенным синтаксисом атрибутов.
Синтаксис
спецификатор-класса-хранения:
__declspec ( последовательность-модификаторов-расширенного-объявления ) /* Относится только к системам Microsoft */последовательность-модификаторов-расширенного-объявления:
модификатор-расширенного-объявления необпоследовательность-модификаторов-расширенного-объявления модификатор-расширенного-объявления
модификатор-расширенного-объявления:
threadnaked
dllimport
dllexport
Модификаторы объявления разделяются пробелами. Обратите внимание, что последовательность-модификаторов-расширенного-объявления может быть пустой; в этом случае ключевое слово __declspec не применяется.
Атрибуты класса хранения thread, naked, dllimport и dllexport являются свойством только объявления данных или функции, к которому они применяются; они не переопределяют атрибуты типа самой функции. Атрибут thread влияет только на данные. Атрибут naked влияет только на функции. Атрибуты dllimport и dllexport влияют на функции и данные.
Завершение блока, относящегося только к системам Microsoft