Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Khác biệt giữa EXE và DLL trong C# và cách chúng được tạo ra

DLL - Thư viện liên kết động (Dynamic Link Library)

Khi một assembly được biên dịch dưới dạng thư viện lớp (class library) và cung cấp các kiểu dữ liệu cho các assembly khác sử dụng, nó sẽ có phần mở rộng file .dll (dynamic link library).

  • Không thể thực thi độc lập: DLL không thể chạy trực tiếp vì chúng được thiết kế để được tải và thực thi bởi các chương trình khác.
  • Chia sẻ tiến trình và bộ nhớ: DLL sẽ chia sẻ cùng tiến trình và không gian bộ nhớ của ứng dụng gọi nó.
  • Tái sử dụng cao: Chúng có thể được tái sử dụng cho các ứng dụng khác. Chỉ cần người lập trình biết tên và tham số của các hàm, thủ tục trong file DLL.

EXE - Định dạng file thực thi (Executable File)

Khi một assembly được biên dịch dưới dạng ứng dụng, nó sẽ có phần mở rộng file .exe.

  • Thực thi độc lập: EXE có thể chạy độc lập mà không cần ứng dụng chủ.
  • Tiến trình và bộ nhớ riêng: EXE tạo ra tiến trình và không gian bộ nhớ riêng biệt cho mình.

Tóm tắt sự khác biệt chính

Đặc điểmDLLEXE
Phần mở rộng.dll.exe
Chạy độc lậpKhôngCó
Tiến trìnhChia sẻ với callerTự tạo mới
Bộ nhớChia sẻRiêng biệt
Mục đíchThư viện dùng chungỨng dụng hoàn chỉnh