Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Зачем нужны динамические библиотеки в Си? Какие плюсы даст их разработка?

ярослав захаров Знаток (494), на голосовании 4 года назад
Зачем нужны динамические библиотеки в Си? Какие плюсы даст их разработка?
Голосование за лучший ответ
desutorakuta desutorakuta Гуру (4790) 4 года назад
Настолько неудачная постановка вопроса, что и ответить сложно.

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

Кроме прочего библиотеки часто могут быть использованы для взаимодействия между языками программирования. Из Си не составит проблемы вызвать функции из библиотеки, написанной на Паскале или фортране.

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

Кроме того, код, оформленный в виде динамической библиотеки может быть загружен или выгружен из памяти в процессе работы основной программы, а не только при её запуске/завершении. Что позволяет использовать динамические библиотеки как основу для создания плагинов или оверлеев.

Конкретный язык на самом деле почти что ничего не значит. Есть только один узкий момент - не на всяком языке программирования можно создать динамическую библиотеку. На Си - можно.
1111 2222Ученик (124) 4 года назад
"Настолько неудачная постановка вопроса, что и ответить сложно."
но ты терпишь и отвечаешь
наш народ - потомственные рабы
поныть и дальше терпеть
desutorakuta desutorakuta Гуру (4790) Ви таки не знаете за мой народ, что би говорить такое. Моя мотивация отвечать на вопросы, вас в любом случае не касается.
Кубин Мыслитель (7050) 4 года назад
В них можно хранить любые данные. Такие как:
Классы, изображения, видео, базы данных,
функции, процедуры, COM-объекты, скины и т. д.
И по необходимости получать к ним доступ.
Программист создаёт программу, снабдив её кучей библиотек.
И в зависимости от хост системы или пользовательской задачи
программа будет подгружать и использовать только нужные библиотеки.
Это экономит память и ресурсы центрального процессора.
Ведь программы бывают очень большие и сложные,
а ресурсы компьютера очень ограниченны.
Юрий Семыкин Искусственный Интеллект (215964) 4 года назад
Разработка даёт плюсы в виде зарплаты. А "зачем" они нужны заказчику - не ваше дело.
Похожие вопросы