Hội vs DLL
Thư viện là một tập hợp các tài nguyên có thể được sử dụng để phát triển các ứng dụng. Một thư viện thường được tạo thành từ chương trình con, hàm, lớp, giá trị và kiểu. Trong quá trình liên kết (thường được thực hiện bởi một trình liên kết), các thư viện và tệp thực thi tạo tham chiếu cho nhau. Tệp DLL là các tệp thư viện được liên kết động. DLL được phát triển bởi Microsoft. Nhưng do một số vấn đề hiện tại với các tệp DLL, Microsoft đã đưa ra định dạng tệp hội (với khung .NET). Các tập tin hội rất giống với DLL về mặt vật lý, nhưng chúng có nhiều điểm khác biệt bên trong.
DLL là gì?
Thư viện liên kết động (thường được gọi là DLL) là một triển khai thư viện dùng chung được phát triển bởi Microsoft. Nó sử dụng các phần mở rộng dll, .ocx hoặc .drv và chúng được sử dụng trong các hệ điều hành Microsoft Windows và OS / 2. Và phần mở rộng .ocx được sử dụng bởi các thư viện có chứa các điều khiển ActiveX và phần mở rộng .drv được sử dụng bởi các tệp trình điều khiển hệ thống cũ. Định dạng tệp DLL giống như các tệp Windows EXE (Các tệp thực thi di động trên Windows 32 bit / 64 bit và Thực thi mới trên Windows 16 bit). Do đó, mọi kết hợp mã, dữ liệu và tài nguyên đều có thể được chứa trong các tệp DLL (giống như trong các tệp EXE). Trên thực tế, các tệp dữ liệu có định dạng tệp DLL được gọi là DLL tài nguyên. Các thư viện biểu tượng (có phần mở rộng .icl) và tệp phông chữ (với phần mở rộng .fon và .fot) là ví dụ về DLL tài nguyên.
Các thành phần được gọi là các phần tạo nên một DLL và mỗi phần có các thuộc tính riêng như chỉ đọc / ghi và thực thi / không thể thực thi. Các phần mã có thể thực thi được, trong khi các phần dữ liệu không thể thực thi được. Các phần mã được chia sẻ và phần dữ liệu là riêng tư. Điều đó có nghĩa là tất cả các quy trình sử dụng DLL sẽ sử dụng cùng một bản sao của mã, trong khi mỗi quy trình sẽ có bản sao dữ liệu riêng. Thư viện động chính cho Windows là kernel32.dll, chứa các hàm cơ bản (chức năng liên quan đến tệp và bộ nhớ) trên Windows. COM (Mô hình đối tượng thành phần) là phần mở rộng của DLL thành OOP (Lập trình hướng đối tượng). DLL thông thường dễ sử dụng hơn tệp COM.
Hội là gì?
Các tệp hội được Microsoft giới thiệu để giải quyết một số vấn đề hiện tại với các tệp DLL. Các tệp hội được giới thiệu với Microsoft .NET framework. Một đơn vị logic thực thi của chức năng được gọi là một hội. Các hội đồng được thực thi theo .NET CLR (Thời gian chạy ngôn ngữ chung). Về mặt vật lý, các hội đồng tồn tại dưới dạng tệp EXE hoặc DLL. Nhưng, chúng rất khác với Microsoft Win32 DLL, trong nội bộ. Một tệp lắp ráp được tạo thành từ một bảng kê khai, siêu dữ liệu, MISL (mã ngôn ngữ trung gian của Microsoft) và các tài nguyên khác. Một hội nghị là tự mô tả. Tệp kê khai chứa thông tin như tên, phiên bản, văn hóa, tên mạnh, danh sách tệp, loại và phụ thuộc. Mã MISL được thực thi thông qua CLR (không thể thực thi trực tiếp).
Sự khác biệt giữa hội và DLL là gì?
DLL là một thư viện liên kết động. Mặc dù, các hội đồng có thể chất tương đương với DLL, nhưng chúng rất khác nhau trong nội bộ. Không thể duy trì tính nhất quán giữa một tập hợp DLL, nhưng CLR có thể duy trì tính nhất quán giữa một tập hợp, bởi vì các tập hợp là tự mô tả (chúng chứa danh sách các phụ thuộc bên trong). Không giống như DLL, thông tin phiên bản được thi hành cho các cụm (bởi CLR). Có thể triển khai song song (các ứng dụng khác nhau sử dụng các phiên bản khác nhau) với các hội đồng.