DLL fayllari C ++ dasturlash tili orqali yoziladigan va boshqariladigan dinamik bog'langan kutubxona fayllari. DLL fayllari kodni almashish va saqlash jarayonini soddalashtiradi. Bu wikiHow sizga Visual Studio, Windows ilovalari yoki Mac uchun Visual Studio yordamida DLL faylini yaratishni o'rgatadi. Dasturni o'rnatish jarayonida "C ++ bilan ish stolini ishlab chiqish" variantini tekshirganingizga ishonch hosil qiling. Agar sizda allaqachon Visual Studio dasturi bo'lsa, lekin bu variantni belgilamasangiz, qutini belgilash mumkinligiga ishonch hosil qilish uchun o'rnatish faylini qayta ishga tushirishingiz kerak bo'ladi.
Qadam
Qadam 1. Visual Studio -ni oching
Siz ushbu dasturni "Ishga tushirish" menyusida yoki "Ilovalar" papkasida topishingiz mumkin. DLL fayli axborot kutubxonasi bo'lgani uchun, bu loyihaning "qismi" bo'lib, odatda unga qo'shimcha dasturga kirishni talab qiladi.
- Siz Windows uchun Visual Studio dasturini ushbu saytdan yuklab olishingiz mumkin:
- Mac uchun Visual Studio dasturini bu yerdan yuklab olish mumkin:
- Bu wikiHow DLL faylini yaratishni tushuntirish uchun Microsoft tomonidan berilgan koddan foydalanadi.
Qadam 2. bosing Fayl
Ushbu yorliq loyiha maydonining yuqori qismida (Windows) yoki ekranning yuqori qismida (Mac) joylashgan.
Qadam 3. Yangi bosing va Loyihalar.
"Yangi loyiha yaratish" muloqot oynasi paydo bo'ladi.
Qadam 4. "Til", "Platforma" va "Loyiha turi" jihatlari uchun variantlarni ko'rsating
Bu jihatlar ko'rsatiladigan loyiha andozalarini filtrlaydi.
Bosing " Til "Ochiladigan menyuni ochish uchun" tugmasini bosing va C ++ ”.
Qadam 5. "Platformalar "Ochiladigan menyuni ochish uchun" tugmasini bosing va Windows ".
Qadam 6. "Loyiha turi "Ochiladigan menyuni ochish uchun" ni tanlang va Kutubxonalar ".
Qadam 7. Dinamik havola kutubxonasini (DLL) bosing
Tanlovlar ko'k rang bilan belgilanadi. Bosing " Keyingi "davom etish uchun.
Qadam 8. "Ism qutisi" maydoniga loyiha nomini kiriting
Masalan, ustun nomi "MathLibrary" ni misol nomi sifatida kiritishingiz mumkin.
Qadam 9. Yaratish -ni bosing
DLL loyihasi yaratiladi.
Qadam 10. DLL loyihasiga sarlavha faylini qo'shing
Siz uni "Loyiha" menyusidagi "Yangi element qo'shish" tugmasini bosish orqali qo'shishingiz mumkin.
- Tanlang " Visual C ++ "Dialog oynasining chap tomonidagi menyudan.
- Tanlang " Fayl sarlavhalari (.h) "Dialog oynasining o'rtasidan.
- Menyu parametrlari ostidagi ism maydoniga, masalan, "MathLibrary.h" nomini kiriting.
- Bosing " Qo'shish "Bo'sh sarlavha faylini yaratish.
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 ncFibr)) 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. CPP faylini DLL loyihasiga qo'shing
Siz uni "Loyiha" menyusidagi "Yangi element qo'shish" tugmasini bosish orqali qo'shishingiz mumkin.
- Muloqot oynasining chap tomonidagi menyudan "Visual C ++" ni tanlang.
- Muloqot oynasining markazidan "C ++ fayli (.cpp)" -ni tanlang.
- Menyu parametrlari ostidagi ism maydoniga "MathLibrary.cpp" nomini kiriting.
- Bo'sh fayl yaratish uchun "Qo'shish" tugmasini 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 () {// natijani 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, oldingi 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
Ushbu parametr loyiha maydonining yuqori qismida (Windows) yoki ekranning yuqori qismida (Mac) joylashgan.
15 -qadam. Yechim yaratish -ni bosing
Variant bosilgandan so'ng siz quyidagi matnni ko'rishingiz mumkin:
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 ==========