Четвертый BORLAND С++ и его окружение

       

Файлы определения модуля


Файл определения модуля .DEF обеспечивает информацию о содержимом файла и требованиях к системе приложения Windows. Эта

информацию используется компоновщиком и включает в себя размер

динамически распределяемой памяти и стека, а также характеристики

кода и данных. Файл .DEF перечисляет также функции, которые должны быть доступными для других модулей (экспортируемые функции), и

используемые функции других модулей (импортируемые функции). Так

как компоновщик Borland имеет и другие способы получения этой информации, файл .DEF для него не обязателен. Файл .DEF содержит

несколько операторов. Перечислим некоторые из них:

Оператор Функция

NAME

Задает имя программы. Если нужно построить DLL,

используйте оператор LIBRARY. Каждый файл .DEF

обязательно должен иметь оператор NAME или



LIBRARY. Заданное имя должно совпадать с именем

выполняемого файла. WINDOWAPI идентифицирует

программу, как выполняемую программу Windows.

DESCRIPTION

Позволяет вам задать строку, описывающую ваше

приложение или библиотеку.

EXETYPE

Помечает файл, как выполняемый файл Windows (это

необходимо для всех выполняемых файлов Windows.

CODE

Описывает атрибуты выполняемого сегмента кода

Параметр PRELOAD указывает загрузчику, что при

загрузке приложения в память нужно загрузить эту

часть образа файла. MOVEABLE указывает, что

Windows может перемещать код в памяти.

HEAPSIZE

Задает размер локальной динамически распределяе-

мой памяти приложения.

STACKSIZE

Задает размер стека приложения. Для создания DLL

этот оператор использовать нельзя.

Кроме указанных в файлах .DEF используются операции EXPORTS

и IMPORTS. Оператор EXPORTS перечисляет функции в программе или

DLL, которые будут вызываться другими приложениями или Windows

(экспортируемые функции или функции обратного вызова). Экспортируемые функции идентифицируются компоновщиком и вводятся в таблицу экспорта.

Чтобы избежать создания в файлах .DEF длинных секций

EXPORTS, в Borland C++ предусмотрено ключевое слово _export. Отмеченные этим ключевым словом функции будут идентифицироваться

компоновщиком и вводиться компоновщиком в таблицу экспорта.



Содержание раздела