🔗 libfoo.a vs libfoo.so: что выбрать?



Статическая и динамическая линковка — это выбор между размером бинарника и удобством обновлений.

❗️Статическая линковка (.a на Linux, .lib на Windows):

g++ main.cpp -static -o program

✅ Один файл, работает везде
❌ Большой размер (мегабайты вместо килобайт)
❌ Обновление библиотеки = пересборка всего


❗️Динамическая линковка (.so на Linux, .dll на Windows):
g++ main.cpp -o program # По умолчанию

✅ Маленький бинарник
✅ Обновление библиотеки не требует пересборки
❌ Нужна библиотека на целевой системе
❌ "DLL hell" / dependency conflicts


🐸 Когда что использовать:

Статика: embedded, CLI-утилиты, дистрибуция
Динамика: системные демоны, плагины, shared libs


💡 Проверить зависимости: ldd ./program (Linux)
Просмотры: 252
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти