Skip to main content

Thư viện tĩnh là gì?

Thư viện tĩnh là một kho lưu trữ máy tính chứa một nhóm các tệp liên quan để dễ dàng liên kết vào các chương trình.Nội dung của thư viện này thường là các tệp mã máy không thể đọc được bởi con người.Các tệp mã máy này thường được tạo từ biên dịch mã hoặc một quy trình tương tự.Hầu hết các hệ điều hành đều có phần mở rộng tiêu chuẩn cho các thư viện tĩnh, vì vậy chúng dễ dàng xác định bất kể kích thước hay nội dung. Hai loại thư viện máy tính khác nhau là tĩnh và động.Một thư viện tĩnh linh hoạt hơn một thư viện động vì đường dẫn chính xác của nó không liên quan đến thực thi sử dụng nó.Các thư viện tĩnh được liên kết thành một tệp thực thi và sau đó có thể bị xóa nếu cần thiết vì nội dung của chúng đã được đưa vào chương trình cuối cùng.Một thư viện động không thể bị xóa vì nội dung của nó được tải khi các hoạt động có thể thực thi, do đó các vị trí của nó liên quan đến thực thi và trong hệ điều hành là rất quan trọng.Liên kết tĩnh cho phép một thư viện được di chuyển hoặc sử dụng lại mà không quan tâm đến các đường dẫn vị trí tuyệt đối. Trái ngược với thư viện động, một thư viện tĩnh thường không thể tự thực hiện được.Trong C ++, các thư viện tĩnh thường hoạt động giống như các tệp đối tượng lớn và chúng có thể được liên kết thành các tệp thực thi theo cùng một cách các tệp đối tượng có thể và sau đó bị xóa mà không gây bất lợi cho chương trình.Mặc dù thường có thể từ bỏ một thư viện tĩnh, nhưng chúng thường hữu ích về mặt tổ chức.Đối với cả người dùng và nhà phát triển, thường dễ dàng có một tệp có chứa tài liệu liên quan hơn là có nhiều tệp nhỏ.Nhiều nhà phát triển xây dựng các thư viện tĩnh đặc biệt vì lợi ích tổ chức này. Xây dựng một thư viện tĩnh đơn giản hơn nhiều so với việc xây dựng một thư viện động.Nội dung của các thư viện tĩnh không được liên kết với nhau vì chúng không được tự mình tự chạy, vì vậy một sự lưu trữ đơn giản thường là đủ để tạo ra chúng.Tạo một thư viện tĩnh không liên kết đúng trong chính nó vốn không nguy hiểm miễn là thư viện được liên kết với bất kỳ tệp bên ngoài nào khác có thể cần thiết.Thư viện có thể phụ thuộc vào một nhóm các tệp đối tượng bên ngoài hoặc một thư viện có thể phụ thuộc vào một nhóm khác.Việc sử dụng và tổ chức các thư viện tĩnh thường là một lựa chọn cá nhân từ phía người lập trình chứ không phải là một yêu cầu, mặc dù tính di động vốn có của chúng thường khiến chúng trở thành một lựa chọn mong muốn.