Tương đương dll của MacOS


9

vì vậy, một DLL tương tự như một thư mục, nhưng nó cho phép nhiều chương trình / thực thi truy cập cùng một lúc, do đó bảo tồn bộ nhớ (tôi nghĩ).

Mac tương đương với một DLL là gì? Tôi đã xem qua các thư mục Google Chrome bên trong ~/Library/Application Supportvà thay vì Windows Default.dll thông thường, chỉ có một thư mục "Mặc định" như một tệp thông thường, với nội dung, tôi cho rằng, sẽ thường xuyên nằm trong DLL.

Mac tương đương có cung cấp chức năng tương tự không?


Thư mục đó chỉ là hồ sơ Chrome của bạn (cài đặt cá nhân, dấu trang, v.v.). Những gì bạn muốn nằm trong gói ứng dụng.
Daniel Beck

Chà, khi bạn nhìn vào bên trong thư mục / Thư viện / Hỗ trợ ứng dụng / Google / Chrome / Mặc định / Tiện ích mở rộng / (một số chuỗi dài kỳ lạ), bạn sẽ tìm thấy nhiều tệp png và css cho các chủ đề. Đó là thư mục chủ đề, được tìm thấy bên trong DLL trên windows.
kalaracey

Trong trường hợp đó, có vẻ như các nhà phát triển Chrome đã sử dụng một mẹo, ví dụ như để tiết kiệm bộ nhớ trên Windows. Họ không sử dụng DLL tương đương trên OS X. Nếu bạn nhìn vào Firefox, họ lưu trữ hồ sơ người dùng dưới dạng một tập tin riêng lẻ trên tất cả các hệ điều hành.
Daniel Beck

Bây giờ sẽ rất thú vị với những gì bạn thực sự hỏi: Về "DLL trên OS X" nói chung hoặc tương đương với default.dllMac OS X là gì. Các câu trả lời dường như khá khác nhau.
Daniel Beck

4
A dlllà không có thư mục, hoặc bất cứ nơi nào gần nó. Nó chứa các phương thức và chức năng có thể được gọi bởi các chương trình khác, do đó chúng không cần nó tự thực hiện chúng. Đôi khi a dllcũng đang nắm giữ tài nguyên, như các biểu tượng.
Bobby

Câu trả lời:


12

Tương đương với một DLL Windows trên OS X là Framework (Ca cao) hoặc dylibs (BSD). Các hệ thống được cung cấp là trong /usr/lib/System/Library/Frameworkstương ứng.

Thư mục bạn đề cập, Library/Application Supporttương tự như các thư mục Application Data(hoặc AppRoamingbây giờ?) Trong Windows, chứa các cài đặt cá nhân của ứng dụng của bạn.

Mặc dù tôi không biết tương đương với Chrome default.dlltrên OS X là gì, gói ứng dụng chứa các mục sau:

văn bản thay thế

Đoán từ kích thước, có vẻ như Google Chrome Frameworkcó thể quan trọng (thư mục Frameworksở trên không chứa nhiều quan tâm)


3

Không có DLL thực trong OS X, Linux hoặc bất kỳ POSIX nào cho vấn đề đó. Họ không tạo ra sự khác biệt.

Tại sao?

  1. Rất nhiều công cụ Mac, đối với một, là độc lập (rốt cuộc, thực sự chỉ là các thư mục).

  2. Các tệp nhị phân trong Mac OS X (và Linux và các * Nixes khác) sử dụng ELF (viết tắt của Executable và Library Format) cho cả thư viện và tệp thực thi.

Tệp mặc định mà bạn tìm thấy trong đó có thể là tệp nhị phân ELF.

Cập nhật : dmckee chỉ ra rằng .dylibs định dạng Mach-O dành riêng cho máy Mac. Tuy nhiên, thật khó để phân biệt hai người bằng thị giác, bởi vì cả hai không thực sự yêu cầu bất kỳ sự mở rộng nào.


1
DLL trên Windows sử dụng định dạng giống như tệp thực thi (hoặc ít nhất là đã từng có một lần), phải không?
Daniel Beck


Điều tốt để biết - khi tôi đọc bài viết của bạn, tôi nghĩ rằng bạn đã chọn ra Unix, nhưng bạn đặc biệt đề cập đến ELF.
Daniel Beck

1
Ơ ... điều này đơn giản là sai. Các tệp đối tượng được bảo vệ (.so) và các thư viện động (.dylib) phục vụ chính xác cùng một mục đích trên Linux và Mac OS như các thư viện có thể tải động (dll) trên Windowns. Việc họ chia sẻ một tiêu chuẩn đóng gói với các tệp thực thi không làm thay đổi thực tế này.
dmckee --- ex-moderator mèo con

1
@digitxp: Bạn đã bỏ lỡ điểm. Bao bì không quan trọng trong vấn đề này. Các tệp đối tượng chia sẻ của Windows, Mac OS .dylib và .so (mà Mac OS cũng có thể sử dụng, mặc dù không duyên dáng như sử dụng .dylib), tất cả đều cung cấp cùng một dịch vụ: thư viện dùng chung, có thể tải động, có thể tải động.
dmckee --- ex-moderator mèo con

2

Tương đương linux và Mac gần nhất được gọi là "tệp đối tượng dùng chung" (thường lấy phần mở rộng .so) và các thư viện động (thường chứa phần mở rộng .dylib) tương ứng.

Các đối tượng chia sẻ được sử dụng rộng rãi trên các hệ thống Linux điển hình, các thư viện động không phổ biến vì định dạng .app cho phép cơ chế phân phối rất an toàn để hỗ trợ nhiều kiến ​​trúc với chi phí cho các "tệp" ngoại cỡ lớn hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.