DLL คือโค้ดที่เก็บไว้ในไฟล์ที่มีนามสกุล.dll แอปพลิเคชันอื่นสามารถใช้โค้ดบางส่วนได้ แต่ไลบรารีไม่ใช่แอปพลิเคชันเอง โดยพื้นฐานแล้ว ไลบรารีที่เชื่อมโยงแบบไดนามิกคือชุดของฟังก์ชันที่คอมไพล์ อย่างไรก็ตาม ไลบรารีดังกล่าวมีลักษณะเฉพาะหลายประการ - ตัวอย่างเช่น หากแอปพลิเคชันบางตัวถูกเรียกใช้งานพร้อมกันในระบบ และใช้ฟังก์ชันที่อยู่ใน DLL เดียวกัน จะมีเพียงหนึ่งไลบรารีเท่านั้นที่จะอยู่ในหน่วยความจำอย่างถาวร - วิธีนี้ช่วยให้ใช้งานได้อย่างประหยัด หน่วยความจำ.
จำเป็น
คอมไพเลอร์
คำแนะนำ
ขั้นตอนที่ 1
สร้างโครงการใหม่ในคอมไพเลอร์โดยเลือกรายการเมนู "ไฟล์", "ใหม่", "Library dll" ตามลำดับ โครงการจะถูกสร้างขึ้นด้วยเนื้อหาต่อไปนี้: "intWINAPI_Dll_Entry_Point (HINSTANCE_hinst_unsignedlong {return 1;}"
ขั้นตอนที่ 2
นอกจากนี้ จะมีคำเตือนความคิดเห็นที่ยืดเยื้อว่าเพื่อให้ไลบรารีทำงานได้ จะต้องระบุ.dll จำนวนหนึ่ง โดยมีเงื่อนไขว่าอินสแตนซ์ของคลาส String จะถูกใช้งาน ในการนำเข้าและส่งออกจาก DLL คุณต้องใช้ตัวแก้ไข _import และ _export ตามลำดับ นอกจากนี้ ขึ้นอยู่กับรุ่นของคอมไพเลอร์ อนุญาตให้ใช้คำหลักใหม่ _delspec () กับพารามิเตอร์ dllimport และ dllexport ตามลำดับ
ขั้นตอนที่ 3
ในการส่งออกฟังก์ชันจากไลบรารี คุณจะต้องมีไฟล์ส่วนหัวที่มีคำอธิบาย _delspec (dllexport) สำหรับฟังก์ชันที่ส่งออก ในการนำเข้าฟังก์ชันไปยังแอปพลิเคชัน ผู้ใช้จะต้องติดตั้งไฟล์ส่วนหัวที่คล้ายกัน แต่มี _delspec (dllimport) คำอธิบายซึ่งอาจทำให้เกิดความไม่สะดวก ปัญหานี้สามารถแก้ไขได้ง่าย: เพิ่มสิ่งต่อไปนี้ในไฟล์ส่วนหัวของไลบรารี: “#ifdefined (BUILDDLL); # defineDLL_EXP_declspec (dllexport); # else; #ifdefined (BUILDAPP); # defineDLL_EXP_declspec (dllimport); # else; #defineDLL_EXP; #เอนดิฟเอนดิฟ.
ขั้นตอนที่ 4
รวบรวมโครงการ หากคุณกด "เรียกใช้" หลังจากสร้างเสร็จแล้ว คอมไพเลอร์จะแสดงข้อความเกี่ยวกับความเป็นไปไม่ได้ในการรันโปรแกรม ตอนนี้ควรเขียนแอปพลิเคชันการโทร ในไดเรกทอรีเดียวกัน สร้างโครงการใหม่ (ไฟล์ / NewApplication) วางปุ่มในแบบฟอร์มและสร้างตัวจัดการ OnClick
ขั้นตอนที่ 5
หลังจากนั้น เหลือเพียงเปิดโครงการและเพิ่มไฟล์.lib จากโครงการก่อนหน้าด้วย DLL (คลิกขวา "เพิ่มรายการ") แล้วเริ่มโครงการ