Использование dll в C++ тесно связано с программированием под операционной системой Windows. Обычно эти библиотеки используют, чтобы хранить часто используемые участки кода, которые можно вызвать - подпрограммы и функции.
Создание dll
Для создания библиотеки нужно указать, что вы создаете библиотеку dll. В C++ сделать это довольно просто, практически ничем не отличается от простого приложения. После создания сгенерируется проект библиотеки, и вам остается только заполнить ее содержимым
Рассмотрим пример кода такой библиотеки dll.
1 2 3 4 5 6 7 8 |
extern "C" __declspec(dllexport) void __stdcall LittleTry() { for(int i = 0; i < 17; i++) { cout << i << "lapse"; cout << endl << endl; } } |
Выше приведена функция, которая была добавлена в библиотеку. Первая строка указывает, что функция будет видна не только в библиотеке, но ее можно вызвать сторонней программой. Так же в ней указывается тип и имя функции. После этого идет обычный код функции, который в данном случае выводит на экран имя библиотеки и 17 строчек с числом и словом lapse. После компиляции у вас появятся файл с библиотекой, который можно использовать.
Подключение dll
- Подключать библиотеку к проекту можно с помощью
1 |
#include library.h |
то есть через заголовочный файл, как любой другой обычный проект. К проекту нужно также подключить файл с расширением lib. А в папке с exe-шником разместить файл с расширением dll.
- Также можно подключать библиотеку, загружая её с помощью функции в переменную:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <windows.h> #include <conio.h> #include <iostream.h> // определение типа для указателя на функцию, которая возвращает void typedef void (*VoidReturnFunc)(); int main() { HINSTANCE a = LoadLibrary("MyLib.dll"); VoidReturnFunc myFunc; myFunc = (VoidReturnFunc) GetProcAddress(a, "LittleTry"); myFunc(); getch(); return 0; } |
В папке с exe-файлом нужно разместить файл с расширением dll.