Файлы DLL - это файлы динамически подключаемых библиотек, написанные и управляемые с помощью C ++. Библиотеки DLL упрощают совместное использование, хранение и сохранение кода. Из этой статьи вы узнаете, как создать файл DLL с помощью Visual Studio, приложения Windows или Visual Studio для Mac. При установке убедитесь, что у вас установлен флажок «Разработка настольных компьютеров на C ++». Если у вас уже есть Visual Studio, но этот флажок не установлен, вы можете снова запустить установщик, чтобы убедиться в этом.
Шаги
Шаг 1. Откройте Visual Studio
Вы можете найти его в меню «Пуск» или в папке «Приложения». Поскольку DLL - это библиотека информации, это всего лишь одна часть проекта, и для доступа к ней обычно требуется сопутствующее приложение.
- Вы можете получить Visual Studio для Windows здесь:
- Visual Studio для Mac можно скачать здесь:
- Этот wikiHow будет использовать код, предоставленный Microsoft, чтобы объяснить, как создать файл DLL.
Шаг 2. Щелкните файл
Вы найдете его либо над областью проекта (Windows), либо вверху экрана (Mac).
Шаг 3. Нажмите «Создать». а также Проект.
Откроется диалоговое окно «Создать новый проект».
Шаг 4. Установите параметры для языка, платформы и типа проекта
Они отфильтруют, какие типы шаблонов проектов появляются.
Нажмите Язык чтобы открыть раскрывающееся меню и нажмите C ++.
Шаг 5. Щелкните Платформа. чтобы открыть раскрывающееся меню и нажмите Windows.
Шаг 6. Щелкните Тип проекта. чтобы открыть раскрывающееся меню и нажмите Библиотека.
Шаг 7. Щелкните Библиотека динамической компоновки (DLL)
Ваш выбор будет выделен синим цветом. Нажмите Следующий продолжить.
Шаг 8. Введите имя проекта в поле «Имя»
Например, введите «MathLibrary» в поле для имени образца.
Шаг 9. Щелкните Создать
Проект DLL создан.
Шаг 10. Добавьте файл заголовка в DLL
Вы можете сделать это, нажав «Добавить новый элемент» из «Проект» в строке меню.
- Выбирать Visual C ++ из левого меню диалогового окна.
- Выбирать Заголовочный файл (.h) из центра диалогового окна.
- Введите имя «MathLibrary.h» в поле имени под пунктами меню.
- Нажмите Добавлять для создания пустого файла заголовка.
Шаг 11. Введите следующий код в пустой файл заголовка
// MathLibrary.h - Содержит объявления математических функций #pragma once #ifdef MATHLIBRARY_EXPORTS #define MATHLIBRARY_API _declspec (dllexport) #else #define MATHLIBRARY_API _declspec (dllimport Relationship) # Fibonacci // последовательность Fibendif n) равно {n = 0, a // {n = 1, b // {n> 1, F (n-2) + F (n-1) // для некоторых начальных целочисленных значений a и b. // Если последовательность инициализирована F (0) = 1, F (1) = 1, // то это отношение дает хорошо известную // последовательность Фибоначчи: 1, 1, 2, 3, 5, 8, 13, 21, 34,… // Инициализируем последовательность соотношений Фибоначчи // таким образом, что F (0) = a, F (1) = b. // Эта функция должна вызываться перед любой другой функцией. extern "C" MATHLIBRARY_API void fibonacci_init (const unsigned long long a, const unsigned long long b); // Производим следующее значение в последовательности. // Возвращает истину в случае успеха и обновляет текущее значение и индекс; // false при переполнении, оставляет текущее значение и индекс без изменений. extern "C" MATHLIBRARY_API bool fibonacci_next (); // Получить текущее значение в последовательности. extern "C" MATHLIBRARY_API long long long без знака fibonacci_current (); // Получить позицию текущего значения в последовательности. extern "C" MATHLIBRARY_API беззнаковый fibonacci_index ();
Шаг 12. Добавьте файл CPP в DLL
Вы можете сделать это, щелкнув «Добавить новый элемент из проекта» в строке меню.
- Выберите «Visual C ++» в левом меню диалогового окна.
- Выберите «Файл C ++ (.cpp)» в центре диалогового окна.
- Введите имя «MathLibrary.cpp» в поле имени под пунктами меню.
- Щелкните Добавить, чтобы создать пустой файл.
Шаг 13. Введите следующий код в пустой файл
// MathLibrary.cpp: определяет экспортируемые функции для библиотеки DLL. #include "stdafx.h" // использование pch.h в Visual Studio 2019 #include #include #include "MathLibrary.h" // внутренние переменные состояния DLL: static unsigned long long long previous_; // Предыдущее значение, если оно есть static unsigned long long current_; // Текущее значение последовательности static без знака index_; // Текущая последовательность. 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) {// в противном случае вычисляем следующее значение последовательности previous_ + = current_; } std:: swap (текущий_, предыдущий_); ++ index_; вернуть истину; } // Получить текущее значение в последовательности. беззнаковый длинный длинный fibonacci_current () {return current_; } // Получить текущую позицию индекса в последовательности. беззнаковый fibonacci_index () {return index_; }
Шаг 14. Щелкните Build в строке меню
Вы найдете его либо над областью проекта (Windows), либо вверху экрана (Mac).
Шаг 15. Щелкните Build Solution
После того, как вы нажмете на нее, вы должны увидеть текст, похожий на этот:
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 пропущено ==========