6.34.9 Атрибуты переменных Microsoft Windows ¶
Эти атрибуты можно использовать для целей Microsoft Windows. Атрибуты переменных x86 для дополнительных атрибутов совместимости Windows, доступных для всех целей x86.
dllimportdllexport-
Атрибуты
dllimportиdllexportописаны в Атрибуты функций Microsoft Windows. selectany-
Атрибут
selectanyприсваивает инициализированной глобальной переменной семантику «link-once». Когда компоновщик встречает несколько определений переменной, он выбирает первое и отбрасывает остальные. Согласно использованию Microsoft Compiler, компоновщик получает указание не выдавать предупреждения о различиях в размерах или содержимом нескольких определений.Хотя основное использование этого атрибута относится к типам POD, он также может применяться к глобальным объектам C++, которые инициализируются конструктором. В этом случае код статической инициализации и уничтожения объекта генерируется в каждом переводе, определяющем объект, но вызовы конструктора и деструктора защищаются переменной-ограничителем link-once.
Атрибут
selectanyдоступен только для целей Microsoft Windows. Для совместимости с другими компиляторами можно использовать__declspec (selectany)в качестве синонима для__attribute__ ((selectany)). shared-
В Microsoft Windows, помимо размещения определений переменных в именованном разделе, раздел также может быть общим для всех работающих копий исполняемого файла или DLL. Например, эта небольшая программа определяет общие данные, разместив их в именованном разделе
sharedи отметив раздел как общий:int foo __attribute__((section ("shared"), shared)) = 0; int main() { /* Read and write foo. All running copies see the same value. */ return 0; }Атрибут
sharedможно использовать только вместе с атрибутомsectionс полностью инициализированным глобальным определением из-за работы компоновщиков. Дополнительную информацию см. в атрибутеsection.Атрибут
sharedдоступен только для целей Microsoft Windows.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/Microsoft-Windows-Variable-Attributes.html