2013-03-07 37 views
5

Sự khác nhau giữa tệp DLL và tệp LIB là gì? Có gì bên trong tệp DLL và nội dung bên trong tệp LIB? Có phải cả tệp DLL và LIB cần thiết để tạo tệp thi hành không?Tệp DLL và LIB

Trả lời

7

Tệp DLL là sản phẩm xây dựng cuối cùng, đó là những gì bạn cài đặt trên máy của khách hàng. Nó rất giống với một tệp tin EXE, cùng một cấu trúc, nhưng có thể được nạp theo yêu cầu vào một chương trình khác.

Tệp LIB được sử dụng để tạo chương trình của bạn, tệp này chỉ tồn tại trên máy xây dựng của bạn và bạn không gửi. Có hai loại. Một thư viện liên kết tĩnh là một tập tin .obj, được thu thập thành một tệp duy nhất. Trình liên kết chọn bất kỳ đoạn mã nào từ tệp khi nó cần giải quyết một mã định danh bên ngoài.

Nhưng có liên quan hơn đến tệp DLL, tệp LIB cũng có thể là thư viện nhập. Sau đó nó là một tệp nhỏ đơn giản bao gồm tên của tệp DLL và danh sách tất cả các hàm được xuất bởi tệp DLL. Bạn sẽ cần phải cung cấp nó cho trình liên kết khi bạn xây dựng một chương trình sử dụng DLL để nó biết rằng một định danh bên ngoài thực sự là một hàm được xuất bởi tệp DLL. Trình liên kết sử dụng thư viện nhập để thêm các mục nhập vào bảng nhập khẩu cho EXE. Đó là sau đó lần lượt được sử dụng bởi Windows tại thời gian chạy để tìm ra những gì DLL cần phải được nạp để chạy chương trình.

Các vấn đề liên quan