Computer >> Máy Tính >  >> Hệ thống >> Windows

Tệp DLL là gì và chúng hoạt động như thế nào?

Tệp DLL là gì và chúng hoạt động như thế nào?

Tệp DLL là gì và chúng hoạt động như thế nào? Hầu hết chúng ta chỉ gặp tệp DLL khi một phần mềm nhất định không thể hoạt động do thiếu một số .dll tập tin. Sau lời nhắc này, chúng tôi truy cập trực tuyến để lấy tệp DLL đó, đặt nó vào thư mục thích hợp và chạy phần mềm. Và đó là nó - trường hợp đóng về tệp DLL.

Tuy nhiên, sẽ rất thú vị khi hiểu thêm về các tệp cụ thể này. Chúng có vẻ quan trọng, vì sự vắng mặt của chúng có thể ngăn phần mềm chạy, vậy chúng là gì? Và chúng hoạt động như thế nào? Hãy cùng tìm một số câu trả lời.

Tệp DLL?

Tệp DLL là gì và chúng hoạt động như thế nào?

Hầu hết mọi người, tại một số thời điểm, xử lý các tệp DLL, thường là khi một phần mềm mới được cài đặt không hoạt động vì một trong các tệp đó bị thiếu.

DLL là viết tắt của “Thư viện liên kết động” và là cách Microsoft triển khai khái niệm thư viện chia sẻ trong hệ điều hành Microsoft Windows và OS / 2. Về cơ bản chúng giống như EXE, nhưng được đặt tên khác nhau để tạo sự rõ ràng trong quá trình liên kết. Tuy nhiên, các tệp DLL không thể được thực thi trực tiếp, do đó, sự tồn tại của các công cụ như rundll.exe rundll32.exe .

Các tệp DLL không gì khác hơn là một phương tiện để các nhà phát triển sử dụng mã và dữ liệu được chia sẻ, cho phép nâng cấp các chức năng mà không cần phải liên kết lại hoặc biên dịch lại các ứng dụng. Nói cách khác, tệp DLL chứa mã và dữ liệu được sử dụng bởi một số ứng dụng khác nhau. Một tệp DLL duy nhất có thể được sử dụng bởi các ứng dụng khác nhau, nếu họ cần nó, loại bỏ nhu cầu về nhiều bản sao của cùng một thông tin.

Tệp DLL hoạt động như thế nào?

Tệp DLL là gì và chúng hoạt động như thế nào?

Hãy tưởng tượng hai tệp riêng biệt:“example.exe”, một tệp thực thi chung và “library.dll”, một DLL được tệp thực thi đó sử dụng. Hệ điều hành kết nối những tệp đó như thế nào khi “example.exe” chạy?

Khi “example.exe” chạy, hệ điều hành tải nó và tìm thấy một bảng dữ liệu bên trong nó, cho biết rằng (rõ ràng không phải bằng lời) “chương trình này sử dụng danh sách các hàm sau từ thư viện tệp DLL.dll,” là về mặt kỹ thuật được gọi là “nhập khẩu” hoặc “chức năng đã nhập” từ DLL “library.dll” trong chương trình “example.exe.”

Sau đó, mã trình tải tìm kiếm “library.dll” và nếu tìm thấy thì tệp sẽ được tải. Bên trong tệp DLL này, có một danh sách khác, được gọi là “danh sách xuất”, kết nối các địa chỉ cụ thể với từng chức năng bên trong tệp DLL. Từ thời điểm này, khi “example.exe” cần gọi một hàm từ “library.dll”, nó chỉ cần sử dụng địa chỉ đó.

Cách lấy và lưu trữ tệp DLL

Tệp DLL là gì và chúng hoạt động như thế nào?

Khi một phần mềm nhất định thiếu tệp DLL, cách tiếp cận thông thường là tìm kiếm tệp đó trực tuyến và lưu trữ trong ổ cứng của chúng tôi. Nó sẽ hoạt động nếu bạn đặt DLL bên trong thư mục của phần mềm, nhưng như tôi đã giải thích ở trên, một số phần mềm có thể cần tệp đó, vì vậy tốt hơn nên lưu trữ ở nơi tất cả họ có thể truy cập - và đó là thư mục “System32” (C :\ Windows \ System32). Người dùng x64 cũng nên sao chép tệp DLL vào “C:\ Windows \ SysWOW64” (cả hai hoạt động này đều cần có đặc quyền của Quản trị viên để được thực hiện).

Tuy nhiên, phương pháp này không được khuyến khích bởi tất cả mọi người, vì nó có thể mang lại một số rủi ro như DLL lỗi thời, nhiễm vi rút, v.v. Theo kinh nghiệm cá nhân của tôi, tôi chưa bao giờ gặp sự cố với tệp DLL (tôi thường lấy chúng từ trang web này, nhưng hãy chắc chắn chọn tùy chọn “Tải xuống tệp Zip” để tránh phần mềm của bên thứ ba), vì vậy cuối cùng tất cả đều sở thích cá nhân.

Bạn có biết thông tin này về tệp DLL không? Có điều gì quan trọng còn thiếu trong bài viết này? Hãy cho chúng tôi biết trong phần bình luận.