Найти в Дзене
Кошелот || Новости

ЧТО ТАКОЕ DLL БИБЛИОТЕКИ НА ЯЗЫКЕ С(ВИДЫ,АКТУАЛЬНОСТЬ,РАЗЛИЧИЯ МЕЖДУ ДИНАМИЧЕСКОЙ И СТАТИЧЕСКОЙ КОМПОНОВКОЙ,ПРЕИМУЩЕСТВА)

Чаще всего маленькие программы реализованы одним файлом, но если программа состоит из большого количества строк, то для удобства её делают модулированной, делят один большой код на части. Это сделано для того, чтобы упростить итоговую отладку и поиск ошибок, потому что программисту нет необходимости просматривать весь исходный код. Именно для таких ситуаций и созданы DLL – библиотеки. DLL – библиотеки представляют из себя динамические библиотеки, которые позволяют неоднократное своё использование другими программами. Как говорилось выше, использование DLL даёт возможность разделять код на модули, эффективно использовать оперативную память компьютера и экономить место на жёстком диске либо на твёрдотельном накопителе. Библиотека по своей сущности является набором функций, которые добавляются в код, когда программе они задействованы, при этом файл, который исполняется, содержит в себе те функции, которые задействуются приложением, а не все библиотечные функции, которые имеются. Также DLL

Чаще всего маленькие программы реализованы одним файлом, но если программа состоит из большого количества строк, то для удобства её делают модулированной, делят один большой код на части. Это сделано для того, чтобы упростить итоговую отладку и поиск ошибок, потому что программисту нет необходимости просматривать весь исходный код. Именно для таких ситуаций и созданы DLL – библиотеки.

DLL – библиотеки представляют из себя динамические библиотеки, которые позволяют неоднократное своё использование другими программами.

Как говорилось выше, использование DLL даёт возможность разделять код на модули, эффективно использовать оперативную память компьютера и экономить место на жёстком диске либо на твёрдотельном накопителе.

Библиотека по своей сущности является набором функций, которые добавляются в код, когда программе они задействованы, при этом файл, который исполняется, содержит в себе те функции, которые задействуются приложением, а не все библиотечные функции, которые имеются.

Также DLL библиотеки являются исполняемым файлом, который выступает на ряду с общими библиотеками, содержащими функции и ресурсы, они позволяют исполняемому файлу вызвать функцию или задействовать ресурсы, которые находятся в отдельном файле, они могут быть скомпилированы и развёрнуты в отдельных файлах исполнения.

DLL выполняются в контакте вызывающих их приложений, поэтому они не считаются отдельными исполняемыми файлами. Операционная система, с которой взаимодействует пользователь, интегрирует библиотеку в память приложения или во время загрузки приложения, что называется неявной компоновкой, это упрощает использование ресурсов, при этом разные приложения могут в один момент взаимодействовать с одной DLL библиотекой.

Различия между динамичеcкой и cтатичеcкой компоновкой

При статической компоновке код, который находится в библиотеки становится используемым во время компоновки. При динамической компоновке ситуация противоположна, потому что включается исключительно те сведения, которые необходимы для того, чтобы загрузить DLLбиблиотеку, в которой содержится функция либо элемент некоторых данных. Стоит отметить и то, что во время создания библиотеки на основе динамической компоновки, создаётся импортирующая библиотека, в которой содержится необходимая информация. В момент сбора исполняемого файла, через который вызывается библиотека DLL, компоновщиком используются экспортированные символы в импортирующей DLL для сохранения сведений загрузчику WindОws. Во время загрузки библиотеки, DLL связывается с приложением, которое находится в определённой области памяти. Для необходимых инициализаций библиотеке происходит вызов функции «DllMаin», если такая существует.

Преимущеcтва иcпользования динамических библиотек перед статическими

У статической компоновки есть недостатки перед динамической компоновкой:

- динамическая компоновка позволяет экономить память и ресурсы компьютера, к тому же она сокращает подкачивание. Также динамическая компоновка использует необходимые части, в то время, как статическая компоновка выделяет память под полную копию кода библиотек в приложении.

- статическая компоновка занимает больше места, потому что связаны с исполняемым файлом, динамическая компоновка наоборот же – более экономно относится к памяти устройства и пропускной способности, вследствие того, что копия динамической библиотеки может использоваться несколькими приложениями, что экономит место.

- динамическая компоновка упрощает обслуживание и исправления для систем безопасности, делает обновления кода проще. Если в приложении реализуются функции из библиотеки, то можно провести вылов ошибок и обновление. Обновляя DLL, нет необходимости перекомпилировать приложения, в которых они используются, потому что они способны взаимодействовать с новой версией библиотек сразу после их развёртывания. Полной противоположностью является статическая компоновка, для которой необходимо провести компоновку проекта с заново, с развёртыванием каждого приложения, в котором используется функция.

- библиотеки DLL дают возможность программисту осуществить послерелизную поддержку продукта, добавив новые компоненты в код.

- также при помощи явной компоновки можно обнаружить и загрузить библиотеки во время исполнения файла.

- с помощью динамической компоновки можно поддерживать приложения, которые реализованы на различных языках. Такие приложения смогут использовать те же функции из DLL, если они правильно вызваны.

- при помощи динамической компоновки происходит упрощение создания приложений на международный рынок, потому что DLL является удобным способом предоставления для стандартов языков, поэтому становится проще создавать международные версии приложений.

Приложения DLL не являются автономными, это способно вызвать некоторые затруднения, поэтому для них требуется наличие DLL – модуля, который должен быть проверен во время установки.