ความแตกต่างระหว่าง DLL และ LIB
DLL vs LIB
ไลบรารีคือชุดของทรัพยากรที่สามารถใช้ในการพัฒนาแอ็พพลิเคชันได้ ห้องสมุดมักประกอบด้วย subroutines, functions, classes, values และ types ระหว่างกระบวนการเชื่อมโยง (โดยปกติจะทำโดย linker) ไลบรารีและ executables จะอ้างอิงถึงกันและกัน ไฟล์ไลบรารีถูกแบ่งออกเป็นไลบรารีแบบสแตติกและแบบไดนามิกขึ้นอยู่กับเวลาที่มีการโหลดโปรแกรมย่อยลงในแอ็พพลิเคชันเป้าหมาย ดังนั้นไลบรารีไฟล์ LIB เป็นไลบรารีแบบสแตติกและไฟล์ DLL จึงเป็นไลบรารีแบบไดนามิก
DLL คืออะไร?
ไลบรารีการเชื่อมโยงแบบไดนามิก (เรียกอีกอย่างว่า DLL) เป็นไลบรารีที่ใช้ร่วมกันซึ่งพัฒนาขึ้นโดย Microsoft ใช้. dll,. ocx หรือ DRV และมีการใช้งานในระบบปฏิบัติการ Microsoft Windows และ OS / 2 … dll ถูกใช้โดยไฟล์ DLL ปกติ และ. ส่วนขยาย OCX ถูกใช้โดยไลบรารีที่มีตัวควบคุม ActiveX และ ส่วนขยาย DRV ใช้กับไฟล์ไดรเวอร์ระบบเดิม รูปแบบไฟล์ DLL เหมือนกับไฟล์ Windows EXE (ไฟล์ปฏิบัติการแบบพกพาบน Windows 32 บิต / 64 บิตและใช้งานได้ใหม่บน Windows แบบ 16 บิต) ดังนั้นการรวมกันของโค้ดข้อมูลและรีซอร์สจะอยู่ในไฟล์ DLL (เช่นเดียวกับไฟล์ EXE) ไฟล์ที่มีรูปแบบไฟล์ DLL เรียกว่า resource DLLs ไลบรารีไอคอน (พร้อมนามสกุล. icl) และไฟล์แบบอักษร (มีนามสกุล. fon และ. fot) เป็นตัวอย่างของทรัพยากร DLL
ไฟล์ LIB เป็นไลบรารีแบบสแตติก (static libraries) ไฟล์ LIB ประกอบด้วยชุดย่อยของฟังก์ชันภายนอกและตัวแปรต่างๆ ไฟล์ไลบรารีจะได้รับการแก้ไขตามเวลาในการคอมไพล์ (เมื่อเทียบกับเวลารันไทม์) รหัสถูกคัดลอกไปยังแอ็พพลิเคชันเป้าหมายแล้ว คอมไพเลอร์เกอร์เกอร์หรือตัวประสานจะทำแบบนี้และสร้างไฟล์อ็อบเจ็กต์และไฟล์ปฏิบัติการ กระบวนการนี้เรียกว่ากระบวนการสร้างแบบคงที่
ไลบรารีไลบรารีสามารถเรียกได้ในระหว่างการคอมไพล์ แต่ไลบรารี DLL สามารถเรียกได้เฉพาะในช่วงรันไทม์เท่านั้นไฟล์ LIB มีขนาดใหญ่กว่าไฟล์ DLL อย่างมีนัยสำคัญ ปัญหาที่พบบ่อยเกี่ยวกับไฟล์ DLL คือปัญหาเกี่ยวกับเวอร์ชัน เกิดขึ้นเมื่อรหัสของ DLL มีการเปลี่ยนแปลงและโปรแกรมประยุกต์ใช้ DLL รุ่นที่ไม่ถูกต้อง นี่ไม่ใช่ปัญหาที่เกี่ยวข้องกับไฟล์ LIB ในแง่ของการนำมาใช้ใหม่เมื่อเขียนระบบเวอร์ชันใหม่หรือแอพพลิเคชันใหม่ที่สมบูรณ์ DLLs ดีกว่า LIBs เสมอ