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