ملفات DLL هي ملفات مكتبة مرتبطة ديناميكيًا تمت كتابتها والتحكم فيها باستخدام C ++. تجعل مكتبات DLL مشاركة التعليمات البرمجية وتخزينها وحفظها أمرًا بسيطًا. سيوضح لك هذا المقال كيفية إنشاء ملف DLL باستخدام Visual Studio أو تطبيق Windows أو Visual Studio لنظام التشغيل Mac. تأكد من تحديد "Desktop Development with C ++" عند التثبيت. إذا كان لديك بالفعل Visual Studio ولكن لم تحدد هذا المربع ، فيمكنك تشغيل المثبت مرة أخرى للتأكد من ذلك.
خطوات
الخطوة 1. افتح Visual Studio
يمكنك العثور عليه في قائمة ابدأ أو مجلد التطبيقات. نظرًا لأن DLL عبارة عن مكتبة معلومات ، فهي جزء واحد فقط من المشروع ، وعادة ما تتطلب تطبيقًا مصاحبًا للوصول إليها.
- يمكنك الحصول على Visual Studio لنظام التشغيل Windows هنا:
- يمكن تنزيل Visual Studio for Mac من هنا:
- ستستخدم ويكي هاو هذه التعليمات البرمجية التي توفرها Microsoft لشرح كيفية إنشاء ملف DLL.
الخطوة 2. انقر فوق ملف
ستجد هذا إما فوق مساحة المشروع (Windows) أو على طول الجزء العلوي من الشاشة (أجهزة Mac).
الخطوة 3. انقر فوق جديد و مشروع.
سيظهر مربع الحوار "إنشاء مشروع جديد".
الخطوة 4. قم بتعيين خيارات اللغة والنظام الأساسي ونوع المشروع
سيؤدي ذلك إلى تصفية أنواع قوالب المشروع التي تظهر.
انقر لغة للحصول على قائمة منسدلة وانقر فوق C ++.
الخطوة 5. انقر فوق النظام الأساسي للحصول على قائمة منسدلة وانقر فوق شبابيك.
الخطوة 6. انقر فوق نوع المشروع للحصول على قائمة منسدلة وانقر فوق مكتبة.
الخطوة 7. انقر فوق مكتبة الارتباط الديناميكي (DLL)
اختيارك سوف يبرز اللون الأزرق. انقر التالي لاستكمال.
الخطوة 8. اكتب اسمًا في مربع الاسم الخاص بالمشروع
على سبيل المثال ، اكتب "MathLibrary" في المربع للحصول على اسم عينة.
الخطوة 9. انقر فوق إنشاء
تم إنشاء مشروع DLL.
الخطوة 10. قم بإضافة ملف رأس إلى DLL
يمكنك القيام بذلك عن طريق النقر فوق "إضافة عنصر جديد" من "مشروع" في شريط القائمة.
- يختار مرئي C ++ من القائمة اليسرى لمربع الحوار.
- يختار ملف الرأس (.h) من وسط مربع الحوار.
- اكتب الاسم كـ "MathLibrary.h" في حقل الاسم أسفل خيارات القائمة.
- انقر يضيف لإنشاء ملف رأس فارغ.
الخطوة 11. اكتب الكود التالي في ملف الرأس الفارغ
// MathLibrary.h - يحتوي على إعلانات وظائف الرياضيات #pragma مرة #ifdef MATHLIBRARY_EXPORTS #define MATHLIBRARY_API _declspec (dllexport) #else #define MATHLIBRARY_API _declspec (dllimport) // aendif التسلسل n) هو {n = 0، a // {n = 1، b // {n> 1، F (n-2) + F (n-1) // لبعض القيم التكاملية الأولية a و b. // إذا تمت تهيئة التسلسل F (0) = 1 ، F (1) = 1 ، // فإن هذه العلاقة تنتج تسلسل فيبوناتشي المعروف //: 1 ، 1 ، 2 ، 3 ، 5 ، 8 ، 13 ، 21 ، 34 ، … // تهيئة تسلسل علاقة فيبوناتشي // بحيث F (0) = a ، F (1) = b. // يجب استدعاء هذه الوظيفة قبل أي وظيفة أخرى. خارجي "C" MATHLIBRARY_API باطل فيبوناتشي (ثابت بدون توقيع طويل أ طويل ، ثابت بدون توقيع طويل ب) ؛ // أنتج القيمة التالية في التسلسل. // يعود صحيحًا على النجاح ويحدّث القيمة الحالية والفهرس ؛ // خطأ عند الفائض ، يترك القيمة الحالية والفهرس دون تغيير. خارجي "C" MATHLIBRARY_API bool fibonacci_next () ؛ // احصل على القيمة الحالية في التسلسل. خارجي "C" MATHLIBRARY_API طويل بدون توقيع فيبوناكسي_كورينت () ؛ // احصل على موضع القيمة الحالية في التسلسل. خارجي "C" MATHLIBRARY_API غير موقعة fibonacci_index () ؛
الخطوة 12. أضف ملف CPP إلى DLL
يمكنك القيام بذلك عن طريق النقر فوق إضافة عنصر جديد من "مشروع" في شريط القائمة.
- حدد "Visual C ++" من القائمة اليسرى لمربع الحوار.
- حدد "ملف C ++ (.cpp)" من وسط مربع الحوار.
- اكتب الاسم كـ “MathLibrary.cpp” في حقل الاسم أسفل خيارات القائمة.
- انقر فوق إضافة لإنشاء ملف فارغ.
الخطوة 13. اكتب الكود التالي في الملف الفارغ
// MathLibrary.cpp: يحدد الوظائف التي تم تصديرها لـ DLL. # تضمين "stdafx.h" // استخدم pch.h في Visual Studio 2019 #include #include #include "MathLibrary.h" // متغيرات الحالة الداخلية لـ DLL: static unsigned long previous previous_؛ // القيمة السابقة ، إذا كانت هناك أي قيمة ثابتة طويلة غير موقعة _؛ // قيمة التسلسل الحالي ثابت غير موقعة index_ ؛ // الحالي التسلسل. position // تهيئة تسلسل علاقة Fibonacci // بحيث F (0) = a ، F (1) = b. // يجب استدعاء هذه الوظيفة قبل أي وظيفة أخرى. Fibonacci_init باطل (ثابت بدون إشارة طويل a طويل ، ثابت طويل بدون إشارة طويل ب) {index_ = 0 ؛ الحالي_ = أ ؛ السابق_ = ب ؛ // انظر حالة خاصة عند التهيئة} // إنتاج القيمة التالية في التسلسل. // يعود صحيحًا عند النجاح ، خطأ عند تجاوز السعة. bool fibonacci_next () {// تحقق لمعرفة ما إذا كنا قد تجاوزنا النتيجة أو الموضع إذا ((ULLONG_MAX - previous_ <current_) || (UINT_MAX == index_)) {return false؛ } // حالة خاصة عندما يكون الفهرس == 0 ، فقط قم بإرجاع قيمة b إذا (index_> 0) {// وإلا ، احسب قيمة التسلسل التالية previous_ + = current_؛ } الأمراض المنقولة جنسياً:: المبادلة (current_، previous_) ؛ ++ فهرس_ ؛ العودة صحيح } // احصل على القيمة الحالية في التسلسل. fibonacci_current () طويلة طويلة بدون توقيع {return current_؛ } // احصل على موضع الفهرس الحالي في التسلسل. fibonacci_index () غير الموقعة {return index_؛ }
الخطوة 14. انقر فوق إنشاء في شريط القوائم
ستجد هذا إما فوق مساحة المشروع (في نظام التشغيل Windows) أو على طول الجزء العلوي من الشاشة (أجهزة Mac).
الخطوة 15. انقر فوق إنشاء الحل
بعد النقر فوق ذلك ، من المفترض أن ترى نصًا مشابهًا لهذا:
1> ------ بدأ البناء: المشروع: MathLibrary ، التكوين: Debug Win32 ------ 1> MathLibrary.cpp 1> dllmain.cpp 1> إنشاء كود… 1> إنشاء مكتبة C: / Users / username / المصدر / Repos / MathLibrary / Debug / MathLibrary.lib والكائن 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 (Partial PDB) ========== نجح الإنشاء: 1 ، فشل 0 ، 0 محدث ، تم تخطي 0 ==========