Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Указывая вот так extern тип и id переменной; Мы говорим компилятору, что после сборки файлов, тут будет находится вот эта переменная -> компилятор не создает ошибку, но также мы это делаем для стадии компонвки
- Также с прототипом функции. Мы говорим компилятору, что после сборки файлов, тут будет находится вот эта переменная -> компилятор не создает ошибку, но также мы это делаем для стадии компонвки
- файлов, то есть:
- 1 Сначала проходит препроцессинг, замена всех include на код, определения макросов, убирание комментариев и ненужных пробелов.
- 2 Потом проходит компиляция, проверка синтаксиса, смысла, оптимизации кода.
- 3 И проходит этап сборки(компоновки, линковки). По правилам все собирается(вставка нужного кода из других вспомогательных файлов(мы их не видим, они потом также удаляются)) в объектный код,
- который расположен в главном файле(то есть там где функция main). Сборщик пытается найти функции без тела, которые говорят, что значит есть реализация этой функции в другом файле и компоновщик пытается в других
- файлах найти нужный код, найдя его он его копирует, удаляет прототип этой функции в главном файле и на это место вставляет объектный скопированный код. Также он ищет слово extern у переменных, ищет объявление
- нужной переменной по файлам и найдя, он копирует этот объектный код, удаляет инструкцию со словом extern и на это место вставляет только что скопированный объектный код. После чего он заканчивает работу
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement