Liên kết động trong Linux và Windows (Phần 1)

Liên kết động trong Linux và Windows (Phần 1) Phần I Bài báo này thảo luận về khái niệm thư viện chia sẻ trong cả Windows và Linux. Đồng thời lướt qua các kiểu cấu trúc dữ liệu để giải thích liên kết động làm việc như thế nào trong các hệ điều hành này. Bài này rất hữu ích cho các nhà phát triển hứng thú nghiên cứu vấn đề về các hàm ẩn bảo mật, liên quan tới tốc độ liên kết động. Và cũng khẳng định một số kiến thức cơ bản về liên kết động đã được đưa. | V 1 Ấ . - V 1 A ni Ầ Liên kêt động trong Linux và Windows Phân 1 Phần I Bài báo này thảo luận về khái niệm thư viện chia sẻ trong cả Windows và Linux. Đồng thời lướt qua các kiểu cấu trúc dữ liệu để giải thích liên kết động làm việc như thế nào trong các hệ điều hành này. Bài này rất hữu ích cho các nhà phát triển hứng thú nghiên cứu vấn đề về các hàm ẩn bảo mật liên quan tới tốc độ liên kết động. Và cũng khẳng định một số kiến thức cơ bản về liên kết động đã được đưa ra trước đây. Phần một giới thiệu các khái niệm cho cả Linux và Windows nhưng cơ bản tập trung trên Linux. Lần tới trong phần hai chúng ta sẽ thảo luận chúng làm việc trong Windows như thế nào và sau đó là so sánh hai môi trường với nhau. Thư viện tĩnh và thư viện động Thư viện là một tập hợp các chương trình con cho phép mã chương trình được chia sẻ và thay đổi theo kiểu modul. Các chương trình chạy và thư viện liên hệ với nhau theo một tiến trình gọi là linking liên kết làm việc qua một cầu nối linker . Thư viện có thể chia thành hai loại thư viện tĩnh và thư viện chia sẻ. Thư viện tĩnh là một tập hợp các file kiểu đối tượng. Theo quy ước các file này có đuôi kết thúc là .a trong UNIX và . lib trong Windows. Khi một chương trình được liên kết ngược với một thư viện tĩnh mã máy từ các file đối tượng cho bất kì hàm mở rộng dùng trong chương trình sẽ được sao chép từ thư viện vào chương trình chạy cuối cùng. Ngược lại với thư viện tĩnh mã lệnh trong thư viện chia sẻ không giới hạn chương trình chạy tại thời gian liên kết. Phụ thuộc vào việc ghép địa chỉ lúc nào và như thế nào tiến trình liên kết có thể phân loại là prelinking load time linking implicit run-time linking và explicit run-time linking. Mã độc lập vị trí hay Win32 DDLs với .SO Các mã độc lập vị trí có thể được sao chép từ bất kì khu vực bộ nhớ nào sau đó chạy mà không cần thêm chỉnh sửa gì. Không giống như mã định vị lại vị trí đòi hỏi phải có một tiến trình đặc biệt là các cầu nối để có được vị trí và sự thực thi phù hợp. Win32 DLLs không

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.