На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Dynamic-Link Library Creation



To create a DLL, you must create one or more source code files, and possibly a linker file for exporting the functions. If you plan to allow applications that use your DLL to use load-time dynamic linking, you must also create an import library.

Creating Source Files

The source files contain exported functions, internal functions, and an optional entry-point function for the DLL. You may use any development tools that support the creation of Win32-based DLLs.
If your DLL may be used by a multithreaded application, you should make your DLL "thread-safe" by linking only with libraries that have support for multiple threads. Also, be sure to synchronize access to your global data.

Exporting Functions

How you specify exported functions depends on the tools that you are using for development. Some compilers allow you to export a function directly in the source code by using a modifier in the function declaration. Other times, you must specify exports in a file that you pass to the linker.
For example, using Microsoft Visual C++, there are two possible ways to export DLL functions: with _declspec modifier or with a .DEF file. If you use the _declspec modifier, it is not necessary to use a .DEF file.

For more information about exporting functions, see the documentation included with your development tools.

Creating an Import Library

The import library (.LIB) file contains information the linker needs to resolve external references to exported DLL functions, so the system can locate the specified DLL and exported DLL functions at run time. For example, to call the CreateWindow function, you must link your code with the import library USER32.LIB. The reason is that CreateWindow resides in a system DLL. The file USER32.LIB is the import library used to resolve the call to CreateWindow in your code.

For information about creating import libraries, see the documentation included with your development tools.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

БИБЛИОТЕЧНОЕ Создание Dynamic-Link



Для того, чтобы создавать DLL, Вы должны создать один или более исходных кодовых файлов, и возможно файл компоновщика для экспорта функций. Если Вы собираетесь допускать приложения, которые используют ваше DLL, чтобы использовать нагрузку-время динамической связи, Вы должны также создать импортную библиотеку.

Создание Исходных Файлов

Исходные файлы содержат экспортируемые функции, внутренние функции, и дополнительный вход-точка функции для DLL. Вы можете использовать любые инструментальные средства разработки, которые поддерживают создание базирующегося Win32 DLLs.
Если ваше DLL может быть использован multithreaded приложением, Вы должны сделать вашей DLL "резьбой-сейфом" связываясь только с библиотеками, что иметь поддержку для многочисленной резьбы. Также, не забудьте синхронизировать доступ к вашим глобальным данным.

Экспорт Функций

Как Вы определяете что экспортируемые функции зависит от инструментальных средств, которые Вы используете для разработки. Некоторые компиляторы позволяют Вам, чтобы экспортировать функцию непосредственно в исходном коде используя модификатор в функциональной декларации. Другое время, Вы должны определить экспорт в файле, что Вы проходите компоновщику.
Например, используя Микрософт Visual C++, есть два возможных пути экспортировать функции DLL: с _declspec модификатор или с файлом .DEF. Если Вы используете _declspec модификатор, нет необходимости использовать файл .DEF.

Более подробно об экспорте функций, смотри документацию включенную вашими инструментальными средствами разработки.

Создание Импортной Библиотеки

Импортная библиотека (.LIB) ФАЙЛ содержит информации компоновщику нужно решать внешние ссылки на экспортировавшие функции DLL, так что система может расположить определенный DLL и экспортировавшее функции DLL во времени выполнения. Например, чтобы называть функцию CreateWindow, Вы должны связать ваш код с импортной библиотекой USER32.LIB. Причина -, что CreateWindow находится в системе DLL. Файл USER32.LIB является импортной библиотекой использованной, чтобы решать вызов на CreateWindow в вашем коде.

Для информации о создании импортных библиотек, смотри документацию включенную вашими инструментальными средствами разработки.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz