DLL fayllari C ++ yordamida yozilgan va boshqariladigan dinamik bog'langan kutubxona fayllari. DLL -lar kodni almashish, saqlash va saqlashni osonlashtiradi. Bu wikiHow sizga Visual Studio, Windows ilovasi yoki Mac uchun Visual Studio yordamida DLL faylini qanday yaratishni ko'rsatib beradi. O'rnatish paytida "C ++ bilan ish stolini ishlab chiqish" tekshirilganligiga ishonch hosil qiling. Agar sizda allaqachon Visual Studio bo'lsa, lekin bu katakchani belgilamagan bo'lsangiz, ishonch hosil qilish uchun o'rnatuvchini qayta ishga tushirishingiz mumkin.
Qadamlar
Qadam 1. Visual Studio -ni oching
Buni Boshlash menyusida yoki Ilovalar papkasida topishingiz mumkin. DLL ma'lumot kutubxonasi bo'lgani uchun, bu loyihaning faqat bir qismi bo'lib, unga kirish uchun odatda unga ilova kerak bo'ladi.
- Siz Windows uchun Visual Studio-ni bu erda olishingiz mumkin:
- Mac uchun Visual Studio dasturini bu yerdan yuklab olish mumkin:
- Bu wikiHow DLL faylini tuzishni tushuntirish uchun Microsoft tomonidan berilgan koddan foydalanadi.
Qadam 2. Fayl bosing
Siz buni loyiha maydonining tepasida (Windows) yoki ekranning yuqori qismida (Mac) topasiz.
Qadam 3. Yangi bosing va Loyiha.
"Yangi loyiha yaratish" muloqot oynasi ochiladi.
Qadam 4. Til, platforma va loyiha turi uchun parametrlarni o'rnating
Ular qanday turdagi loyiha shablonlari paydo bo'lishini filtrlaydi.
Bosing Til ochiladigan menyuni olish va ustiga bosing C ++.
Qadam 5. bosing Platforma ochiladigan menyuni olish va ustiga bosing Windows.
Qadam 6. Loyiha turini bosing ochiladigan menyuni olish va ustiga bosing Kutubxona.
Qadam 7. bosing Dinamik havola kutubxonasi (DLL)
Sizning tanlovingiz ko'k rangni ta'kidlaydi. Bosing Keyingi davom ettirish.
Qadam 8. Loyihaning Ismlar qutisiga ism kiriting
Masalan, namuna nomi uchun maydonga "MathLibrary" kiriting.
Qadam 9. Yaratish -ni bosing
DLL loyihasi yaratilgan.
Qadam 10. DLL -ga sarlavha faylini qo'shing
Buni menyu satridagi "Loyiha" dan "Yangi element qo'shish" tugmasini bosish orqali amalga oshirish mumkin.
- Tanlang Visual C ++ muloqot oynasining chap menyusidan.
- Tanlang Sarlavha fayli (.h) muloqot oynasining markazidan.
- Menyu tanlovlari ostidagi ism maydoniga "MathLibrary.h" nomini kiriting.
- Bosing Qo'shish bo'sh sarlavha faylini yaratish uchun.
Qadam 11. Bo'sh nomli faylga quyidagi kodni kiriting
// MathLibrary.h - Matematik funktsiyalar deklaratsiyasini o'z ichiga oladi #pragma bir marta #ifdef MATHLIBRARY_EXPORTS #define MATHLIBRARY_API _declspec (dllexport) #else #define MATHLIBRARY_API _declspec (Fif aclecion) n) a va b boshlang'ich integral qiymatlari uchun {n = 0, a // {n = 1, b // {n> 1, F (n-2) + F (n-1) //. // Agar ketma-ketlik boshlangan bo'lsa F (0) = 1, F (1) = 1, // demak, bu munosabatlar taniqli Fibonachchi // ketma-ketligini hosil qiladi: 1, 1, 2, 3, 5, 8, 13, 21, 34,… // Fibonachchi munosabatlar ketma -ketligini boshlang // F (0) = a, F (1) = b. // Bu funksiya boshqa funktsiyalardan oldin chaqirilishi kerak. extern "C" MATHLIBRARY_API bo'sh fibonacci_init (const unsigned long long a, const unsigned long long b); // Keyingi qiymatni ketma -ketlikda chiqaring. // Muvaffaqiyat haqida haqiqatni qaytaradi va joriy qiymat va indeksni yangilaydi; // to'ldirishda noto'g'ri, joriy qiymat va indeks o'zgarishsiz qoladi. extern "C" MATHLIBRARY_API bool fibonacci_next (); // Joriy qiymatni ketma -ketlikda oling. extern "C" MATHLIBRARY_API belgisiz uzun uzun fibonacci_current (); // Joriy qiymatning ketma -ketlikdagi o'rnini oling. extern "C" MATHLIBRARY_API belgisiz fibonacci_index ();
Qadam 12. DLLga CPP faylini qo'shing
Buni menyu satridagi "Loyiha" bo'limidan "Yangi element qo'shish" tugmasini bosish orqali amalga oshirish mumkin.
- Muloqot oynasining chap menyusidan "Visual C ++" ni tanlang.
- Muloqot oynasining markazidan "C ++ fayli (.cpp)" -ni tanlang.
- Menyu parametrlari ostidagi nom maydoniga "MathLibrary.cpp" nomini kiriting.
- Bo'sh faylni yaratish uchun Qo'shish -ni bosing.
Qadam 13. Bo'sh faylga quyidagi kodni kiriting
// MathLibrary.cpp: DLL uchun eksport qilingan funktsiyalarni belgilaydi. #include "stdafx.h" // Visual Studio 2019 da pch.h dan foydalaning #include #include #include "MathLibrary.h" // DLL ichki holat o'zgaruvchilari: statik belgisiz uzoq vaqt avval_; // Oldingi qiymat, agar statik belgisiz uzun uzun oqim bo'lsa; // Joriy ketma -ketlik qiymati statik unsigned index_; // Joriy sek. pozitsiya // Fibonachchi munosabatlar ketma -ketligini boshlang // F (0) = a, F (1) = b. // Bu funksiya boshqa funktsiyalardan oldin chaqirilishi kerak. bo'sh fibonacci_init (const unsigned long long a, const unsigned long long b) {index_ = 0; joriy_ = a; oldingi_ = b; // ishga tushirilganda alohida holatni ko'ring} // Keyingi qiymatni ketma -ketlikda chiqaring. // Muvaffaqiyatda haqiqatni qaytaradi, to'lib toshganida yolg'on. bool fibonacci_next () {// natija yoki pozitsiyani to'ldirganimizni tekshiring, agar ((ULLONG_MAX - oldingi_ <joriy_) || (UINT_MAX == index_)) {qaytarish noto'g'ri bo'lsa; } // Maxsus holat, agar indeks == 0 bo'lsa, b qiymatini qaytaring, agar (index_> 0) {// aks holda, keyingi ketma -ketlik qiymatini hisoblang oldingi_ += joriy_; } std:: almashtirish (joriy_, oldingi_); ++ indeks_; haqiqatga qaytish; } // Joriy qiymatni ketma -ketlikda oling. belgisiz uzun uzun fibonacci_current () {return current_; } // Joriy indeks o'rnini ketma -ketlikda oling. imzosiz fibonacci_index () {qaytish indeksi_; }
Qadam 14. Menyu satrida Build tugmasini bosing
Siz buni loyiha maydonining tepasida (Windows) yoki ekranning yuqori qismida (Mac) topasiz.
15 -qadam. Yechim yaratish -ni bosing
Buni bosgandan so'ng, siz shunga o'xshash matnni ko'rishingiz kerak:
1> ------ Qurilish boshlandi: Loyiha: MathLibrary, Konfiguratsiya: Win32 disk raskadrovka ------ 1> MathLibrary.cpp 1> dllmain.cpp 1> Kod yaratish … 1> C: / Users / foydalanuvchi nomi kutubxonasini yaratish / Source / Repos / MathLibrary / Debug / MathLibrary.lib va 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 (qisman PDB) ========= Qurilish: 1 ta muvaffaqiyat qozondi., 0 muvaffaqiyatsiz, 0 dolzarb, 0 o'tkazib yuborilgan ==========