что такое библиотека dll и где находится
Аббревиатура DLL расшифровывается как Dynamic Link Library. На русский язык это можно перевести как «динамически подключаемая библиотека», которая содержит определенные данные (либо код) используемые несколькими приложениями и программами. Благодаря модульности, они позволяют «наращивать» функционал операционной системы, а значит — увеличить возможности ОС.
Причем вся «прелесть» такого подхода заключается в том, что один и тот же файл может использоваться совершенно разными типами программ — играми, офисом, графическим редактором и т.п.
В чем основные преимущества DLL?!
Я приведу только самые весомые плюсы использования динамически подключаемых библиотек:
— Способствуют более экономному и «правильному» использованию ресурсов.
— Обеспечение модульной архитектуры
— Простота установки и развертывания функционала
— Лёгкость обновления и расширения возможностей динамических библиотек
— Сокращение случаев дублирования кода
При нескольких программ с помощью той же библиотеки функций, библиотеки DLL можно уменьшить дублирование кода, который загружается на диске и в оперативной памяти.
К сожалению, есть и минусы:
— Снижение надёжности работы системы из-за угроз DLL HELL (одновременное использование программами разных версий одной и той же библиотеки, имеющих конфликт между собой)
— Конфликты библиотек
— Снижение безопасности системы из-за воздействия вирусов.
Где находятся DLL-файлы в Windows?!
Ещё с самых древних версий все наиболее важные для работы системы и прикладных программ библиотеки лежать в папке:
С появлением 64-битных версий Windows 7 и Windows 8 — добавилась ещё и папка:
Учитывая, что у большинства пользователей Windows система установлена на диске C:\, то пути будут соответственно:
При установке пакетов, инсталлятор автоматически кидает в эти папки нужные DLL-ки.
Библиотека dll – что это и как ее открыть
DLL – расширение файлов, которые являются своего рода справочными материалами при выполнении тех или иных программ. Название типа файлов расшифровывется как «библиотека динамической компоновки». Эти динамические библиотеки могут быть одновременно использованы разными приложениями. В каком-то смысле они также похожи на исполняемые файлы, однако отличаются значением некоторых полей. Самым ярким примером являются файлы драйверов, которые описывают правила взаимодействия устройства и ОС.
Чем открыть DLL
Прежде, чем рассказать, как открывать эти файлы следует обратить внимание пользователя на то, что особого смысла в открытии такого типа библиотек нет. Они содержат в себе информацию необходимую программе для выполнения. Крайне редко в этом типе файлов хранятся важные переменные (а не способ их вызова) или данные. Хотя, справедливости ради, отметим, что есть ряд компаний, которые всё-таки сумели расположить информацию, необходимую для работы программ в dll.
Правда, динамические библиотеки иногда подвергаются декомпилированию для получения хранящихся в них правил и принципов работы. Для этого существует несколько специальных программ.
Есть ли у данной программы достоинства? Огромное количество – спектр работ, которые можно на ней выполнить ограничен лишь фантазией владельца. А недостаток всего один, но существенный – годовая подписка составляет около 500$.
Способ установки в систему
Но если писать и редактировать библиотеки нам не приходится, как обычным пользователям, то вот знание об их установке может быть полезным. Дело в том, что далеко не все программы снабжаются полным набором необходимых библиотек и подразумевается, что вместе с ними устанавливаются и отдельные компоненты (весьма распространённая деталь при установке игр), которые были забыты пользователем. Тогда требуется устанавливать, а точнее регистрировать файлы dll.
Сперва нужно найти сам файл. Благо, при тщательном поиске это не так уж и сложно и необходимые библиотеки встречаются довольно часто, даже отдельно от пакета, что не мешает их работе. Стоит отметить, что в случае с играми это бывают d3dx.dll которые могут отсутствовать в системе – в этом случае лучше установить пакет DirectX, а не ставить 150 библиотек вручную.
Но если нужно регистрировать новый dll для запуска программы, то лучше поместить его в каталог с программой. В ОС Windows 7 и выше присутствует возможность открытия командной строки из каталога, в иных же случаях предстоит открыть командную строку и используя команду cd добраться в нужный каталог.
Для указанных же версий ОС достаточно открыть нужный каталог и зажав шифт клацнуть по пустому месту правой кнопкой мыши. В ответ перед нами всплывёт контекстное меню, следующего вида:
Нажимаем на «открыть окно команд». Перед нами появится командная строка, где нам нужно прописать следующее:
regsvr32 dllname.dll
Данная команда добавит библиотеку в перечень используемых системой, экономя время на иные способы установки. Чтобы отменить регистрацию, следует использовать такую команду:
regsvr32 —u dllname.dll
Важно отметить, что dllname.dll введено для примера и вместо всего, что написано слева от точки (то есть вместо dllname) следует вводить название вашего файла. На изображении показано добавление в ОС Windows 10 dll файла от directX8.
Таким нехитрым образом можно установить библиотеку в систему. Однако если наблюдаются малейшие сбои или ошибки, то следует сразу же выполнить другую команду, убрать регистрацию, а с проблемной программой обратиться к специалисту.
Что такое библиотека dll и где находится
Зачастую требуется определить местонахождение того или иного DLL-файла на компьютере, например, для определения его полного адреса при удалении из системы. В большинстве случаев поможет стандартный поиск в Windows, который находится в верхней части Проводника.
Переходим в папку “Компьютер” и вводим в поле название искомого файла. Если вы не знаете точного наименования, можно ввести часть имени, тогда система выдаст вам все файлы, в названии которых есть указанный набор символов.
Определив нужный файл, нужно нажать по нему правой кнопкой мыши и в контекстном меню нажать Расположение файла. Обратите внимание, что могут найтись множество версий файла, используемые разными программами и службами.
Открыв расположение файла, вы попадете в папку, в которой он находится. В верхней части указан полный адрес, который изначально был неизвестен. Именно он нам и понадобится.
Поздравляем! Теперь вы знаете, как определить местоположение DLL-файла, и сможете использовать это в работе. Напомним, что проще воспользоваться DLLSearch Client, который делает за вас всю работу по установке DLL библиотек.
DLLSearch Client — бесплатная программа
для исправления ошибок DLL.
© 2020 Запрещено копирование любых материалов.
Порядок поиска библиотеки динамической компоновки (DLL)
Система может содержать несколько версий одной библиотеки динамической компоновки (DLL). Приложения могут управлять расположением, из которого загружается DLL, путем указания полного пути или использования другого механизма, например манифеста. Если эти методы не используются, система выполняет поиск библиотеки DLL во время загрузки, как описано в этом разделе.
Факторы, влияющие на поиск
На то, что система осуществляет поиск библиотеки DLL, влияют следующие факторы:
Порядок поиска для приложений UWP
Прежде чем система будет искать библиотеку DLL, она проверяет следующее:
Если система должна искать модуль или его зависимости, она всегда использует порядок поиска для приложений UWP, даже если зависимость не является кодом приложения UWP.
Стандартный порядок поиска для приложений UWP
Если модуль еще не загружен или в списке известных библиотек DLL, система выполняет поиск в следующих расположениях в следующем порядке:
Если библиотека DLL имеет зависимости, система выполняет поиск зависимых библиотек DLL, как если бы они загружались только с именами модулей. Это справедливо, даже если первая библиотека DLL была загружена путем указания полного пути.
Альтернативный порядок поиска для приложений UWP
Если модуль изменяет стандартный порядок поиска, вызывая функцию LoadLibraryEx с параметром Load _ с _ измененным _ _ путем поиска, система выполняет поиск в каталоге указанного модуля вместо каталога вызывающего процесса. Система выполняет поиск в следующих расположениях в следующем порядке:
Порядок поиска для настольных приложений
Настольные приложения могут управлять расположением, из которого загружается DLL, путем указания полного пути, использования перенаправления DLLили манифеста. Если ни один из этих методов не используется, система выполняет поиск библиотеки DLL во время загрузки, как описано в этом разделе.
Прежде чем система будет искать библиотеку DLL, она проверяет следующее:
Если библиотека DLL имеет зависимости, система выполняет поиск зависимых библиотек DLL, как если бы они загружались только с именами модулей. Это справедливо, даже если первая библиотека DLL была загружена путем указания полного пути.
Если злоумышленник получает контроль над одним из каталогов, в котором выполняется поиск, он может поместить в этот каталог вредоносную копию библиотеки DLL. Способы предотвращения таких атак см. в разделе безопасность библиотеки динамической компоновки.
Стандартный порядок поиска для настольных приложений
Стандартный порядок поиска библиотек DLL, используемый системой, зависит от того, включен или отключен режим поиска «Защищенная библиотека DLL». Сейф Режим поиска библиотек DLL помещает текущий каталог пользователя в последующий порядок поиска.
Если сафедллсеарчмоде включен, порядок поиска выглядит следующим образом:
Если сафедллсеарчмоде отключен, то порядок поиска выглядит следующим образом:
Альтернативный порядок поиска для настольных приложений
Стандартный порядок поиска процесса также будет зависеть от вызова функции сетдллдиректори в родительском процессе перед началом текущего процесса.
Если указать альтернативную стратегию поиска, ее поведение будет продолжаться до тех пор, пока не будут найдены все связанные исполняемые модули. После того как система начнет обработку подпрограмм инициализации DLL, система вернется к стандартной стратегии поиска.
Если сафедллсеарчмоде включен, альтернативный порядок поиска выглядит следующим образом:
Если сафедллсеарчмоде отключен, альтернативный порядок поиска выглядит следующим образом:
Функция сетдллдиректори поддерживает альтернативный порядок поиска, если параметр лппаснаме задает путь. Альтернативный порядок поиска выглядит следующим образом:
Если параметр лппаснаме является пустой строкой, вызов удаляет текущий каталог из порядка поиска.
Сетдллдиректори эффективно отключает режим поиска в защищенных библиотеках DLL, пока указанный каталог находится в пути поиска. Чтобы восстановить защищенный режим поиска DLL на основе значения реестра сафедллсеарчмоде и восстановить текущий каталог в порядке поиска, вызовите сетдллдиректори с лппаснаме как null.
Порядок поиска с помощью флагов _ _ поиска «загрузить библиотеку «
Искомые каталоги зависят от флагов, указанных в сетдефаултдллдиректориес или LoadLibraryEx. Если используется более одного флага, поиск соответствующих каталогов выполняется в следующем порядке:
Если приложение не вызывает LoadLibraryEx с любыми флагами _ _ поиска в библиотеке нагрузки или не устанавливает порядок поиска DLL для процесса, система выполняет поиск библиотек DLL, используя стандартный или альтернативный порядок поиска.
Файл формата DLL: чем открыть, описание, особенности
Современные программы состоят из нескольких модулей, которые включают в себя массивы данных, классы.
Современные программы состоят из нескольких модулей, которые включают в себя массивы данных, классы, сервисы, требуемые библиотеки. Такой подход разрешает при переписывании ПО не редактировать полностью код, а изменять только необходимые функции, которые заключены в составных частях. Так как открыть DLL файл стандартными средствами Windows невозможно, приходится использовать другие методы.
Файлы с расширением DLL – что это и для чего нужны
Файлы DLL – это динамически подключаемые библиотеки. Установленная в операционную систему программа может не иметь в своем составе всех нужных для работы данных, а использовать те, которые уже присутствуют в ОС. За счет этого также достигается экономия памяти – работающие программы используют одни и те же DLL.
Если же программа (или библиотека) будет повреждена, то это не скажется на работоспособности остального ПО.
Когда и как появились
Библиотеки DLL появились одновременно с ОС Windows. Разработчики предполагали, что это облегчит программирование приложений и поможет упорядочить использование общих ресурсов в течение сеанса работы.
Но со временем выяснилось, что в ряде случаев возникает тупиковая ситуация, которая получила название «DLL hell». Такое случалось, когда два или более приложений требуют доступа к разным (и не совместимым друг с другом) библиотекам. В результате Windows начинала работать нестабильно.
Только в последних версиях ОС удалось создать механизм, предотвращающий возникновения сбоев – технологию Side-by-side assembly, который испытали в XP, но окончательно он стал применяться в Windows Vista.
Программный код ОС Windows – проприетарный. Это значит, что разработчики не предусмотрели штатных средств, применяя которые, пользователь сможет менять системный код. Для открытия DLL придется использовать специальные программные пакеты. А подключать имеющиеся DLL к разрабатываемой программе можно с применением ПО Microsoft.
В Windows 10
Пользователи, работающие в десятой версии Windows, не всегда знают, чем открыть DLL. Для подключения библиотеки к проекту понадобится либо Visual Studio, либо VisualFoxPro. Эти программные комплексы доступны для скачивания на официальном портале компании Microsoft. Для редактирования допускается использовать ResourceHacker – утилиту для ознакомления и редактирования различных типов файлов.
Чтобы открыть динамически подключаемую библиотеку, следует нажать в главном меню:
Из чего состоит рабочая область программы ResHacker:
В Windows 7
Проблема – чем открыть DLL для редактирования в операционной системе Windows 7 решается так же как и для 10 версии. Еще применяется утилита Resource Tuner – редактор ресурсов. Она дает возможность менять код в DLL на свое усмотрение и сохранять библиотеки.
В онлайн-сервисах
Это понадобится, если речь идет о страницах сайта. В DLL содержатся скрипты, которые отвечают за корректную работу сервера.
Открыть библиотеки можно, используя браузеры:
Как открыть DLL, используя Visual Studio
Программная среда Visual Studio дает возможность создавать, подключать DLL к текущему проекту и редактировать его. Для этого используется синтаксис языка программирования.
Особенности работы с DLL файлами и возможные проблемы
Некоторые DLL не удастся не только изменить, но даже открыть. Это происходит с защищенными библиотеками и проблема не решается без специальных программ для взлома.
Пользователи также сталкиваются с отсутствием библиотек, необходимых для работы некоторых программ. ОС при этом выдает сообщение о том, что «файл не найден». Для устранения неисправности требуется отыскать недостающие DLL с помощью поисковых систем и скачать. Затем – поместить в требуемую папку.
В редких случаях библиотеки DLL придется зарегистрировать в ОС:
В качестве итога
Работой с DLL занимаются программисты, но опытным пользователям также полезно будет знать основы работы с динамически подключаемыми библиотеками. Это может пригодиться для изменения или извлечения данных из файлов прикладных программ.