MacOS ‘dll 해당 따라서 DLL은 폴더와 유사하지만 여러 프로그램

따라서 DLL은 폴더와 유사하지만 여러 프로그램 / 실행 파일이 한 번에 액세스 할 수 있으므로 메모리가 절약됩니다.

Mac의 DLL은 무엇입니까? 내부의 Chrome 폴더를 살펴보고 ~/Library/Application Support일반 Windows Default.dll 대신 일반 파일로 “기본”폴더가 있었고 내용은 DLL 내부에 있다고 가정합니다.

Mac과 동등한 기능이 동일한 기능을 제공합니까?



답변

OS X의 Windows DLL과 동등한 기능은 프레임 워크 (Cocoa) 또는 dylibs (BSD)입니다. 시스템 공급 것들에 /usr/lib/System/Library/Frameworks각각.

언급 한 폴더는 응용 프로그램의 개인 설정을 포함하는 Windows Library/Application SupportApplication Data(또는 AppRoaming지금?) 폴더 와 유사합니다 .

default.dllOS X 에서 Chrome과 동등한 기능이 무엇인지 모르겠지만 응용 프로그램 번들에는 다음이 포함되어 있습니다.

크기를 생각 Google Chrome Framework하면 중요한 것처럼 보일 수 있습니다 ( Frameworks위 의 폴더 에는 관심이 많지 않습니다)


답변

OS X, Linux 또는 해당 문제에 대한 POSIX에는 실제 DLL이 없습니다. 그들은 차별화를하지 않습니다.

왜?

  1. 하나의 많은 Mac 물건은 자체 포함되어 있습니다 (.app는 실제로 폴더 일뿐입니다).

  2. Mac OS X (및 Linux 및 기타 * Nixes)의 바이너리는 라이브러리 와 실행 파일 모두에 ELF (실행 파일 및 라이브러리 형식을 나타냄)를 사용합니다 .

찾은 기본 파일은 아마도 ELF 바이너리 일 것입니다.

업데이트 : dmckee는 .dylibs가 Mac 전용 Mach-O 형식 임을 나타냅니다 . 그러나 둘 중 어느 것도 실제로 확장을 필요로하지 않기 때문에 두 가지를 구별하기가 어렵습니다.


답변

가장 가까운 리눅스와 맥에 해당하는 것을 각각 “공유 객체 파일”(보통 .so 확장자를 가짐)과 동적 라이브러리 (보통 .dylib 확장자를 가짐)라고합니다.

공유 객체는 일반적인 Linux 시스템에서 광범위하게 사용됩니다. .app 형식은 큰 실행 파일 “파일”을 희생시키면서 여러 아키텍처를 지원하기위한 매우 안전한 배포 메커니즘을 제공하기 때문에 동적 라이브러리는 어디에나 존재하지 않습니다.