Кирм Петров
Мастер
(2152)
5 лет назад
Простым языком, это обычный файл с расширением "dll". Но в нём может находится абсолютно всё что угодно, и в основном это именно "двоичные данные "(алгоритмы, функции, и т. п.), которые кстати с лёгкостью можно "править" обычным "HEX" редактором! Для того что бы "править" "dll" файл на прямую (без дополнительных программ) в "HEX" редакторе, требуется высочайшая квалификация пользователя (и (или) программиста), и ни обязательно нужно где то, с помощью кого то учиться этому, и иметь какой либо диплом, главное это иметь хорошую голову от Бога и нужную информацию, для полного понимания производимых изменений!
Без особых проблем, любой "dll" файл, также может быть дизассемблирован, но правда одного дизассемблера тут уже может быть и недостаточно, а понадобятся ещё дополнительные (вспомогательные) программы. Потому что там, могут быть не только "двоичные данные" но и другие (фото, видео, базы данных, текст, и даже "с виду ни к чему" НЕ ПРИВЯЗАННЫЕ БАЙТЫ)!
...Помню старые добрые времена, когда инэт был дорогим и мало распространённым, один хороший человек (автор программы "SkyNet" под ником S.O.V.A) "скидывал" через спутник, описание того, как "отредактировать" "dll" библиотеки, драйверов "буфера" обмена, некоторых спутниковых карт, через обычный "HEX" редактор. Это нужно было для того, что бы "буфер" принимаемых данных со спутника, в оперативной памяти ПК стал как минимум в 2 раза больше! Он просто сам (а в последствии и не только он) "скачивал" этот (свой) крохотный текстовый файлик, где были написаны, связки байтов, которые нужно было найти и заменить на другие, в обычном "HEX" редакторе.
...А те кто "рыбачил" со спутника, "ловили" этот файл вместе с ним, ПО ВСЕЙ РОССИИ и не только,. в общем было дёшево и сердито (а для "рыболовов" это вообще бесплатно)! БОЛЬШОЙ ПОКЛОН ЕМУ, за профессионализм, находчивость, и крутую программульку!)
Александр Ромасенко
Оракул
(56782)
5 лет назад
Это компоненты библиотеки, а нужна она для запуска программ, приложений и игр.
В ней содержится информация о конфигурации системы, совместимости устройств, наборе команд для правильной работы и многое другое. Некоторые файлы для игр имеют в своих папках уже готовые библиотеки, остальные пользуются системными.
Galaxy
Мудрец
(19452)
5 лет назад
Библиотека. Модуль для программы, который сам по себе не может работать, но подключиется к какой-либо программе и расширяет (например) её функционал.
Sshhhhh....
Просветленный
(39484)
5 лет назад
Крч там функции, которые ты вызываешь из своей проги, но они не компилируются тобой вместе с твоей программой, которая их использует из исходного кода, а поставляются тебе уже в готовом, скомпилированном виде.
Виктор Адаменя
Искусственный Интеллект
(143401)
5 лет назад
там функции (подпрограммы) содержатся например в системных DLL содержится системный интерфейс для программирования скажем есть библиотека ядра kernel32.dll
там есть функция createwindow (создать окно)
любой выскоуровнивый язык программирования не явно запускает эту функцию
у DLL особый формат например там есть таблица экспорта более подробно можно прочитать об этом на каком либо сайте по ассемблеру
По API функциям более подробно в MDSN и Win32DevRef английским по белому
Есть аналог в линуксе и прочих никсах ELF кажись формат но я не уверен
Особенность библетек в том что несколько процессов могут параллельно использовать API функции из одной библиотеки таким образом они не дублируются
Александр Шеруда
Просветленный
(45161)
5 лет назад
Когда вы выносите общие для всяких разных (но параллельно работающих) программ функции в динамически загружаемую библиотеку, вы можете держать в памяти только одну копию этой библиотеки.
Данные этими функциями будут обрабатываться разные, но программный код будет загружен в память только один раз, то есть это просто способ экономии памяти.