|
|
Компьютеры - Type library - Значение28 апреля 2011
Оглавление: 1. Type library 2. Значение 3. Использование 4. Создание
TLB содержит ряд важной информации, необходимой как при разработке, так и в процессе работы приложений.
- Описание метода интерфейса в числе прочего содержит:
- Смещение ячейки данного метода в VTable. Компилятор может сгенерировать код, осуществляющий вызов метода по типу раннего связывания, только если ему известно смещение.
- DispId особый числовой идентификатор метода. Компилятор может сгенерировать код, осуществляющий вызов метода по типу позднего связывания по DispId’у, только если ему известно значение этого идентификатора. В противном случае, возможно только позднее связывание по имени метода.
- Соглашение вызова. При использовании раннего связывания генерация осуществляющего вызов кода принципиально невозможна, если не известно используемое соглашение.
- Описание функции из модуля содержит информацию о динамический библиотеке, экспортирующей данную функцию, её экспортное имя и/или ординал. Компилятор может сгенерировать корректную таблицу импорта, только если он обладает всеми этими сведениями.
- Описания интерфейсов и классов содержат информацию об их уникальных идентификаторах. Программа не может запросить у OLE создание объекта требуемого класса, если не известен его CLSID, или запросить у объекта требуемый интерфейс, если не известен его IID.
- Описания членов интерфейсов и модулей содержат информацию о количестве и типах параметров, о типах возврата, что позволяет компилятору проверить правильность вызовов.
- Библиотека типов содержит информацию, необходимую для осуществления маршалинга.
- При поддержке средой разработки, ощутимую помощь разработчику оказывают краткие описания элементов библиотеки. Кроме того, разработчик может «встать» кареткой на интересующий идентификатор и получить подробную справочную информацию по нему, благодаря тому, что для каждого элемента может храниться ссылка на файл справки и соответствующую справочную статью.
- Технологии автодополнения, такие как IntelliSense, могут использовать библиотеки типов как источник информации.
- Во время работы программы, имея ссылку на неизвестный объект, можно получить о нём почти всю информацию, при условии, что он поддерживает интерфейс ITypeInfo. В этом случае чаще всего объект, чтобы предоставить информацию о себе, использует ITypeInfo, полученный в результате загрузки своей же TLB.
C точки зрения хранимых сведений, библиотека является более продвинутым аналогом заголовочных файлов.
Просмотров: 3422
|