Другие языки программирования и технологии

Как пишут DLL-библиотеки?

В своих скриптах юзаю те или иные библиотеки, не задумываясь что в эти библиотеки напихано, я просто использую их методы, свойства и т. д. Полагаю что все они написаны на C++.
Но как пишут сами эти библиотеки??? с нуля!
Когда ничего нет и не к чему обратиться за кодом. Вот он, пустой стол и нужно собрать на этом столе из воздуха какой-то функционал. Как???
Жора Чепой
Жора Чепой
5 333
Если очень грубо: Импротируют функции стандартных и сторонних dll, которые им нужны для своего функционирования.
C++ не единственный, языков для этого дела море.
На гитхабе исходники любой dll посмотреть можно
Про системные типа ntdll.dll лучше читать какие-то книги
Александр Небольсин
Александр Небольсин
72 128
Лучший ответ
Жора Чепой ну а начальные как пишут?)
Библиотека УНУТРЕ - это практически такая же программа, как и любая другая. Исключение - некоторая специальная таблица входов, содержащая указатели на некоторые подпрограммы (пара стандартных и собссно функционал библиотеки). Ты вот пишешь "свои скрипты", а кто-то пишет что-то другое и оформляет в виде библиотек. Никакой магии.
Есть еще библиотеки .net, там все чуть интереснее, но в целом - тот же автопортрет Фаберже, фрагмент, в профиль.
Паша Седлецкий
Паша Седлецкий
77 217
Пишут набор функций, как обычную программу. но без точки входа (main). Вся суть в кроется в сборке. Сборщику надо указать, что результатом должен стать не исполнимый exe-файл, а библиотека, иначе он ругнётся и ничего не сделает.
C++,вот объяснить не выйдет. грубо говоря-пользуются наработками, это море языков
Насколько "пустой стол"?
Если есть, например, системные вызовы, то не такой уж он и пустой.
Жора Чепой ну это уже ассемблер?
Для этого используют "отходы системы", раньше когда ОС не имели DLL они записывали функции во временные файлы, вскоре умные люди использовали Paskal или бэйсик что бы соеденить функции и инструкции в файл, доступ к которому будет легче чем к временной секции памяти, умные люди не использовали точки входа в программу, они скорее записывали в файл какие процессы могут получить доступ к библиотеке