]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
Подтверждения мифов о динамической линковке на практике
authorSergey Matveev <stargrave@stargrave.org>
Fri, 26 Jun 2020 17:16:10 +0000 (20:16 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 26 Jun 2020 17:16:10 +0000 (20:16 +0300)
https://drewdevault.com/dynlib.html
2303c62b98e13152ebdf19252f817f1370dc718b
http://harmful.cat-v.org/software/dynamic-linking/versioned-symbols

* Динамически слинкованные программы существенно дольше загружаются
* Они нифига не занимают ощутимо меньше места

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

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

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

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


No differences found