Является ли переменная внутри статической функции статической переменной? - PullRequest
0 голосов
/ 02 февраля 2019

Является ли переменная внутри статической функции статической переменной?

У меня есть функция обработчика прерываний, которая является статической функцией.И в этом есть некоторые переменные.Я не уверен, нужно ли вращать блокировку этих переменных в функции, чтобы предотвратить множественный доступ.

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Ключевое слово static при применении к локальной переменной в функции помещает его в раздел данных процесса, а не в стековую память.

Это означает, что оно будет сохраняться за пределами своей области действия и будет возвращатьадрес к статическому массиву или строке определяется поведением.

Он не имеет ничего общего с квалификатором static в объявлении функции, что делает его видимым только для единицы перевода, в которой он появляется. Переменные в static функции не автоматически static сами по себе.

0 голосов
/ 02 февраля 2019

Объект, определенный внутри блока (каждое определение функции является блоком), не имеет статической длительности хранения, если только он не объявлен с static.

Если он объявлен без спецификатора класса хранения, онимеет автоматический срок хранения.

...