Có 2 cách liên kết:

Một phần của tài liệu Bài giảng lập trình C trên Windows - các khái niệm cơ bản (Trang 25)

ƒ Liên kết tĩnh (Static linking)

Spring 2004

C4W - DLL - Nguyen Tri Tuan - DH.KHTN Tp.HCM 5

Giới thiệu – Các loại thư viện  Thư viện liên kết tĩnh (Static linking library)

ƒ Dạng file: .LIB

ƒ Chứa mã lệnh nhịphân của các hàm thư viện

ƒ Dùng đểnhúng vào file chương trình khi thực hiện giai

đoạn liên kết (linking) của quá trình biên dịch

ƒ Trình biên dịch sẽ copy đoạn mã lệnh của hàm thư viện vào trong những module gọi

ƒ Ưu đim:

Dễthực hiện

Chương trình có thểchạy độc lập, không cần các file kèm theo

Chương trình sẽchạy nhanh hơn (nếu kích thước nhỏ)

Giới thiệu – Các loại thư viện…(tt)

 Thư viện liên kết tĩnh (tt)ƒ Khuyết đim: ƒ Khuyết đim:

Đoạn mã lệnh được nhúng vào file chương trình t kích thước chương trình lớn, tốn bộnhớ

Đoạn mã lệnh được nhúng vào nhiều file chương trình khác nhau tkhông tối ưu

Khi thay đổi hàm thư viện tphải biên dịch lại toàn bộ

Spring 2004

C4W - DLL - Nguyen Tri Tuan - DH.KHTN Tp.HCM 7

Giới thiệu – Các loại thư viện…(tt)

 Thư viện liên kết động (Dynamic linking library) ƒ Dạng file: .LIB và .DLL

ƒ File .Lib:

 Thư viện nhập (Import library).  Không chứa mã lệnh của các hàm,

 Chỉchứa các thông tin cần thiết đểHệđiều hành nạp thư viện DLL và xác định các hàm export trong DLL

 Sửdụng khi dùng cách thức load-time dynamic linking

ƒ File .DLL:

 Chứa mã lệnh nhịphân của các hàm thư viện  Được tải vào bộnhớkhi ứng dụng gọi hàm thư viện  Cần có khi thực hiện ứng dụng

ƒ Mã lệnh của các hàm sẽ không được nhúng vào trong file chương trình của ứng dụng

ƒ Ứng dụng chỉcần lưu thông tin của hàm thư viện, và khi cần, Hệđiều hành sẽtải các hàm thư viện vào bộnhớ Giới thiệu – Các loại thư viện…(tt)  Thư viện liên kết động (tt) ƒ Ưu đim: Kích thước của ứng dụng nhỏ Nhiều ứng dụng có thểdùng chung 1 DLL, do đó, tiết kiệm bộnhớ (thông thường, các ứng dụng có data riêng, nhưng có thểchia xẻmã lệnh)

Khi không còn sửdụng, có thểgiải phóng DLL khỏi bộnhớ

Khi cần nâng cấp, chchỉcần thay thếfile DLL, các file chương trình khác không bị ảnh hưởng

ƒ Khuyết đim:

Spring 2004

C4W - DLL - Nguyen Tri Tuan - DH.KHTN Tp.HCM 9

Giới thiệu - Định nghĩa DLL

 Là thư viện chứa các hàm và dữ liệu có thểđược gọi từ các module khác (module có thể

Một phần của tài liệu Bài giảng lập trình C trên Windows - các khái niệm cơ bản (Trang 25)

Tải bản đầy đủ (PDF)

(192 trang)