Что означает ключевое слово экстерна?

Что делает extern среднее ключевое слово? Я видел это перед объявлением функции как

extern void DoFoo ...
56
задан Gordon Gustafson 2 May 2010 в 16:33
поделиться

2 ответа

extern дает имя внешняя связь. Это означает, что объект или функция доступны через это имя из других единиц трансляции в программе. Для функций это связь по умолчанию в любом случае, поэтому ее использование (в этом контексте) обычно избыточно.

41
ответ дан 26 November 2019 в 17:26
поделиться

Ключевое слово extern объявляет переменную или функцию и указывает, что она имеет внешнюю связь (ее имя видно из файлов, отличных от того, в котором она определена). При модификации переменной extern указывает, что переменная имеет статическую длительность (она выделяется при начале программы и деаллоцируется при ее завершении). Переменная или функция может быть определена в другом исходном файле или позже в том же файле. Объявления переменных и функций в области видимости файла по умолчанию являются внешними.

Вы можете найти более полное описание здесь.

41
ответ дан 26 November 2019 в 17:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: