Вопрос № 28427: Zdravstvujte! U menja vopros. Faily s rasshyreniem dll pishut'sja na Assemblere? Esli da to struktura ih pisanija ne takaja navernoe kak u com-failah ili exe-failah? Kakaj u nih struktura i dlja kakih konkretnyh sluchaev eti faily nuzhny? Zaranee bl...
Вопрос № 28.427
Zdravstvujte! U menja vopros. Faily s rasshyreniem dll pishut'sja na Assemblere? Esli da to struktura ih pisanija ne takaja navernoe kak u com-failah ili exe-failah? Kakaj u nih struktura i dlja kakih konkretnyh sluchaev eti faily nuzhny? Zaranee blagodarju za otvet.
Отправлен: 28.10.2005, 02:04
Вопрос задал: Igorkor (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Gibbel
Здравствуйте, Igorkor!
Ну, для начала рекомендую вам освоить основы программирования под ОС Windows, так как файлы .dll используются именно там.
Структура .dll файла такая же, как у обычного .exe (PE или NE) файла, за исключением некоторых мометнов. Основная разница вызвана назначением .dll файлов. DLL расшифровывается как Dynamic Link Library (библиотека динамической связки) и предназначена для хранения каких-либо функций или ресурсов, которые могут быть использованы несколькими программами одновременно (соответственно нет смысло добавлять их статически к каждой программе), либо же меняться независимо от основной программы.
Соответственно, основной исполняемый код библиотеки должен производить ее инициализацию и возвращать управление главной программы. Если никакой инициализации не требуется, то код будет выглядить так:
start: xor eax,eax
inc eax
ret 0Ch
Далее вы можете добавить свои функции (не забудьте их объявить как экспортируемые) и при компиляции не забудьте указать, что вы собираете библиотеку.
--------- От жизни еще никто не умирал
Ответ отправил: Gibbel (статус: *Ветеран)
Отправлен: 28.10.2005, 11:07
Отвечает: Boriss
Здравствуйте, Igorkor!
A v chem pishite? Mozet estj primer u was!
--------- Прорвемся! (Быть может :(( )
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 31.10.2005, 16:20