Библиотеки динамической компоновки
Библиотеки динамической компоновки - DLL - это набор функций, которые могут быть загружены и выполнены по требованию вызывающей программы. К одной и той же библиотеке может обращаться сразу несколько программ. Ниже показан пример простой библиотеки и способ ее подключения к проекту. Для создания библиотеки необходимо три файла: первый содержит код функций, имеет расширение .asm:
.386
.model flat, stdcall
option casemap :none
Список подключаемых файлов
Список подключаемых библиотек
Прототипы функций(не обязательно)
.data
Внутренний блок данных
.code
; #########################################################################
LibMain PROC
ret
LibMain ENDP
; #########################################################################
Функция 1
; #########################################################################
Функция 2
; #########################################################################
Функция 3
; #########################################################################
end LibMain
В приведенном примере функция LibMain фактически пустая. Следующий файл с расширением .def:
LIBRARY имя библиотеки
EXPORTS Функция 1
EXPORTS Функция 2
EXPORTS Функция 3
В третий файл вписываем имя библиотеки и сохраняем его с расширением .bat. Он необходим для компиляции.
@echo off
if exist имя библиотеки.obj del имя библиотеки.obj
if exist имя библиотеки.dll del имя библиотеки.dll
\masm32\bin\ml /c /coff имя библиотеки.asm
\masm32\bin\Link /SUBSYSTEM:WINDOWS /DLL /DEF:имя библиотеки.def имя библиотеки.obj
dir имя библиотеки.*
pause
На следующей странице - практический пример.


