Какая польза от extern для объявления констант? - PullRequest
1 голос
/ 07 апреля 2010

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

Ответы [ 2 ]

5 голосов
/ 07 апреля 2010

Ключевые слова extern заставляют компилятор рассматривать оператор как объявление, а не как определение. Другими словами, extern препятствует тому, чтобы компилятор резервировал место для переменной. Таким образом, только модуль компиляции, который не использует extern, обеспечивает определение, в то время как другие просто используют объявление, которое соответствует «правилу одного определения»; если бы каждая единица компиляции резервировала пространство независимо для одной и той же переменной, это привело бы к нарушению «правила одного определения». Обратите внимание, что extern буквально означает, что «определение предоставляется извне (другой единицей компиляции)».

1 голос
/ 07 апреля 2010

Как и C, ключевое слово extern означает, что символ определен в другом объектном файле, который будет связан с этим на этапе компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...