DLL datoteke su dinamički povezane knjižnične datoteke koje se pišu i upravljaju programskim jezikom C ++. DLL -ovi pojednostavljuju proces dijeljenja i pohrane koda. Ovaj wikiHow vas uči kako stvoriti DLL datoteku koristeći Visual Studio, Windows aplikacije ili Visual Studio za Mac. Provjerite opciju "Razvoj radne površine s C ++" u procesu instalacije programa. Ako već imate program Visual Studio, ali ne označite okvir za tu opciju, morat ćete ponovno pokrenuti instalacijsku datoteku kako biste provjerili može li se potvrditi okvir.
Korak
Korak 1. Otvorite Visual Studio
Ovaj program možete pronaći u izborniku "Start" ili u mapi "Aplikacije". Budući da je DLL datoteka knjižnica informacija, ona je "dio" projekta i obično zahtijeva pristup popratnoj aplikaciji.
- Visual Studio za Windows možete preuzeti na ovoj web stranici:
- Visual Studio za Mac možete preuzeti ovdje:
- Ovaj wikiHow koristi kôd koji je dao Microsoft za objašnjenje stvaranja DLL datoteke.
Korak 2. Pritisnite Datoteka
Ova se kartica nalazi pri vrhu područja projekta (Windows) ili pri vrhu zaslona (Mac).
Korak 3. Pritisnite Novo i Projekti.
Prikazat će se dijaloški okvir "Kreiraj novi projekt".
Korak 4. Odredite opcije za aspekte “Jezik”, “Platforma” i “Vrsta projekta”
Ti će aspekti filtrirati prikazane predloške projekta.
Kliknite " Jezik ”Za prikaz padajućeg izbornika i kliknite“ C ++ ”.
Korak 5. Kliknite “Platforme ”Za prikaz padajućeg izbornika i kliknite“ Windows”.
Korak 6. Kliknite “Vrsta projekta ”Za prikaz padajućeg izbornika i odaberite“ Knjižnice .
Korak 7. Pritisnite Dynamic-link Library (DLL)
Opcije će biti označene plavom bojom. Kliknite " Sljedeći " nastaviti.
Korak 8. Upišite naziv projekta u polje "Naziv okvira"
Na primjer, možete unijeti "MathLibrary" u stupac kao naziv primjera.
Korak 9. Pritisnite Stvori
Bit će izrađen DLL projekt.
Korak 10. Dodajte datoteku zaglavlja u DLL projekt
Možete ga dodati klikom na "Dodaj novu stavku" iz "Projekt" na traci izbornika.
- Odaberite " Vizualni C ++ ”Iz izbornika s lijeve strane dijaloškog okvira.
- Odaberite " Zaglavlja datoteka (.h) ”Sa sredine dijaloškog okvira.
- Upišite naziv, na primjer, "MathLibrary.h" u polje za naziv ispod opcija izbornika.
- Kliknite " Dodati ”Za stvaranje prazne datoteke zaglavlja.
Korak 11. Upišite sljedeći kod u praznu datoteku zaglavlja
// MathLibrary.h - Sadrži deklaracije matematičkih funkcija #pragma jednom #ifdef MATHLIBRARY_EXPORTS #define MATHLIBRARY_API _declspec (dllexport) #else #define MATHLIBRARY_API _declspec (dndifrekvencija // Fencefrekvencija // fllfreferenca) je {n = 0, a // {n = 1, b // {n> 1, F (n-2) + F (n-1) // za neke početne integralne vrijednosti a i b. // Ako je niz inicijaliziran F (0) = 1, F (1) = 1, // tada ta relacija proizvodi dobro poznati Fibonaccijev // niz: 1, 1, 2, 3, 5, 8, 13, 21, 34,… // Inicijaliziraj Fibonaccijev niz relacija // tako da je F (0) = a, F (1) = b. // Ova se funkcija mora pozvati prije bilo koje druge funkcije. extern "C" MATHLIBRARY_API void fibonacci_init (const unsigned long long a, const unsigned long long b); // Proizvodi sljedeću vrijednost u nizu. // Vraća true pri uspjehu i ažurira trenutnu vrijednost i indeks; // lažno pri preljevu, ostavlja trenutnu vrijednost i indeks nepromijenjenim. extern "C" MATHLIBRARY_API bool fibonacci_next (); // Dobivanje trenutne vrijednosti u slijedu. extern "C" MATHLIBRARY_API unsigned long long fibonacci_current (); // Dobivanje pozicije trenutne vrijednosti u slijedu. extern "C" MATHLIBRARY_API unsigned fibonacci_index ();
Korak 12. Dodajte CPP datoteku u DLL projekt
Možete ga dodati klikom na "Dodaj novu stavku" iz "Projekt" na traci izbornika.
- Odaberite "Visual C ++" s izbornika s lijeve strane dijaloškog okvira.
- Odaberite "C ++ datoteka (.cpp)" u sredini dijaloškog okvira.
- Upišite naziv “MathLibrary.cpp” u polje za naziv ispod opcija izbornika.
- Pritisnite "Dodaj" da biste stvorili praznu datoteku.
Korak 13. Upišite sljedeći kod u praznu datoteku
// MathLibrary.cpp: Definira izvezene funkcije za DLL. #include "stdafx.h" // koristiti pch.h u Visual Studiu 2019 #include #include #include "MathLibrary.h" // DLL unutarnje varijable stanja: statički bez potpisa dugo dugo previous_; // Prethodna vrijednost, ako postoji statička nepotpisana duga duga struja_; // Trenutna vrijednost slijeda statički nepotpisani indeks_; // Trenutni slijed položaj // Inicijaliziraj Fibonaccijev niz relacija // tako da je F (0) = a, F (1) = b. // Ova se funkcija mora pozvati prije bilo koje druge funkcije. void fibonacci_init (const unsigned long long a, const unsigned long long b) {index_ = 0; struja_ = a; prethodni_ = b; // vidjeti poseban slučaj pri inicijalizaciji} // Proizvesti sljedeću vrijednost u nizu. // Vraća true pri uspjehu, false pri preljevu. bool fibonacci_next () {// provjerite hoćemo li preliti rezultat ili poziciju ako ((ULLONG_MAX - prethodna_ <trenutna_) || (UINT_MAX == indeks_)) {return false; } // Poseban slučaj kada je indeks == 0, samo vrati vrijednost b ako (indeks_> 0) {// u suprotnom, izračunaj sljedeću vrijednost slijeda prethodna_ += trenutna_; } std:: swap (trenutni_, prethodni_); ++ indeks_; return true; } // Dobivanje trenutne vrijednosti u slijedu. unsigned long long fibonacci_current () {return current_; } // Dohvati trenutnu poziciju indeksa u slijedu. nepotpisani fibonacci_index () {povratni indeks_; }
Korak 14. Pritisnite Build na traci izbornika
Ova je opcija pri vrhu područja projekta (Windows) ili pri vrhu zaslona (Mac).
Korak 15. Kliknite Build Solution
Nakon što kliknete na opciju, možete vidjeti sljedeći tekst:
1> ------ Izgradnja je započela: Projekt: MathLibrary, Konfiguracija: Debug Win32 ------ 1> MathLibrary.cpp 1> dllmain.cpp 1> Generiranje koda … 1> Stvaranje knjižnice C: / Users / username / Source / Repos / MathLibrary / Debug / MathLibrary.lib i objekt 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 (Djelomični PDB) ========== Izgradnja: 1 uspjelo, 0 neuspjelo, 0 ažurirano, 0 preskočeno ==========