|
И никакой условной трансляции не требуется, поскольку ссылка к глобальной переременной (extern) никак не конфликтует с определением (global) глобальной переменной. Т.е. компилятор просто заменяет в своей внтренней таблице символов класс GLOBAL_REFERENCE (символ заносится в таблицу при обработке заголовочного файла) на класс GLOBAL_DEFINITION (если определение переменной встретилось при обработке Си текста). Так что, никаких проблем нет.
Кстати, и в ассемблере то же самое. Вы можете описать переменную как extern и тут же определить ее как public.
E-mail: info@telesys.ru