Spec-Zone.ru › GCC 15

6.6.1 Изменения в ISO/IEC 9899:1999 для потокового локального хранилища

Ниже приведён набор изменений в ISO/IEC 9899:1999 (также известном как C99), описывающих точную семантику расширения языка.

  • 5.1.2 Среды выполнения

    Добавить новый текст после пункта 1

    В каждой из сред выполнения поток — это поток управления в программе. Реализацией определяется, может ли с программой быть связано более одного потока. Реализацией определяется, как создаются потоки помимо первого, имя и тип функции, вызываемой при запуске потока, а также способы завершения потоков. Однако объекты с длительностью хранения, равной времени жизни потока, должны быть инициализированы до запуска потока.

  • 6.2.4 Длительность хранения объектов

    Добавить новый текст перед пунктом 3

    Объект, идентификатор которого объявлен со спецификатором класса хранения __thread, имеет длительность хранения, равную времени жизни потока. Его время жизни совпадает со всем временем выполнения потока, а сохранённое значение инициализируется только один раз, до запуска потока.

  • 6.4.1 Ключевые слова

    Добавить __thread.

  • 6.7.1 Спецификаторы класса хранения

    Добавить __thread в список спецификаторов класса хранения в пункте 1.

    Изменить пункт 2 следующим образом

    За исключением __thread, можно указывать не более одного спецификатора класса хранения […]. Спецификатор __thread можно использовать отдельно или непосредственно после extern или static.

    Добавить новый текст после пункта 6

    В объявлении идентификатора переменной с блочной областью видимости, в котором указан __thread, также должен быть указан либо extern, либо static.

    Спецификатор __thread следует использовать только с переменными.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/C99-Thread_002dLocal-Edits.html

Spec-Zone.ru

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