Pliki DLL są dynamicznie dołączanymi plikami bibliotek pisanymi i kontrolowanymi za pomocą języka programowania C++. Biblioteki DLL upraszczają proces udostępniania i przechowywania kodu. Ta wikiHow uczy, jak utworzyć plik DLL za pomocą programu Visual Studio, aplikacji Windows lub Visual Studio dla komputerów Mac. Upewnij się, że zaznaczyłeś opcję „Desktop Development with C++” w procesie instalacji programu. Jeśli masz już program Visual Studio, ale nie zaznaczasz pola dla tej opcji, musisz ponownie uruchomić plik instalacyjny, aby upewnić się, że pole można zaznaczyć.
Krok
Krok 1. Otwórz program Visual Studio
Możesz znaleźć ten program w menu "Start" lub w folderze "Aplikacje". Ponieważ plik DLL jest biblioteką informacji, jest „fragmentem” projektu i zwykle wymaga dostępu do aplikacji towarzyszącej.
- Program Visual Studio dla systemu Windows można pobrać z tej witryny:
- Visual Studio dla komputerów Mac można pobrać tutaj:
- Ten wikiHow wykorzystuje kod dostarczony przez firmę Microsoft, aby wyjaśnić, jak utworzyć plik DLL.
Krok 2. Kliknij Plik
Ta zakładka znajduje się na górze obszaru projektu (Windows) lub na górze ekranu (Mac).
Krok 3. Kliknij Nowy oraz Projektowanie.
Wyświetlone zostanie okno dialogowe „Utwórz nowy projekt”.
Krok 4. Określ opcje dla aspektów „Język”, „Platforma” i „Typ projektu”
Te aspekty będą filtrować wyświetlane szablony projektów.
Kliknij " Język ”, aby wyświetlić rozwijane menu i kliknij „ C++ ”.
Krok 5. Kliknij „Platformy ”, aby wyświetlić rozwijane menu i kliknij „ Okna”.
Krok 6. Kliknij „Typ projektu ”, aby wyświetlić rozwijane menu i wybierz „ Biblioteki.
Krok 7. Kliknij Biblioteka z dynamicznym łączem (DLL)
Opcje zostaną zaznaczone na niebiesko. Kliknij " Następny " kontynuować.
Krok 8. Wpisz nazwę projektu w polu „Name Box”
Na przykład możesz wpisać „MathLibrary” w kolumnie jako przykładową nazwę.
Krok 9. Kliknij Utwórz
Zostanie utworzony projekt DLL.
Krok 10. Dodaj plik nagłówkowy do projektu DLL
Możesz go dodać, klikając „ Dodaj nowy element” z „ Projekt” na pasku menu.
- Wybierać " Wizualizacja C++ ” z menu po lewej stronie okna dialogowego.
- Wybierać " Nagłówki plików (.h) ” ze środka okna dialogowego.
- Wpisz nazwę, na przykład „MathLibrary.h” w polu nazwy pod opcjami menu.
- Kliknij " Dodać ”, aby utworzyć 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 F opisuje sekwencję F // gdzie) 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 projektu DLL
Możesz go dodać, klikając „ Dodaj nowy element” z „ Projekt” na pasku menu.
- Wybierz "Visual C++" z menu po lewej stronie okna dialogowego.
- Wybierz "Plik C++ (.cpp) " ze środka okna dialogowego.
- Wpisz nazwę „MathLibrary.cpp” w polu nazwy pod opcjami menu.
- Kliknij „Dodaj”, aby utworzyć 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 przypadek specjalny 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
Ta opcja znajduje się na górze obszaru projektu (Windows) lub na górze ekranu (Mac).
Krok 15. Kliknij opcję Kompiluj rozwiązanie
Po kliknięciu opcji możesz zobaczyć następujący tekst:
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 ==========