TURBO PASCAL |
Новости
|
Оператор exportsПроцедура или функция экспортируется DLL, когда она указыва- ется в операторе exports библиотеки. оператор exports │ ┌─────────┐ ┌────────────────┐ ┌───┐ └──>│ exports ├──>│ список экспорта├───────────>│ ; ├───────> └─────────┘ └────────────────┘ └───┘ ┌────────────────┐ список экспорта ──┬─>│ запись экcпорта├───────────> │ └────────────────┘ ^ │ ┌───┐ │ └───────>│ ; ├─────────┘ └───┘ оператор exports │ ┌───────────────┐ └───>│ идентификатор ├──┬────────────────────────────────────┐ └───────────────┘ │ ┌───────┐ ┌─────────────────┐ ^ │ └──>│ index ├─>│ целая константа ├─┘ │ └───────┘ └─────────────────┘ │ ┌──────────────────────────────────────────────────────────────┘ └─┬─────────────────────────────────────┬──────────────────────> │ ┌──────┐ ┌─────────────────────┐ ^│ ┌──────────┐ ^ └>│ name ├──>│ строковая константа ├─┘└─>│ resident ├──┘ └──────┘ └─────────────────────┘ └──────────┘ Оператор exports может встречаться в любом месте описатель- ной части программы или библиотеки и любое число раз. Каждая за- пись в операторе exports задает идентификатор экспортируемой про- цедуры или функции. Однако, эта процедура или функция должна опи- сываться до оператора exports, и ее описание должно содержать ди- рективу export. Перед идентификатором в операторе exports вы мо- жете указать идентификатор модуля с точкой; это называется пол- ностью уточненным идентификатором. Запись экспорта может также включать в себя оператор index, который состоит из ключевого слова index, за которым следует це- лочисленное значение в диапазоне от 1 до 32767. Когда задается оператор index, для экспортируемой процедуры или функции должно использоваться специальное порядковое значение. Если в записи экспорта оператор index отсутствует, то порядковое значение прис- ваивается автоматически. Запись может содержать оператор name, состоящий из ключевого слова name, за которым следует строковая константа. При наличии оператора name экспортируемая процедура или функция должна экс- портироваться с помощью задаваемого строковой константой имени. Если оператор name в записи экспорта отсутствует, то процедура или функция экспортируется по ее идентификатору (символы которого преобразуются в верхний регистр). Наконец, запись экспорта может включать в себя ключевое сло- во resident. При задании ключевого слова resident информация об экспорте остается в памяти, пока DLL загружена. Параметр resident существенно уменьшает время поиска подпрограммы в DLL по имени. Программа может содержать оператор exports, но это встреча- ется редко, так как Windows не позволяет прикладным программам экспортировать функции, используемые другие прикладными програм- мами. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |