Подтверждения мифов о динамической линковке на практике

Что: bd952e34ffc87a77229c00a9b94b25ae8d6e49a6

Когда: 2020-06-26 20:16:10+03:00

Темы: go

Подтверждения мифов о динамической линковке на практике

https://drewdevault.com/dynlib.html
2303c62b98e13152ebdf19252f817f1370dc718b
http://harmful.cat-v.org/software/dynamic-linking/versioned-symbols



Обновление всех программ, их перекомпиляция, если в зависимой библиотеке
есть какая-то проблема -- тоже не проблема на самом деле. И тут как раз
очень немаловажна быстрая компиляция: Go, C -- перекомпилировать на них
хоть всю систему могло бы занимать очень и очень мало времени.

Ну и лично я всегда повторял вопрос: как часто возникают уязвимости/баги
действительно вас затрагивающие и требующие немедленного обновления? За
целый год может вообще не появится ни одной.

Ну и по факту софт то всё равно зависит от разных версий библиотеки,
поэтому там есть версионирование символов. Поэтому вся динамическая
линковка часто превращается в адовый ад в вопросах обновления, тупо не
стоящий того.

Я в своих C библиотеках юзаю только статическую линковку. Собственно,
мудрые мира сего, в Go и в Plan 9 дают штатно только статическую
линковку.

оставить комментарий

комментарий 0:

From: David Rabkin
Date: 2020-06-27 18:04:19Z

Вспоминается борьба перевода статических библиотек в динамические в середине
нулевых. Вот буквально говорилось в компании: эти, продвинутые, пилят
динамическую библиотеку, а те, отсталые,—статическую. Я был на стороне
динамических, волей случая, но гордился отчаянно: я же умел использовать
LD_LIBRARY_PATH! Сегодня я понимаю, какие это костыли. Но, что интересно,
в индустрии АйОуТи, где я сейчас, в переходе с RTOS на Linux, те же споры.
Динамичные напирают на экономию футпринта, статичные—на стабильность. А мне
опять пригодилось умение оперировать LD_LIBRARY_PATH :-)

комментарий 1:

From: Sergey Matveev
Date: 2020-06-28 10:55:31Z

На Hacker News целые баталии на эту тему: https://news.ycombinator.com/item?id=23654353

Сгенерирован: SGBlog 0.34.0