|
Asher
Администратор
Сказали спасибо: +111/-5
Offline
Сообщений: 425
|
|
« Ответ #1 : 06 Апрель 2018, 16:08:14 »
|
|
Здравствуйте.
Для понимания процесса компоновки необходимо понять разницу между объявлением и определением.
Определение связывает имя с реализацией, что может быть либо кодом либо данными:
• определение переменной побуждает компилятор зарезервировать некоторую область памяти, возможно задав ей некоторое определенное значение;
• определение функции заставляет компилятор сгенерировать код для этой функции.
Объявление говорит компилятору, что определение функции или переменной (с определенным именем) существует в другом месте программы, вероятно в другом .c файле. При этом определение также является объявлением — фактически это объявление, в котором другое место программы совпадает с текущим.
|