Как компилятор (gcc) узнает, должна ли функция быть динамически связана или нет? - PullRequest
5 голосов
/ 04 апреля 2011

Например, printf динамически связан.

Но как это узнает компилятор (gcc)?

1 Ответ

5 голосов
/ 04 апреля 2011

gcc этого не знает.Он знает, что есть функция printf, и знает, как ее вызвать, но генерируемый объектный файл содержит вызов неразрешенного символа.

Символ затем разрешается компоновщиком, который получает всеваши объектные файлы и библиотеки.Компоновщик находит символ printf в библиотеке и после объединения всех соответствующих модулей обновляет неразрешенные вызовы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...