Spec-Zone.ru › GCC 12

6.34.9 Атрибуты переменных Microsoft Windows

Эти атрибуты можно использовать для целей Microsoft Windows. Атрибуты переменных x86 содержат дополнительные атрибуты совместимости Windows, доступные для всех целей x86.

dllimport
dllexport

Атрибуты dllimport и dllexport описаны в Атрибутах функций Microsoft Windows.

selectany

Атрибут selectany устанавливает для инициализированной глобальной переменной семантику "link-once". Когда компоновщик встречает несколько определений переменной, он выбирает первое и отбрасывает остальные. Следуя практике Microsoft компилятора, компоновщик не выдает предупреждений о различиях в размерах или содержании нескольких определений.

Хотя основное применение этого атрибута к типам 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.

Следующая: Атрибуты переменных MSP430, Предыдущая: Атрибуты переменных MeP, Вверх: Атрибуты переменных [Содержание][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Microsoft-Windows-Variable-Attributes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API