Pliki DLL są dynamicznie dołączanymi plikami bibliotek pisanymi i kontrolowanymi za pomocą C++. Biblioteki DLL ułatwiają udostępnianie, przechowywanie i zapisywanie kodu. Ten wikiHow pokaże Ci, jak utworzyć plik DLL za pomocą programu Visual Studio, aplikacji Windows lub Visual Studio dla komputerów Mac. Upewnij się, że podczas instalacji masz zaznaczoną opcję „Desktop Development with C++”. Jeśli masz już program Visual Studio, ale nie zaznaczyłeś tego pola, możesz ponownie uruchomić instalator, aby się upewnić.
Kroki
Krok 1. Otwórz program Visual Studio
Możesz to znaleźć w swoim menu Start lub folderze Aplikacje. Ponieważ biblioteka DLL jest biblioteką informacji, jest tylko jednym elementem projektu i zwykle wymaga towarzyszącej aplikacji, aby uzyskać do niej dostęp.
- Możesz pobrać Visual Studio dla Windows tutaj:
- Visual Studio dla komputerów Mac można pobrać tutaj:
- Ten wikiHow będzie używać kodu dostarczonego przez Microsoft, aby wyjaśnić, jak zbudować plik DLL.
Krok 2. Kliknij plik
Znajdziesz to nad przestrzenią projektu (Windows) lub u góry ekranu (Mac).
Krok 3. Kliknij Nowy oraz Projekt.
Pojawi się okno dialogowe „Utwórz nowy projekt”.
Krok 4. Ustaw opcje dla języka, platformy i typu projektu
Będą one filtrować, jakie rodzaje szablonów projektów się pojawiają.
Kliknij Język aby uzyskać rozwijane menu i kliknij C++.
Krok 5. Kliknij Platforma aby uzyskać rozwijane menu i kliknij Okna.
Krok 6. Kliknij Typ projektu aby uzyskać rozwijane menu i kliknij Biblioteka.
Krok 7. Kliknij Biblioteka z dynamicznym łączem (DLL)
Twój wybór podświetli się na niebiesko. Kliknij Następny kontynuować.
Krok 8. Wpisz nazwę w polu Nazwa projektu
Na przykład wpisz „MathLibrary” w polu dla przykładowej nazwy.
Krok 9. Kliknij Utwórz
Tworzony jest projekt DLL.
Krok 10. Dodaj plik nagłówkowy do biblioteki DLL
Możesz to zrobić, klikając „ Dodaj nowy element” z „ Projekt” na pasku menu.
- Wybierz Wizualizacja C++ z lewego menu okna dialogowego.
- Wybierz Plik nagłówkowy (.h) od środka okna dialogowego.
- Wpisz nazwę jako „MathLibrary.h” w polu nazwy poniżej opcji menu.
- Kliknij Dodać aby wygenerować pusty plik nagłówkowy.
Krok 11. Wpisz następujący kod do pustego pliku nagłówkowego
// MathLibrary.h - Zawiera deklaracje funkcji matematycznych #pragma Once #ifdef MATHLIBRARY_EXPORTS #define MATHLIBRARY_API _declspec(dllexport) #else #define MATHLIBRARY_API _declspec(dllimport) #endif // Relacja rekurencyjna Fibonacciego opisuje sekwencję F // gdzie F(n) to { n = 0, a // { n = 1, b // { n > 1, F(n-2) + F(n-1) // dla niektórych początkowych wartości całkowitych a i b. // Jeśli sekwencja jest inicjowana F(0) = 1, F(1) = 1, // wtedy ta relacja daje dobrze znaną // sekwencję Fibonacciego: 1, 1, 2, 3, 5, 8, 13, 21, 34, … // Zainicjuj sekwencję relacji Fibonacciego // taką, że F(0) = a, F(1) = b. // Ta funkcja musi zostać wywołana przed każdą inną funkcją. extern "C" MATHLIBRARY_API void fibonacci_init(const unsigned long long a, const unsigned long long b); // Utwórz następną wartość w sekwencji. // Zwraca prawdę w przypadku powodzenia i aktualizuje bieżącą wartość i indeks; // false przy przepełnieniu, pozostawia obecną wartość i indeks bez zmian. zewnętrzne "C" MATHLIBRARY_API bool fibonacci_next(); // Pobierz bieżącą wartość w sekwencji. extern "C" MATHLIBRARY_API unsigned long long fibonacci_current(); // Pobierz pozycję bieżącej wartości w sekwencji. zewnętrzne "C" MATHLIBRARY_API unsigned fibonacci_index();
Krok 12. Dodaj plik CPP do biblioteki DLL
Możesz to zrobić, klikając Dodaj nowy element z „Projektu” na pasku menu.
- Wybierz „ Visual C++” z lewego menu okna dialogowego.
- Wybierz „Plik C++ (.cpp)” ze środka okna dialogowego.
- Wpisz nazwę jako „MathLibrary.cpp” w polu nazwy poniżej opcji menu.
- Kliknij Dodaj, aby wygenerować pusty plik.
Krok 13. Wpisz następujący kod do pustego pliku
// MathLibrary.cpp: Definiuje eksportowane funkcje dla biblioteki DLL. #include "stdafx.h" // użyj pch.h w Visual Studio 2019 #include #include #include "MathLibrary.h" // Wewnętrzne zmienne stanu DLL: static unsigned long long previous_; // Poprzednia wartość, jeśli jakakolwiek static unsigned long long current_; // Bieżąca wartość sekwencji static unsigned index_; // Bieżąca sekw. pozycja // Zainicjuj sekwencję relacji Fibonacciego // taką, że F(0) = a, F(1) = b. // Ta funkcja musi zostać wywołana przed każdą inną funkcją. void fibonacci_init(const unsigned long long a, const unsigned long long b) { index_ = 0; obecny_ = a; poprzedni_ = b; // zobacz specjalny przypadek podczas inicjalizacji } // Wygeneruj następną wartość w sekwencji. // Zwraca prawdę w przypadku sukcesu, fałsz w przypadku przepełnienia. bool fibonacci_next() { // sprawdź, czy nie przepełniliśmy wyniku lub pozycji if ((ULLONG_MAX - poprzedni_ < bieżący_) || (UINT_MAX == index_)) { return false; } // Specjalny przypadek, gdy indeks == 0, po prostu zwróć wartość b if (indeks_ > 0) { // w przeciwnym razie oblicz następną wartość sekwencji poprzednia_ += bieżąca_; } std::swap(bieżący_, poprzedni_); ++indeks_; zwróć prawdę; } // Pobierz bieżącą wartość w sekwencji. unsigned long long fibonacci_current() { return current_; } // Pobierz bieżącą pozycję indeksu w sekwencji. unsigned fibonacci_index() { return index_; }
Krok 14. Kliknij Kompiluj na pasku menu
Znajdziesz to nad przestrzenią projektu (Windows) lub u góry ekranu (Mac).
Krok 15. Kliknij opcję Kompiluj rozwiązanie
Po kliknięciu powinieneś zobaczyć tekst podobny do tego:
1>------ Rozpoczęto kompilację: Projekt: MathLibrary, Konfiguracja: Debug Win32 ------ 1>MathLibrary.cpp 1>dllmain.cpp 1>Generowanie kodu… 1> Tworzenie biblioteki C:\Users\username \Source\Repos\MathLibrary\Debug\MathLibrary.lib i obiekt 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 (częściowy plik PDB) ========== Kompilacja: 1 powiodła się, 0 nie powiodło się, 0 aktualne, 0 pominięte ==========