![СОЗДАНИЕ DLL C# | КАК ПОДКЛЮЧИТЬ DLL | C# ПЛЮШКИ](https://i.ytimg.com/vi/XIAzmdBbvHY/hqdefault.jpg)
Содержание
Файлы DLL - это динамически связанные файлы библиотеки, написанные и управляемые с помощью C ++. Библиотеки DLL упрощают совместное использование, хранение и сохранение вашего кода. Из этой статьи вы узнаете, как создать файл DLL с помощью Visual Studio в Windows или Visual Studio на Mac. При установке убедитесь, что у вас установлен флажок «Разработка настольных компьютеров с помощью C ++». Если у вас уже есть Visual Studio, но этот флажок не установлен, вы можете снова запустить установщик, чтобы убедиться, что он у вас установлен.
Шагать
Откройте Visual Studio. Вы можете найти эту программу в меню «Пуск» или в папке «Приложения». Поскольку DLL - это библиотека информации, она является лишь частью проекта и для доступа к ней обычно требуется сопутствующее приложение.
- Вы можете скачать Visual Studio для Windows здесь: https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2019
- Вы можете скачать Visual Studio для Mac здесь: https://docs.microsoft.com/en-us/visualstudio/mac/installation?view=vsmac-2019
- В этой статье wikiHow используется код, предоставленный Microsoft, чтобы объяснить, как создать файл DLL.
Щелкните Файл. Вы можете найти его над комнатой проекта (Windows) или вверху экрана (Mac).
нажмите на Новый а также Проект. Откроется диалоговое окно «Создать новый проект».
Предложите варианты Язык, Платформа а также Тип проекта в. Они отфильтруют, какие типы шаблонов проектов появляются.
- нажмите на Язык чтобы открыть раскрывающееся меню, нажмите C ++.
нажмите на Платформа чтобы открыть раскрывающееся меню, нажмите Окна.
нажмите на Тип проекта чтобы открыть раскрывающееся меню и нажмите Библиотека.
нажмите на Библиотека динамической компоновки (DLL). Ваш выбор станет синим. нажмите на Следующий продолжать.
Введите имя проекта в поле Имя. Например, введите «MathLibrary» в поле имени образца.
нажмите на Делать. Проект DLL создан.
Добавьте файл заголовка в DLL. Вы можете сделать это, нажав на Добавить новый элемент ниже Проект в строке меню.
- Выбирать Visual C ++ в левом меню диалогового окна.
- Выбирать Заголовочный файл (.h) в центре диалогового окна.
- Введите имя «MathLibrary.h» в поле имени под вариантами меню.
- нажмите на Добавлять для создания пустого файла заголовка.
Введите следующий код в пустой файл заголовка.
- Это образец кода с веб-сайта справки Microsoft.
// MathLibrary. (N) равно {n = 0, a // {n = 1, b // {n> 1, F (n-2) + F (n-1) // для некоторых начальных целочисленных значений А и б. // Если последовательность инициализирована F (0) = 1, F (1) = 1, // тогда это отношение возвращает хорошо известную // строку Фибоначчи: 1, 1, 2, 3, 5, 8, 13, 21, 34, ... // Инициализируем строку отношения Фибоначчи // таким образом, что F (0) = a, F (1) = b. // Эта функция должна вызываться перед любой другой функцией. внешний "C" MATHLIBRARY_API void fibonacci_init (const unsigned long long a, const unsigned long long b); // Возвращает следующее значение в строке. // Возвращает True в случае успеха и обновляет текущее значение и индекс; // Ложь при переполнении, оставим текущее значение и индекс без изменений. внешний "C" MATHLIBRARY_API bole fibonacci_next (); // Получить текущее значение в строке. внешний "C" MATHLIBRARY_API unsigned long long fibonacci_current (); // Получить позицию текущего значения в строке. extern "C" MATHLIBRARY_API беззнаковый fibonacci_index ();
Добавьте файл CPP в DLL. Вы можете сделать это, нажав на Добавить новый элемент ниже Проект в строке меню.
- Выбирать Visual C ++ в левом меню диалогового окна.
- Выбирать Файл C ++ (.cpp) в центре диалогового окна.
- Введите имя как «MathLibrary.cpp» в поле имени под вариантами меню.
- нажмите на Добавлять для создания пустого файла.
Введите следующий код в пустой файл.
- Это образец кода с веб-сайта справки Microsoft.
// MathLibrary.cpp: определяет экспортируемые функции для библиотеки DLL. #include "stdafx.h" // использование pch.h в Visual Studio 2019 #include utility> #include limits.h> #include "MathLibrary.h" // переменные внутреннего состояния DLL: static unsigned long long long previous_; // Предыдущее значение, если есть static unsigned long long current_; // Текущее строковое значение static без знака index_; // текущий seq. position // Инициализируем последовательность отношений Фибоначчи // таким образом, чтобы F (0) = a, F (1) = b. // Эта функция должна вызываться перед любой другой функцией. void fibonacci_init (const unsigned long long a, const unsigned long long b) {index_ = 0; current_ = a; previous_ = b; // при инициализации видим особый случай} // Производим следующее значение в последовательности. // Возвращает истину в случае успеха, ложь при переполнении. bool fibonacci_next () {// проверяем переполнение результата или позиции if ((ULLONG_MAX - previous_ current_) || (UINT_MAX == index_)) {return false; } // Особый случай, когда index == 0, просто возвращаем значение b if (index_> 0) {// else, вычисляем следующее значение последовательности previous_ + = current_; } std :: swap (текущий_, предыдущий_); ++ index_; вернуть истину; } // Получить текущее значение в строке. unsigned long long fibonacci_current () {return current_; } // Получить текущую позицию индекса в строке. беззнаковый fibonacci_index () {return index_; }
нажмите на Компилировать в строке меню. Вы можете найти эту кнопку над полем проекта (Windows) или вверху экрана (Mac).
нажмите на Скомпилировать решение. После нажатия на нее вы должны увидеть текст, как показано ниже:
- Если вам удалось создать свою DLL, вы увидите ее здесь. Если произошла ошибка, она будет указана здесь, чтобы вы могли ее исправить.
1> ------ Сборка началась: Проект: MathLibrary, Конфигурация: Отладка Win32 ------ 1> MathLibrary.cpp 1> dllmain.cpp 1> Создание кода ... 1> Создание библиотеки C: Users username Source Repos MathLibrary Debug MathLibrary.lib и объект C: Users username Source Repos MathLibrary Debug MathLibrary.exp 1> MathLibrary.vcxproj -> C: Users username Source Repos MathLibrary Debug MathLibrary.dll 1> MathLibrary.vcxproj -> C: Users username Source Repos MathLibrary Debug MathLibrary.pdb (Partial PDB) ========== Сборка: 1 успешно, 0 неудачно, 0 актуально, 0 пропущено ==========