โปรดอธิบายแนวคิดพื้นฐานของไฟล์ DLL และการลงทะเบียนใน Windows


7

DLL คืออะไร คอมพิวเตอร์ของเราทำอะไรอยู่ ทำไมเราต้องลงทะเบียน? การลงทะเบียน DLL เป็นกระบวนการทั่วไปของคำสั่งเดียวหรือไม่ นี่คือการติดตั้ง / ลงทะเบียนขณะที่เรากำลังติดตั้งซอฟต์แวร์หรือไม่?


5
ใช่มันเป็นคำถามที่ถูกกฎหมายแม้ว่าจะเป็นคำถามขั้นพื้นฐานก็ตาม แต่ไม่มีอะไรผิดปกติกับคำถามพื้นฐาน

คุณอาจมีไวรัส คุณสแกนเสร็จแล้วหรือยัง และอะไรคือข้อผิดพลาดในการลงทะเบียนที่คุณเห็น?
goblinbox

โหวตขึ้นเพราะในขณะที่มันเป็นคำถามพื้นฐานมันเป็นหนึ่งที่ฉันไม่ทราบคำตอบและฉันถือว่า "คนไอที" ในสำนักงาน
Miller86

คำตอบ:


7

ที่กำลังเป็นห้องสมุดเชื่อมโยงแบบไดนามิก:

ไลบรารี Dynamic-link หรือ DLL เป็นการดำเนินการตามแนวคิดของไลบรารีที่ใช้ร่วมกันของ Microsoft ในระบบปฏิบัติการ Microsoft Windows และ OS / 2 ไลบรารีเหล่านี้มักจะมีไฟล์นามสกุล DLL, OCX (สำหรับไลบรารีที่มีตัวควบคุม ActiveX) หรือ DRV (สำหรับไดรเวอร์ระบบดั้งเดิม)

ดูห้องสมุด Dynamic-linkใน Wikipedia


4

dll ย่อมาจาก "Dynamic Link Library" ชื่อหมายถึงมันเป็นชุดของฟังก์ชั่น (libray) ที่เชื่อมโยงกับโปรแกรมของคุณแบบไดนามิกระหว่างรันไทม์ (เทียบกับการเชื่อมโยงแบบคงที่) dll โดยทั่วไปมีฟังก์ชั่นเท่านั้น "Modern" .NET dll มีวัตถุ. NET ปกติ

ที่กำลังสามารถลงทะเบียน กระบวนการนี้ (เช่น regsvr32 N: \ ame.dll) ทำให้ dll นี้เป็นที่รู้จักสำหรับระบบปฏิบัติการ อีกทางเลือกหนึ่ง dll สามารถอยู่ในไดเรกทอรีเดียวกันเป็นไฟล์ปฏิบัติการหรือในไดเรกทอรีใน Path ทางเลือกที่สองคือการโหลด dll ผ่าน Windows API (LoadLibrary ())

ขั้นตอนปกติคือการลงทะเบียน dll ในระหว่างการติดตั้งหรือเพียงแค่คัดลอกไว้ในไดเรกทอรีเดียวกันกับไฟล์ที่เรียกใช้งานได้


3

dll เป็นไลบรารีของฟังก์ชันที่โปรแกรมอื่นสามารถใช้งานได้ ไม่จำเป็นต้องลงทะเบียน dll ทั้งหมดที่มีผลกับผู้ที่แสดง fuctionality เป็นวัตถุCOMเท่านั้น

Dll สามารถมาจากหลายสถานที่ มีจำนวนของพวกเขาที่ทำขึ้น Windows เช่นนี้คนอื่นมาเป็นส่วนหนึ่งของซอฟต์แวร์ต่างๆที่คุณติดตั้ง ตัวอย่างเช่น Microsoft Office จะลงทะเบียน DLLs ที่แสดงอินเตอร์เฟส COM ที่อนุญาตให้แอปพลิเคชันอื่น ๆ รวมฟังก์ชันการทำงานจากแอปพลิเคชัน Office


2

โปรแกรมคือชุดคำสั่ง โดยปกติคอมพิวเตอร์จะอ่านและดำเนินการตามคำแนะนำทีละรายการเป็นลำดับ

นี่เป็นสิ่งที่ยอดเยี่ยม แต่โปรแกรมส่วนใหญ่จะทำงานเดียวกันหลาย ๆ ครั้งหรืองานเดียวกันที่มีการเปลี่ยนแปลงเล็กน้อยในเวลาต่างๆ แทนที่จะเขียนคำแนะนำของงานว่ากว่าและมากกว่าตัวเลือกที่ใช้ได้กับโปรแกรมเมอร์คือการจัดแพคเกจคำแนะนำเหล่านั้นเป็นงานย่อยหรือฟังก์ชั่น

จากนั้นแทนที่จะคัดลอกคำแนะนำซ้ำไปซ้ำมาคุณบอกให้โปรแกรมเรียกใช้ฟังก์ชันนั้นและประหยัดพื้นที่ การเชื่อมโยงเชื่อมโยงฟังก์ชันนี้กับสถานที่ทั้งหมดที่เรียกใช้ในโปรแกรมเมื่อมีการสร้างโปรแกรม โปรแกรมยังง่ายต่อการบำรุงรักษาเนื่องจากหากคุณต้องการเปลี่ยนงานนั้นคุณสามารถเปลี่ยนได้ในที่เดียวไม่ใช่โปรแกรมทั้งหมด

โปรแกรมส่วนใหญ่มีฟังก์ชั่นที่ใช้ภายในโปรแกรมนั้น พวกเขาเป็นส่วนหนึ่งของโปรแกรมนั้นโหลดด้วยและเข้าถึงได้เฉพาะโปรแกรมนั้น

แต่ถ้าคุณมีฟังก์ชั่นที่ยอดเยี่ยม (เช่นที่ใช้วันที่และส่งคืนวันในสัปดาห์) และต้องการใช้ในโปรแกรมที่แตกต่างกัน? Dynamic Link Librariesหรือไฟล์. dll ใน Windows อนุญาตสิ่งนี้ มันเรียกว่าการเชื่อมโยงแบบไดนามิกเพราะการเชื่อมโยงเกิดขึ้นที่รันไทม์เมื่อมีการโหลดโปรแกรมแทนที่จะเป็นเวลาสร้างเมื่อมีการรวบรวม (ในกรณีนี้มันเรียกว่าการเชื่อมโยงแบบคงที่ )

คุณสามารถจัดแพคเกจฟังก์ชันใน. dll เฉพาะแล้วบอกโปรแกรมหลักของคุณที่คุณต้องการใช้หรือนำเข้าฟังก์ชั่นจาก. dll นั้น

ตอนนี้ถ้าคุณต้องการอัปเดตสิ่งที่ฟังก์ชั่นนั้นทำหรือแก้ไขข้อผิดพลาดคุณอยู่ในสถานการณ์ที่ดียิ่งขึ้นเนื่องจากสิ่งที่คุณต้องทำคือเปลี่ยนฟังก์ชั่นในไฟล์เดียวและทุกโปรแกรมที่ใช้มันจะถูกอัพเดตโดยอัตโนมัติ ข้อเสียคือตอนนี้โปรแกรมของคุณขึ้นอยู่กับไฟล์อื่นเพื่อให้ทำงานได้อย่างถูกต้อง โดยปกติแล้วข้อดีที่เกินดุลข้อเสียสำหรับทุกสิ่งยกเว้นโปรแกรมกู้คืนระบบฉุกเฉินที่จำเป็นต้องใช้เมื่อคุณไม่สามารถโหลดอะไรจากดิสก์และเช่นนั้น


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.