DLL (Dynamic Link Library) — динамически подключаемая библиотека функций. Для библиотек DLL предполагается многократное использование различными программами. Поговорим о том, как создать библиотеку DLL в Visual Studio, используя языки программирования C и C#.
Создание dll на языке Си
Создаем в Visual Studio новый проект — консольное приложение.
В запустившемся «Мастере приложений Win32» жмем кнопку «Далее». В следующем окне выбираем тип приложения: «Библиотека DLL»; также ставим галочку напротив параметра «Пустой проект». Жмем кнопку «Готово».
Теперь необходимо создать два файла исходного кода: «main.cpp» и «main.def». Для этого в «обозревателе решений» нажмем правой кнопкой мыши на папку «Файлы исходного кода», далее — «Добавить» — «Создать элемент».
В появившемся окне «Добавление нового элемента» во вкладке «Код» представлены типы файлов, которые нам необходимы. Создадим «main.cpp» и «main.def».
В итоге обозреватель решений будет выглядеть вот так:
Перейдем к файлу «main.cpp». Для примера, напишем две функции add и sub, выполняющих сложение и вычитание соответственно для двух целых чисел.
1 2 3 4 5 6 7 8 9 |
int add(int a, int b) { return a + b; } int sub(int a, int b) { return a - b; } |
Перед каждой функцией необходимо добавить модификатор __declspec(dllexport) (два нижних подчеркивания). Этот модификатор разрешает экспорт функции из библиотеки DLL для ее использования в других приложениях. В итоге получим такой код:
1 2 3 4 5 6 7 8 9 10 11 |
__declspec(dllexport) int add(int a, int b) { return a + b; } __declspec(dllexport) int sub(int a, int b) { return a - b; } |
Теперь перейдем к файлу «main.def». В нем необходимо указать: название библиотеки DLL, ключевое слово EXPORTS, а после него названия функций, экспорт которых необходимо разрешить. В нашем случае, получится вот так:
1 2 3 4 |
LIBRARY "dll_vscode" EXPORTS add sub |
Осталось построить решение. Для этого во вкладке «ПОСТРОЕНИЕ» нажмем кнопку «Построить решение» (Ctrl+Shift+B).
В итоге, в папке с проектом будет создан файл DLLvscode.dll.
На этом создание DLL-файла завершено.
Если вы хотите скачать исходник проекта в Visual Studio, то нажмите на кнопку ниже:
Скачать исходник на Си
Создание dll на языке C#
В языке программирования C#, в отличие от языка C, при создании dll-файлов, не нужно указывать модификатор __declspec(dllexport). И в наличии файла «main.def» также нет необходимости.
Создадим в Visual Studio новый проект на языке C#: «Библиотеку классов».
На основе функций add и sub, описанных выше, создадим в классе vscode соответствующие методы. Пространство имен указывать не нужно.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class vscode { public int add(int a, int b) { return a + b; } public int sub(int a, int b) { return a - b; } } |
Построим решение проекта (Ctrl+Shift+B). В папке Debug будет лежать созданный dll-файл.
Скачать исходник проекта можно ниже:
Скачать исходник C#
Поделиться в соц. сетях:
Ой спасибо за инфу! Очень помогла!