Почему gcc / clang знает, что связываются автоматически?
Разработчики GCC встроили это в GCC для удобства.Какие библиотеки связаны по умолчанию, частично зависит от языка компилируемого, который выводится из имен файлов и может управляться переключателем -x
.
Где упоминается это поведение?
На этой странице документации GCC упоминается, что некоторые библиотеки связаны по умолчанию, и говорится, что вы можете отключить или изменить это поведение с помощью -nostdlib
и других переключателей, но я не вижуявный список библиотек, которые связаны по умолчанию.Это может варьироваться в зависимости от системы / платформы, а также от языка.Вы можете использовать переключатель -v
, чтобы попросить GCC показать вам команды, которые он выполняет, а команда link (использующая ld
) должна показать библиотеки.