Chúng thực sự là hai thuật ngữ cho cùng một điều.
Trong thế giới Unix, thuật ngữ liên kết động được sử dụng để biểu thị thành phần của hệ điều hành liên kết các thư viện động khi chạy, trong khi bộ nạp trên hầu hết các hệ thống khác thực hiện cả tải chương trình và liên kết các thư viện động.
Vì thư viện tải dưới hệ thống giống Unix được thực hiện bởi một thành phần riêng biệt (ld.so
thường xuyên nhất), trình liên kết động được coi là khác biệt so với trình tải chương trình. Trình biên dịch thường chèn một số mã sơ khai vào đầu tệp thực thi để tải ld.so
và ld.so
sẽ tiếp tục tải các thư viện phụ thuộc còn lại trước khi main
được gọi. Trong khi tải chương trình được thực hiện trong kernelspace, việc liên kết các thư viện động thường được thực hiện trong không gian người dùng.
Điều này không giống như Windows, nơi cả chương trình tải và liên kết thư viện động được thực hiện ở chế độ lõi.
Nguồn
2012-04-03 08:01:32
http://stackoverflow.com/questions/311882/what-do-statically-linked-and-dynamically-linked-mean/311889#311889 – Vijay
@peter cảm ơn! Nó đã giúp đỡ. –