Есть 2 аргумента для наличия общих библиотек:
- Это помогает уменьшить дисковое пространство.
- Когда общая библиотека обновляется, все бинарные файлы, в зависимости от нее, получают обновление.
У разделяемых библиотек есть в основном один недостаток:
- Они (могут) ввести ад зависимости.
На настольных компьютерах 1-е преимущество больше не имеет места. В настоящее время потеря дискового пространства не является большой проблемой.
Наличие статических двоичных файлов позволило бы нам улучшить работу менеджеров пакетов - я имею в виду, что ад зависимости зависел бы в прошлом. Добавление программы будет просто добавлением двоичного файла; в конце концов, папка, позволяющая обрабатывать файлы. Удаление программы - это просто удаление этого файла. Зависимости? Прошло.
Второе преимущество остается в силе, но я думаю, что преимущество статических двоичных файлов на настольных компьютерах перевешивает его. Я имею в виду, что даже новые языки, такие как Go, компилируют все свои двоичные файлы, несмотря на преимущества общих библиотек, из-за удобства.
Поскольку одно из главных преимуществ разделяемых библиотек больше не имеет большого значения, все еще не одобряются статические библиотеки C? Если так, то почему?