DLL -të janë skedarë bibliotekash të lidhur në mënyrë dinamike të krijuara dhe të kontrolluara nga gjuha C ++. Ato e bëjnë të lehtë ndarjen, ruajtjen ose ruajtjen e kodit të thjeshtë. Ky artikull do t'ju mësojë se si të krijoni një skedar DLL me Visual Studio për Windows ose Visual Studio për Mac. Në kohën e instalimit, kontrolloni opsionin "Zhvillimi i desktopit me C ++". Nëse tashmë keni Visual Studio por nuk e keni kontrolluar këtë opsion, instalojeni përsëri dhe kontrolloni.
hapa
Hapi 1. Hapni Visual Studio
Mund ta gjeni në dosjen "Aplikimet" në menunë "Start". Meqenëse një skedar DLL është një bibliotekë informacioni, është vetëm një pjesë e një projekti, dhe zakonisht kërkon një aplikacion shoqërues për të hyrë në të.
- Mund ta shkarkoni Visual Studio për Windows nga adresa e mëposhtme:
- Shkarkoni versionin Mac nga adresa e mëposhtme:
- Ky artikull do të përdorë kodin e ofruar nga Microsoft për të shpjeguar se si të krijoni një skedar DLL.
Hapi 2. Klikoni në skedën Skedar
Gjeni atë mbi hapësirën e projektit (Windows) ose në krye të ekranit (Mac).
Hapi 3. Kliko New dhe pastaj ne vazhdim Projekti.
Pastaj do të shfaqet dialogu "Krijo një projekt të ri".
Hapi 4. Vendosni preferencat tuaja për gjuhën, platformën dhe llojin e projektit
Kjo është një mënyrë për të filtruar modelet e projektit që do të shfaqen.
kliko brenda Gjuhe dhe zgjidhni C ++ në menunë zbritëse.
Hapi 5. Klikoni Platforma dhe zgjidhni Windows në menunë zbritëse.
Hapi 6. Klikoni Lloji i Projektit dhe zgjidhni Biblioteka 'në menunë zbritëse.
Hapi 7. Klikoni Bibliotekën e Lidhjes Dinamike (DLL)
Zgjedhja juaj do të theksohet me ngjyrë blu. Pastaj klikoni mbi Paraprakisht për të vazhduar.
Hapi 8. Shkruani një emër për projektin në kutinë e tekstit "Emri"
Për shembull, shkruani diçka si "Math_Library".
Hapi 9. Kliko Krijo
Tani projekti juaj DLL është krijuar.
Hapi 10. Shtoni një kokë skedari në DLL
Për ta bërë këtë, klikoni në "Projekt" në shiritin e menusë dhe zgjidhni "Shto artikull të ri".
- Zgjidhni Visual C ++ në menunë në anën e majtë të kutisë së dialogut.
- Zgjidhni Titulli i skedarit (.h) në qendër të kokës.
- Shkruani emrin si "Math_Library.h" në fushën e tekstit poshtë opsioneve të menysë.
- kliko brenda Shto për të gjeneruar një kokë të zbrazët të skedarit.
Hapi 11. Shkruani kodin e mëposhtëm në kokën e re
// Math_Library.h - Përmban deklarimet e funksionit matematikor #pragma një herë #ifdef MATHLIBRARY_EXPORTS #përcakto MATHLIBRARY_API _declspec (dllexport) #else #define MATHLIBRARY_API _declsibër (djegur n) është {n = 0, a // {n = 1, b // {n> 1, F (n-2) + F (n-1) // për disa vlera integrale fillestare a dhe b. // Nëse sekuenca inicohet F (0) = 1, F (1) = 1, // atëherë kjo marrëdhënie jep rendin e mirënjohur Fibonacci //: 1, 1, 2, 3, 5, 8, 13, 21, 34,… // Fillon një sekuencë të lidhjes Fibonacci // në mënyrë që F (0) = a, F (1) = b. // Ky funksion duhet të thirret para funksioneve të tjera. ekstern "C" MATHLIBRARY_API i pavlefshëm fibonacci_init (const unsigned long long a, const unsigned long long b); // Prodhon vlerën tjetër në sekuencë. // Kthen të vërtetën mbi suksesin dhe përditëson vlerën dhe indeksin aktual; // Kthen false nëse vlera tejkalon, duke lënë të pandryshuar vlerën dhe indeksin aktual. ekstern "C" MATHLIBRARY_API bool fibonacci_next (); // Merr vlerën aktuale në sekuencë. ekstern "C" MATHLIBRARY_API i panënshkruar gjatë i gjatë retracement_current (); // Merrni pozicionin e vlerës aktuale në varg. eksterni "C" MATHLIBRARY_API i panënshkruar fibonacci_index ();
Hapi 12. Shtoni një skedar CPP në DLL
Për ta bërë këtë, klikoni në "Shto artikull të ri" në shiritin e menusë "Projekti".
- Zgjidhni Visual C ++ në menunë në anën e majtë të kutisë së dialogut.
- Zgjidhni C ++ File (.cpp) në qendër të kutisë së dialogut.
- Shkruani emrin si "Math_Library.cpp" në fushën e tekstit poshtë opsioneve të menysë.
- kliko brenda Shto për të krijuar një skedar bosh.
Hapi 13. Futni kodin e mëposhtëm në skedarin bosh
// Math_Library.cpp: Përcakton funksionet e eksportuara në skedarin DLL. #include "stdafx.h" // përdorni pch.h në Visual Studio 2019 #include #include #include "MathLibrary.h" // DLL variablat e gjendjes së brendshme: statike të panënshkruara prej kohësh të mëparshme_; // Vlera e mëparshme, nëse aplikohet statike e panënshkruar, rrymë e gjatë e gjatë; // Vlera aktuale e vargut statik indeksi i panënshkruar_; // Pozicioni aktual i sekuencës // Fillon një sekuencë të lidhjes Fibonacci // në mënyrë që F (0) = a, F (1) = b. // Ky funksion duhet të thirret para funksioneve të tjera. i pavlefshëm retracement_init (const gjatë i panënshkruar gjatë a, const i panënshkruar gjatë i gjatë b) {index_ = 0; aktuale_ = a; e mëparshme_ = b; // shfaq një rast të veçantë kur inicializohet} // Nxjerr vlerën tjetër në sekuencë. // Kthen true në sukses, ose false nëse vlera tejkalon. bool fibonacci_next () {// kontrollon për një vlerë të tejkaluar në rezultat ose pozicion nëse ((ULLONG_MAX - previous_ <current_) || (UINT_MAX == index_)) {kthehet false; } // Rast i veçantë kur indeksi == 0, kthen vlerën e shkronjës b (indeksi_> 0) {// përndryshe llogarit vlerën tjetër të sekuencës previous_ += aktuale_; } std:: swap (aktuale_, e mëparshme); ++ indeksi_; kthehet e vërtetë; } // Merr vlerën aktuale në varg. i panënshkruar i gjatë gjatë retracement_current () {return current_; } // Merrni pozicionin aktual të indeksit në varg. Final_index i panënshkruar () {index index_; }
Hapi 14. Klikoni Ndërto në shiritin e menysë
Gjeni atë mbi hapësirën e projektit (Windows) ose në krye të ekranit (Mac).
Hapi 15. Klikoni Zgjidhja e Ndërtimit
Tjetra, duhet të shihni tekst të ngjashëm me atë më poshtë:
1> ------ Fillimi i ndërtimit: Projekti: MathLibrary, Konfigurimi: Debug Win32 ------ 1> MathLibrary.cpp 1> dllmain.cpp 1> Gjenerimi i kodit … 1> Krijimi i bibliotekës C: / Përdoruesit / emri i përdoruesit / Source / Repos / MathLibrary / Debug / MathLibrary.lib dhe objekti 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 (PDB e pjesshme) ========== Ndërtimi: 1 arriti, 0 dështuan, 0 të përditësuar, 0 u anashkaluan ==========