Шаг 4.
Использование библиотек

    На этом шаге мы рассмотрим общие правила использования библиотек.

    В процессе разработки программы к ней можно подсоединять не только объектные модули, но и библиотеки. Собственно, если объектных модулей несколько, то это, по понятным причинам, вызывает определенные неудобства. Поэтому объектные модули объединяются в библиотеки.

    Для подсоединения библиотеки в MASM удобнее всего использовать директиву INCLUDELIB, которая сохраняется в объектном коде и используется программой LINK.EXE.

    Но как создать библиотеку из объектных модулей? Для этого имеется специальная программа, называемая библиотекарем. Предположим, мы хотим создать библиотеку LIB1.LIB, состоящую из одного модуля - PR0G2_1.OBJ (там находится внешняя процедура). Выполним для этого следующую команду:

   LIB /OUT:LIB1.LIB PROG2_1.OBJ

    Если необходимо добавить в библиотеку еще один модуль (MODUL.OBJ), то достаточно выполнить команду:

   LIB  LIB1.LIB  MODUL.OBJ

    Вот еще два полезных примера использования библиотекаря:

    Вернемся теперь к нашему примеру. Вместо объектного модуля мы используем теперь библиотеку LIB1.LIB. Видоизмененный текст программы PROG2_2.ASM представлен ниже:

.386P
;Плоская модель памяти.
.MODEL FLAT, STDCALL
;-----------------------------
;Прототип внешней процедуры.
EXTERN    PROC1@0:NEAR
;-----------------------------
INCLUDELIB LIB1.LIB
;-----------------------------
;Сегмент данных.
_DATA SEGMENT  DWORD  PUBLIC USE32   'DATA'
_DATA ENDS
;-----------------------------
;Сегмент кода.
_TEXT SEGMENT  DWORD PUBLIC USE32   'CODE'
START:
      CALL PROC1@0
      RET    ;Выход. 
_TEXT ENDS 
      END START

    Для получения выполняемого файла PROG2_2.EXE нужно выполнить команду:

   LINK /SUBSYSTEM:WINDOWS PROG2_2.OBJ

    На следующем шаге мы рассмотрим вопросы, связанные с размещением данных во внешних модулях.




Предыдущий шаг Содержание Следующий шаг