Другие языки программирования и технологии

Чем редакторы связей ОС отличаются от собственых редакторов компиляторов?

мне кажется, здесь не совсем корректно описано, будто используется либо тот, либо этот
на самом деле в случае динамической линковки сначала какую-то часть работы во время сборки делает линкер компилятора, записывает результаты работы (список нужных библиотек, расположение динамических символов, ...) в экзешник, а потом при запуске экзешника остальное доделывает линкер ОС - находит и подгружает в память динамические библиотеки, расставляет в нужных местах адреса, по которым он подгрузил библиотеки (вот это самое редактирование связей, также см. PLT, GOT, ...)
в случае статической линковки линковщику ОС вообще делать почти нечего, просто содержимое экзешника в память загрузил и поехали

встречный вопрос: тут у самых дремучих олдфагов какой-то бойцовский клуб что ли, почему на вопросы моментально прилетает по N лайков от всяких высших разумов? вы тут на зарплате у мейлрушников что ли сидите?
Sabai Pacquiao
Sabai Pacquiao
36 952
Лучший ответ
Костя Григорьев единомышленики прилетают;;)
В тексте рассматривается нечто очень древнее и я бы просто игнорировал данную информацию

В современных ОС есть загрузчики (исполняемых файлов), одной из функций которых является обеспечение динамической линковки, что описано в ответе выше. Но такая линковка производится всегда над исполняемыми файлами, которые уже отлинкованы из объектных файлов при сборке.

Возможности запустить нелинкованный (те не привязанный даже к динамическим библиотекам) объектный файл нет, всегда запускается именно исполняемый файл, формат которого, впрочем в редких случаях может совпадать с тем, что используется для хранения обьектных
Alexey Gulyaev
Alexey Gulyaev
30 155