Описания export
Описание export делает процедуру или функцию экспортируемой, вынуждая компилятор использовать для нее дальний тип вызова и ге- нерировать специальный код входы и выхода из процедуры.
Процедуры и функции должны быть экспортируемыми в следующих случаях:
* Процедуры и функции экспортируются DLL (динамически компо- нуемой библиотекой).
* Процедуры и функции системного вызова в программе Windows.
О том, как экспортировать процедуры и функции в DLL, расска- зывается в Главе 11 "Динамически компонуемые библиотеки". Хотя процедура и функция компилируется с директивой export, фактичес- кий экспорт процедуры или функции не происходит, пока подпрограм- ма не перечисляется в операторе exports библиотеки.
Процедуры и функции системного вызова - это те процедуры и функции вашей прикладной программы, которые вызываются самой Windows, а не вашей прикладной программой. Подпрограммы системно- го вызова должны компилироваться с директивой export, но в опера- торе exports их перечислять не нужно. Приведем некоторые примеры процедур и функций системного вызова:
* процедуры Windows; * диалоговые процедуры; * процедуры системного вызова для перечисления; * процедуры уведомления об обращении к памяти; * специализированные процедуры Windows (фильтры).
Borland Pascal автоматически генерирует для процедур и функ- ций, экспортируемых программой Windows, эффективные системные вы- зовы. Эффективные вызовы ослабляют необходимость использования при создании подпрограмм системного вызова подпрограмм API Windows MakeProcInstance и FreeProcInstance.
Примечание: См. раздел "Код входа и выхода" в Главе 22.