Существует три типа символов компоновщика
- Глобальные символы
- Внешние символы
- Локальные символы.
И как компоновщик разрешает эти символы, вот некоторые моменты.
- Сильные символы (имена функций, инициализированные глобальные переменные)
- Слабые символы (неинициализированные глобальные переменные)
Теперь правила разрешения символов:
Правило 1: Не допускается использование нескольких сильных символов
Правило 2: При наличии сильного символаи несколько слабых символов, выберите сильный символ
Правило 3: Если имеется несколько слабых символов, выберите произвольный
Вывод: Итакпоэтому значение var a = 44 , поскольку оно инициализируется глобально, а все глобальные символы инициализируются перед выполнением main ().