1.3.3 Преимущества и недостатки использования dll-библиотек
Использование динамических библиотек предлагает следующие преимущества:
- Экономия памяти и уменьшение объема выгрузки. В случае использования динамических библиотек, несколько приложений одновременно получают доступ к одной библиотеке. При этом для использования библиотеки требуется хранение только одного экземпляра библиотеки в памяти системы. В случае же использования статичных библиотек операционная система должна для каждой программы, которой необходима данная библиотека, загрузить код библиотеки в память.
- Экономия места на диске. В случае параллельного использования одной dll-библиотеки многими программами, на диске хранится только одна копия данной библиотеки. При использовании статических библиотек наоборот, для каждой программы создается отдельная копия данной библиотеки.
- Удобство и простота изменения и обновления dll-библиотек. Если требуется провести изменение или корректировку dll-библиотеки, то после внесения изменений в библиотеку не придется проводить компиляцию или компоновку приложения, которое использует данную библиотеку, заново. Однако при использовании объектного кода статических библиотек придется проводить перекомпиляцию программы или снова проводить компоновку в случае даже небольших изменений.
- Обеспечение длительной поддержки выпущенных в использование библиотек. Обеспечивается легкостью обновления и дополнения функционала библиотеки для расширения возможностей или для поддержки новых устройств.
- Поддержка многоязычных программ. Использование разных языков программирования при разработке программы не мешает использованию библиотеки, если язык программы и язык библиотеки используют единые стандарты вызова функций.
- Упрощение создания международных версий приложений. Легкость использования dll-библиотек позволяет облегчить процесс интернационализации программы, если, например, загрузить все строковые ресурсы, используемые программой, в dll-библиотеку. Соответственно версию для каждого языка размещаем в отдельной библиотеке, и подгружаем ресурсы той, язык которой необходим в данный момент.
Единственным крупным недостатком можно считать тот факт, что программа, использующая dll-библиотеку, не может иметь полный функционал в ее отсутствии.
Если приложение использует функцию в библиотеке, или одна библиотека использует функцию из другой библиотеки, то получается зависимость, из-за которой приложение или библиотека становятся зависимыми, теряют свою самодостаточность. Соответственно при следующих событиях происходят ошибки:
- Соответствующая библиотека обновилась до новой версии;
- Внесены изменения в зависимую dll-библиотеку;
- Соответствующий dll-файл перезаписывался с более ранней версией;
- Соответствующий dll-файл не найден системой или удален с компьютера.
Обычно эти действия называются конфликтами dll-библиотек. Если не обеспечивается обратная совместимость, программа не может быть успешно запущена. Такие действия называют конфликтом dll-библиотек. Программа может быть успешно запушена и нормально использоваться только в случае обеспечения обратной совместимости.
- ВВЕДЕНИЕ
- ГЛАВА 1. ПРЕДНАЗНАЧЕНИЕ И ПРИНЦИП ПРИМЕНЕНИЯ МАТЕМАТИЧЕСКОГО МОДУЛЯ
- 1.1 Определение программного модуля
- 1.2 Определение математического модуля
- 1.3 Принцип применения математического модуля
- 1.3.1 Определение библиотеки
- 1.3.2 Принципы использования dll-библиотеки
- 1.3.3 Преимущества и недостатки использования dll-библиотек
- 1.4 Разработка технического задания
- 1.4.1 Общие требования
- 1.4.2 Поставленные требования к программному коду
- 1.4.3 Требования к разрабатываемой библиотеке
- ГЛАВА 2. РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- 2.1 Общая характеристика математических моделей
- 2.2 Описание коэффициентов моделей
- 2.3 Разработка структуры классов
- ГЛАВА 3. ОПИСАНИЕ БИБЛИОТЕК МАТЕМАТИЧЕСКОГО МОДУЛЯ В MS VISUAL STUDIO
- 3.1 Описание среды разработки MS Visual Studio
- 3.2 Возникновение языка C#
- 3.3 Возможности языка C#
- 3.4 Реализация библиотеки классов в среде разработки MS Visual Studio
- 54.Библиотеки динамической компоновки dll
- 46. Библиотеки dll
- 40. Динамические библиотеки (dll).
- Библиотеки dll
- Тема 3. Разработка библиотеки подпрограмм на основе модуля Unit и библиотеки dll. Задание на выполнение курсовой работы
- 15. Понятие динамически подключаемой библиотеки. Структура dll-библиотеки. Создание dll-библиотеки. Использование dll-библиотеки в программе. Статический и динамический импорт.
- 4.3. Использование библиотек (dll)
- Основы разработки dll
- Разработка библиотек dll
- Идентификация функций в библиотеках dll