Jeśli wystąpi błąd DLL w samouczku programu Visual Studio win32, dzisiejszy samouczek jest tutaj, aby pomóc.
Zatwierdzono: Fortect
- 23 minuty na przeczytanie.
To jest krok po kroku dotyczący oglądania telewizji, jak używać środowiska IDE programu Visual Studio do tworzenia własnej biblioteki Dynamic Link Choice (DLL) napisanej w języku Microsoft C ++ ( MSVC). Następnie pokazuje, jak używać biblioteki DLL C++ z innej aplikacji. Biblioteki DLL (znane również głównie dlatego, że współdzielone biblioteki w systemach operacyjnych UNIX) są jedną z najbardziej użytecznych jednostek części składowych Windows. Możesz użyć tych osób, aby uwolnić kod, a tym samym zasoby, i zmniejszyć aspekt swoich aplikacji. Biblioteki DLL mogą nawet ułatwić konserwację i rozbudowę aplikacji osobistych.
W tym przewodniku utworzysz bibliotekę DLL, która implementuje niektóre funkcje matematyczne. Następnie tworzysz dowolną konsolę, w której aplikacja korzysta z funkcjonalności DLL. Przedstawia również niektóre ze wszystkich podejść i konwencji programowania, które system Windows stosuje w bibliotekach DLL.
-
Utwórz bibliotekę DLL w programie Visual Studio.
-
Dodano wydane zmienne do biblioteki DLL.
-
Utwórz p Projekt aplikacji Xbox w programie Visual Studio.
Zatwierdzono: Fortect
Fortect to najpopularniejsze i najskuteczniejsze narzędzie do naprawy komputerów na świecie. Miliony ludzi ufają, że ich systemy działają szybko, płynnie i bez błędów. Dzięki prostemu interfejsowi użytkownika i potężnemu silnikowi skanowania, Fortect szybko znajduje i naprawia szeroki zakres problemów z systemem Windows - od niestabilności systemu i problemów z bezpieczeństwem po zarządzanie pamięcią i wąskie gardła wydajności.
- 1. Pobierz Fortect i zainstaluj na swoim komputerze
- 2. Uruchom program i kliknij „Skanuj”
- 3. Kliknij „Napraw”, aby naprawić znalezione problemy
Wykorzystaj aspekty i zmienne wprowadzonej biblioteki DLL w aplikacji konsolowej.
-
Uruchom zamkniętą aplikację.
Podobnie jak biblioteka doskonale połączona statycznie, biblioteka DLL eksportuje czynniki, funkcje oraz zasoby według nazwy. Aplikacja kliencka importuje odtwarzacze, aby używać osobistych zmiennych, funkcji i zasobów. W przeciwieństwie do biblioteki połączonej statycznie, system Windows łączy importy i eksporty aplikacji podstawowej do kompletnej biblioteki DLL przy każdym ładowaniu lub podczas użytkowania, zamiast łączyć te firmy w tym samym czasie. System Windows wymaga dodatkowych informacji, które niekoniecznie są częścią aktualnej standardowej kompilacji C++, w celu określenia tych połączeń. Kompilator MSVC implementuje niektóre rozszerzenia specyficzne dla firmy Microsoft dla języka C++, jeśli chcesz bezpośrednio podać te dodatkowe informacje. Wyjaśniamy, w jaki sposób robimy rozszerzenia.
Ten przewodnik tworzy pewną liczbę rozwiązań programu Visual Studio. że budujesz wszystkie biblioteki DLL i aplikację Patron. Wykorzystanie DLL C zgodnie z konwencją. Może być obsługiwany przez aplikacje napisane w innych językach programowania, jeśli konkretna platforma, konwencje wywoływania i konwencje odwołań wstecznych są najważniejsze. Klient, aplikacja używa domyślnego łącza do strony internetowej, gdzie system Windows opcjonalnie łączy aplikację z biblioteką DLL danej osoby w czasie rozruchu. Kiedy łączysz tego rodzaju, twoja aplikacja może wywoływać funkcje dostarczane przez te biblioteki DLL, podobnie jak funkcje w statycznie nadzorowanej bibliotece.
Nie obejmuje to niektórych podstawowych pozycji. Kod nie pokazuje użycia w podobnych bibliotekach C++ przy innych programach różnych. Nie pokazuje, jak rozpocząć tworzenie najnowszej biblioteki DLL zawierającej tylko zasoby ani jak bezpośrednio korzystać z witryny internetowej w przeciwieństwie do czasu ładowania. MSVC i Visual Studio mogą wykonać prawie każdą z tych rzeczy. Linki
Aby uzyskać więcej multimediów na temat bibliotek DLL, zobacz Tworzenie bibliotek DLL C/C++ w Visual Studio . Aby uzyskać dodatkowe informacje na temat niejawnych odwołań wstecznych i odwołań jawnych, skup się na Ustaleniu, której metody konfiguracji należy użyć . Aby uzyskać więcej informacji na temat przebudowy bibliotek C+DLL + do użytku w programach wyróżniających Tworzenie przy użyciu konwencji wykonywanych w języku C, patrz Eksportowanie funkcji C++ przeznaczonych do użycia w wykonywalnych językach C. Aby uzyskać szczegółowe informacje na temat tworzenia bibliotek DLL do użytku z dialektami .NET, zobacz DLL Wywoływanie funkcji dla aplikacji Visual Basic .
Wymagania
- Z drugiej strony na urządzeniu komputerowym działa system Microsoft Windows 7 wcześniej. Zalecamy system Windows 10 ze względu na zalecane doświadczenie programistyczne.
-
Zapoznaj się z podstawami większości korzystania ze środowiska IDE programu Visual Studio. Jeśli wcześniej stosowałeś aplikacje komputerowe dla systemu Windows, na pewno możesz zrobić zapasy. Aby zapoznać się z omówieniem, zobacz Omówienie połączone z funkcjami środowiska IDE programu Visual Studio .
-
Aby wziąć udział, zdobądź wystarczającą znajomość naszego języka C++. Nie martw się zbytnio, nie realizujemy niczego zbyt skomplikowanego.
Utwórz dokładny projekt DLL
W tym zadaniu osoba tworzy projekt dla twojej biblioteki DLL, ogólnie poprawia kod i buduje go. Najpierw zacznij zwykle od środowiska IDE programu Visual Studio i zaloguj się, jeśli jest to bardzo istotne. Łatwo dostosowywalne instrukcje w zależności od używanej wersji programu Visual Studio. Pamiętaj, aby w lewym górnym rogu całej strony umieścić poprawną wersję wybraną w jego poleceniu. Teraz
Poprawka nie powoduje, że ta biblioteka DLL jest zbyt ekstremalna. Następnie utworzysz wspaniały plik nagłówkowy, który pomoże Ci zadeklarować funkcje, które wyeksportuje Twoja biblioteka DLL, a następnie zaoferujesz definicje funkcji do tej biblioteki DLL, aby była bardziej użyteczna.
-
Aby sformułować pełny nagłówek funkcji, wybierz z paska menu opcję Projekt> Dodaj nowy element.
-
W oknie dialogowym Dodaj nowy element wybierz opcję Visual C ++ w lewym okienku. W środku osoby wybierz Nagłówek (plik.h). Wprowadź MathLibrary.h jako nazwę bieżącej nazwy pliku nagłówkowego.
-
Zwykle kliknij Dodaj urządzenie, aby wygenerować biały plik nagłówkowy, który powinien zostać wyświetlony w następnym oknie edytora.
-
Zastąp zawartość jakiegoś nagłówka bazy danych następującym kodem:
// MathLibrary.h - zawiera deklaracje funkcji matematycznych#pragma raz#ifdef MATHLIBRARY_EXPORTS#define MATHLIBRARY_API __declspec (dllexport)#inne#define MATHLIBRARY_API __declspec (import dll)#zakończ, jeśli// Powtórzenie współczynnika Fibonacciego opisuje ciąg F// gdzie F (n) {n = 0, a. Wola// {d = 1, b// {n> krok 1, F (n-2) + F (n-1)// dla kilku ważnych, najważniejszych wartości a i b.// .if .strefa. Zainicjalizowany .F (0). = .1, .F (1). Oznacza .1,// potem ta relacja generuje słynny kształt Fibonacciego.//. Kolejność: .1, .1, .2, .3 ,. Rząd, .8, .dwanaście, .21, .34, ....// Zainicjuj prawie każdą związaną z sekwencją proporcje Fibonacciego// więc F (0) implikuje a, F (1) = b.// Funkcja musi być również znana jak przed każdą inną funkcją.zewnętrzne "C" MATHLIBRARY_API unikaj fibonacci_init ( unsigned stała long dłużej a, unsigned stała rozszerzona long, dając b);// nadchodząca wartość w kolejności.// Zwraca true przy dobrych wynikach, więc bieżąca wartość i nieprawidłowy indeks na pewno zostaną zaktualizowane;// Przepełnienie, pozostaw aktualną wartość i stronę bez zmian.zewnętrzne "C" MATHLIBRARY_API bool fibonacci_next ();// pobierz wartość kontynuacji sekwencji "C"extern MATHLIBRARY_API unsigned zbyt długi fibonacci_current ();// NSPobierz pozycję, w tym całą bieżącą wartość w sekwencji.zewnętrzne "C" MATHLIBRARY_API unsigned fibonacci_index ();
Ten plik nagłówkowy deklaruje pewne funkcje do stworzenia uogólnionego łańcucha Fibonacciego z dwiema podanymi pierwszymi wartościami. Telefon z prośbą o ulgę fibonacci_init (1, 1)
generuje znajomą intensywność ciągu Fibonacciego.
Zwróć uwagę na instrukcje preprocesora na górze całego pliku. Nowy projekt strony internetowej dla projektu DLL dodaje PROJECTNAME_EXPORTS z określonym preprocesorem makr. Na przykład powyższy program Visual Studio ustawia MATHLIBRARY_EXPORTS, gdy rodzina kompiluje projekt biblioteki DLL MathLibrary.
Jeśli powinno być zdefiniowane makro MATHLIBRARY_EXPORTS, makro MATHLIBRARY_API __declspec (dllexport)
po prostu pozostawia modyfikator dla deklaracji funkcji. Ten modyfikator mówi kompilatorowi i Marketplace, aby wyeksportowały swoją funkcję lub zmienną z określonej biblioteki DLL do użycia przez inne aplikacje. Jeśli MATHLIBRARY_EXPORTS być może nie jest zdefiniowany, na przykład, jeśli wszystkie pliki nagłówkowe zostały zawarte w tej samej aplikacji, MATHLIBRARY_API stosuje modyfikator osoby __declspe do deklaracjisc (dllimport)
. Ten modyfikator optymalizuje ruch funkcji lub ewentualnie zmiennych, gdy jest używany poprawnie. Zobacz dllexport, dllimport , aby uzyskać więcej informacji.
Tworzenie implementacji DLL
Aby upewnić się, że wszystkie obszary działają, skompiluj dedykowaną bibliotekę dołączaną dynamicznie. Skompiluj, aby wybrać opcję Kompiluj> Kompiluj rozwiązanie z menu klubu. Biblioteka DLL i skojarzony z nią produkt kompilatora są w rzeczywistości umieszczane w folderze o nazwie Debuguj bezpośrednio w folderze rozwiązania. Kiedy bierzesz udział w wydaniu wydania, wynik jest umieszczany w folderze o nazwie Release. Koniec powinien wyglądać tak:
Gratulacje, utworzyłeś bibliotekę DLL za pomocą programu Visual Studio! Następnie upewnij się, że tworzysz aplikację kliencką, kiedy będzie korzystać z każdej z naszych wyeksportowanych plików DLL.
Utwórz aplikację kliencką przy użyciu biblioteki DLL
Przygotowując bibliotekę DLL, zastanów się, jak programy klienckie mogą z niej korzystać. Uzyskaj lub ewentualnie dostęp działa
Przyspiesz teraz wydajność swojego komputera dzięki temu prostemu pobieraniu.