Використання програми Implib в CBuilder

Програма Implib призначена для створення бібліотек імпорту (import libraries) для DLL (динамічно повязуються бібліотек), які ви хочете підключити до свого додатком Важливо використовувати саме версію Borland CBuilder цієї програми при створенні бібліотек імпорту для використання в додатках CBuilder Більш старі версії фірми Borland або ж аналоги інших фірм створять бібліотеки, некоректно підтримувані CBuilder, що спричинить за собою появу у вашій програмі повідомлень про помилки дивного змісту Ми розглянемо використання DLL в CBuilder, так само як і створення DLL в CBuilder для інших програм, в наступному розділі А зараз давайте просто розглянемо ті кроки, які треба зробити для створення бібліотеки імпорту для використан ня у вашому основному додатку в CBuilder

Припустимо, що у вас є DLL, яку ви хотіли б використовувати у вашому додатку Ця DLL могла бути створена в CBuilder, в Visual C + +, в Delphi або в будь-який інший системі, здатної створювати DLL Є дві основні речі, які вам хотілося б зробити для використання цієї динамічної бібліотеки (DLL) По-перше, згенерувати файл бібліотеки імпорту ( Lib) для цієї DLL, який можна підключити до вашого виконуваного файлу Це робиться командою implib По-друге, вам би хотілося знати, які функції в DLL можна викликати Це виходить так: ви берете тільки що згенерувала implib бібліотеку імпорту та передаєте її як параметр команді tlib, Яка створить лістинг функцій, доступних в бібліотеці Використовуючи ці дві програми, ви можете створити файл лістингу для будь-якого стандартного DLL-файлу в системі Windows

Давайте використовуємо програму implib для створення бібліотеки імпорту для однієї з DLL у вашому каталозі Windows (або WinNT у разі Windows NT 40) і подивимося, що доступно в цій бібліотеці для використання у вашому додатку Наприклад, у вашому каталозі Windows

знаходиться файл WinsockDLL Winsock – це реалізація бібліотеки зєднань через сокети (sockets) під Windows, яка є в Unix та інших системах і яку можна дуже здорово використовувати для створення ефективних додатків для зєднання через Internet

Насамперед запустіть програму implib з файлом WINSOCKDLL, набравши наступну команду в командному рядку:

C:\WINDOWS&gtimplib winsocklib winsockdll Borland ImpLib Version 201401

Copyright (c) 1991, 1997 Borland International

Після виконання програми в каталозі C: ​​\ Windows (у нашому випадку) повинен зявитися файл WinsockLIB Тепер ви можете вивчити цей файл, використовуючи програму tlib (про яку ми поговоримо пізніше):

c:\WINDOWS&gttlib winsocklib, winsocklst

TLIB 400 Copyright (c) 1987, 1997 Borland International

Як ми побачимо трохи пізніше, ця команда створює файл лістингу для бібліотеки, в якому показані всі загальні (public) імена (ідентифікатори) з бібліотеки Загальний ідентифікатор – це експортована (exported) функція або обєкт, які ви можете використовувати в своєму додатку, звязавши його з бібліотекою імпорту Ось невеликий фрагмент цього файлу, що показує функції, які ви можете імпортувати з файлу WINSOCKDLL:

Publics by module ACCEPT size = 0 ACCEPT

BIND size = 0

Глава 8 • Антракт: інструменти CBuilder BIND

CLOSESOCKET size = 0 CLOSESOCKET

CONNECT size = 0 CONNECT GETHOSTBYADDR size = 0 GETHOSTBYADDR GETHOSTBYNAME size = 0 GETHOSTBYNAME GETHOSTNAME size = 0 GETHOSTNAME GETNETBYNAME size = 0 GETNETBYNAME

Ви побачите функції, які є в документації до Winsock Наприклад, функція GetHostName повертає вам імя сервера, до якого в даний момент існує підключення Програма implib в комбінації з tlib може вам дати величезну кількість інформації про доступні функції в DLL Досить багато недокументованих функцій Windows були знайдені шляхом запуску програми implib з системними DLL і подальшого перегляду лістингів програми tlib Наприклад, USEREXE – це не більше ніж замаскована DLL Спробуйте запустити implib з файлом USEREXE (знаходиться в каталозі \ Windows \ System) Після чого «згодувати»

вийшов файл USERLIB програмі tlib і подивіться на вихідний файл USERLST Я впевнений, що якщо ви будете дивитися досить уважно, то знайдете як мінімум одну функцію, якої немає в офіційній документації до Win32

Джерело: Теллес М – Borland C + + Builder Бібліотека програміста – 1998

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*