ไฟล์ DLL เป็นไฟล์ไลบรารีที่เชื่อมโยงแบบไดนามิกที่เขียนและควบคุมด้วย C ++ DLL ทำให้การแบ่งปัน จัดเก็บ และบันทึกโค้ดของคุณเป็นเรื่องง่าย บทความวิกิฮาวนี้จะแนะนำวิธีการสร้างไฟล์ DLL ด้วย Visual Studio, แอพพลิเคชั่น Windows หรือ Visual Studio สำหรับ Mac ตรวจสอบให้แน่ใจว่าคุณได้เลือก “การพัฒนาเดสก์ท็อปด้วย C ++” เมื่อคุณติดตั้ง หากคุณมี Visual Studio อยู่แล้ว แต่ไม่ได้เลือกช่องนั้น คุณสามารถเรียกใช้โปรแกรมติดตั้งอีกครั้งเพื่อให้แน่ใจว่าคุณได้ดำเนินการ
ขั้นตอน
ขั้นตอนที่ 1 เปิด Visual Studio
คุณสามารถค้นหาได้ในโฟลเดอร์ Start Menu หรือ Applications เนื่องจาก DLL เป็นไลบรารีข้อมูล จึงเป็นเพียงส่วนหนึ่งของโปรเจ็กต์ และมักจะต้องใช้แอปที่มาพร้อมเครื่องเพื่อเข้าถึง
- คุณสามารถรับ Visual Studio สำหรับ Windows ได้ที่นี่:
- สามารถดาวน์โหลด Visual Studio สำหรับ Mac ได้ที่นี่:
- วิกิฮาวนี้จะใช้โค้ดที่ Microsoft ให้มาเพื่ออธิบายวิธีสร้างไฟล์ DLL
ขั้นตอนที่ 2 คลิกไฟล์
คุณจะพบสิ่งนี้เหนือพื้นที่โปรเจ็กต์ (Windows) หรือด้านบนของหน้าจอ (Mac)
ขั้นตอนที่ 3 คลิกใหม่ และ โครงการ.
กล่องโต้ตอบ "สร้างโครงการใหม่" จะปรากฏขึ้น
ขั้นตอนที่ 4 ตั้งค่าตัวเลือกสำหรับภาษา แพลตฟอร์ม และประเภทโครงการ
สิ่งเหล่านี้จะกรองชนิดของเทมเพลตโครงการที่ปรากฏ
คลิก ภาษา เพื่อรับเมนูแบบเลื่อนลงและคลิก C++.
ขั้นตอนที่ 5. คลิก แพลตฟอร์ม เพื่อรับเมนูแบบเลื่อนลงและคลิก วินโดว์.
ขั้นตอนที่ 6 คลิกประเภทโครงการ เพื่อรับเมนูแบบเลื่อนลงและคลิก ห้องสมุด.
ขั้นตอนที่ 7 คลิก Dynamic-link Library (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) #endif // ความสัมพันธ์ Fibonacci อธิบายลำดับ F // n) คือ { n = 0, a // { n = 1, b // { n > 1, F(n-2) + F(n-1) // สำหรับค่าอินทิกรัลเริ่มต้นบางค่า a และ b // หากลำดับเริ่มต้น F(0) = 1, F(1) = 1, // ดังนั้นความสัมพันธ์นี้จะสร้าง Fibonacci ที่รู้จักกันดี // ลำดับ: 1, 1, 2, 3, 5, 8, 13, 21, 34, … // เริ่มต้นลำดับความสัมพันธ์ฟีโบนักชี // โดยที่ F(0) = a, F(1) = b // ฟังก์ชั่นนี้ต้องถูกเรียกก่อนฟังก์ชั่นอื่น extern "C" MATHLIBRARY_API เป็นโมฆะ fibonacci_init (const unsigned long long a, const unsigned long long b); // สร้างค่าถัดไปในลำดับ // คืนค่าจริงเมื่อสำเร็จและอัปเดตค่าปัจจุบันและดัชนี // false เมื่อล้นออกจากค่าปัจจุบันและดัชนีไม่เปลี่ยนแปลง ภายนอก "C" MATHLIBRARY_API บูล fibonacci_next(); // รับค่าปัจจุบันในลำดับ extern "C" MATHLIBRARY_API ไม่ได้ลงนามยาว fibonacci_current(); // รับตำแหน่งของค่าปัจจุบันในลำดับ ภายนอก "C" MATHLIBRARY_API ไม่ได้ลงนาม fibonacci_index();
ขั้นตอนที่ 12. เพิ่มไฟล์ CPP ลงใน DLL
คุณสามารถทำได้โดยคลิกเพิ่มรายการใหม่จาก "โครงการ" ในแถบเมนู
- เลือก "Visual C++" จากเมนูด้านซ้ายของกล่องโต้ตอบ
- เลือก “ไฟล์ C++ (.cpp)” จากกึ่งกลางของกล่องโต้ตอบ
- พิมพ์ชื่อเป็น “MathLibrary.cpp” ในช่องชื่อด้านล่างตัวเลือกเมนู
- คลิกเพิ่มเพื่อสร้างไฟล์เปล่า
ขั้นตอนที่ 13 พิมพ์รหัสต่อไปนี้ลงในไฟล์เปล่า
// MathLibrary.cpp: กำหนดฟังก์ชันที่ส่งออกสำหรับ DLL #include "stdafx.h" // ใช้ pch.h ใน Visual Studio 2019 #include #include #include "MathLibrary.h" // ตัวแปรสถานะภายในของ DLL: static unsigned long long Previous_; // ค่าก่อนหน้า หากมีค่าคงที่ unsigned long long current_; // ค่าลำดับปัจจุบันคง unsigned index_; // ลำดับปัจจุบัน ตำแหน่ง // เริ่มต้นลำดับความสัมพันธ์ฟีโบนักชี // โดยที่ F(0) = a, F(1) = b // ฟังก์ชันนี้ต้องถูกเรียกก่อนฟังก์ชันอื่น เป็นโมฆะ fibonacci_init (const unsigned long long a, const unsigned long long b) { index_ = 0; ปัจจุบัน_ = ก; ก่อนหน้า_ = ข; // ดูกรณีพิเศษเมื่อเริ่มต้น } // สร้างค่าถัดไปในลำดับ // คืนค่าจริงเมื่อสำเร็จ คืนค่าเท็จเมื่อโอเวอร์โฟลว์ bool fibonacci_next () { // ตรวจสอบเพื่อดูว่าเราจะล้นผลลัพธ์หรือตำแหน่งหรือไม่ ((ULLONG_MAX - ก่อนหน้า_ <current_) || (UIT_MAX == index_)) { return false; } // กรณีพิเศษเมื่อ index == 0 เพียงแค่คืนค่า b ถ้า (index_ > 0) { // มิฉะนั้น คำนวณค่าลำดับถัดไป Previous_ += current_; } std::swap(current_, Previous_); ++ดัชนี_; คืนค่าจริง; } // รับค่าปัจจุบันในลำดับ fibonacci_current ยาวที่ไม่ได้ลงนาม () { ส่งคืนปัจจุบัน _; } // รับตำแหน่งดัชนีปัจจุบันตามลำดับ fibonacci_index ที่ไม่ได้ลงนาม () { ดัชนีผลตอบแทน _; }
ขั้นตอนที่ 14. คลิกสร้างในแถบเมนู
จะอยู่เหนือพื้นที่โปรเจ็กต์ (Windows) หรือด้านบนของหน้าจอ (Mac)
ขั้นตอนที่ 15 คลิก สร้างโซลูชัน
หลังจากที่คุณคลิก คุณจะเห็นข้อความลักษณะนี้:
1>------ เริ่มสร้าง: โครงการ: MathLibrary การกำหนดค่า: Debug Win32 ------ 1>MathLibrary.cpp 1>dllmain.cpp 1> กำลังสร้างรหัส… 1> การสร้างไลบรารี C:\Users\username \Source\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 ข้าม ==========