Ответ: Можно попробовать найти нужную информацию в книге
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 03 января 2003 г. 14:19
В ответ на: Полу-Off о соглашениях в языке Си (+) отправлено Вопрос 03 января 2003 г. 13:41

Ричард Хэзфилд, Лоуренс Килби
"Искусство программирования на С", DiaSoft, 2001. (стр. 56).
Вообще говоря, в Си определение (и тем более инициализация) глобальной переменной может быть сделано только один раз. И помещение определений таких переменных в файл заголовка лишено всякого смысла, поскольку ссылки к таким переменным будут использоваться в других файлах (иначе зачем опеделять такие переменные глобальными?). Для правильного обращения к глобальным переменным, определенным в других модулях, они должны быть определены как extern. В качестве примера можно обратиться к стандартным header файлам. В них все глобальные переменные объявлены как раз extern.
Ваш шеф мог бы быть прав в одном лишь толко случае, когда компилятор допускает опции задания comon областей памяти. Но такие опции имебтся далеко не во всех компиляторах.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru