The Computer Oracle

Is there a functional macOS equivalent to a Windows DLL?

--------------------------------------------------
Rise to the top 3% as a developer or hire one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------

Music by Eric Matyas
https://www.soundimage.org
Track title: Industries in Orbit Looping

--

Chapters
00:00 Is There A Functional Macos Equivalent To A Windows Dll?
00:36 Accepted Answer Score 12
01:20 Answer 2 Score 3
02:10 Answer 3 Score 2
02:33 Thank you

--

Full question
https://superuser.com/questions/228309/i...

--

Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...

--

Tags
#macos

#avk47



ACCEPTED ANSWER

Score 12


The equivalents to a Windows DLL on OS X are Frameworks (Cocoa) or dylibs (BSD). The system supplied ones are in /usr/lib and /System/Library/Frameworks respectively.

The folder you mention, Library/Application Support is similar to the Application Data (or AppRoaming now?) folders in Windows, containing your applications' personal settings.

While I don't know what the equivalent for Chrome's default.dll on OS X is, the application bundle contains the following:

alt text

Guessing from the size, it looks like Google Chrome Framework might be important (the folder Frameworks just above doesn't contain much of interest)




ANSWER 2

Score 3


There's no real DLLs in OS X, Linux, or any POSIX for that matter. They don't make the differentiation.

Why?

  1. A lot of Mac stuff, for one, is self-contained (.app's are really just folders after all).

  2. The binaries in Mac OS X (and Linux and other *Nixes) use the ELF (which stands for Executable and Library Format) for both libraries and executables.

The Default file that you found in there was probably an ELF binary.

Update: dmckee points out that .dylibs are under the Mach-O format exclusive to Macs. It's hard to distinguish the two by sight, however, because neither of them actually require any extension.




ANSWER 3

Score 2


The closest Linux and Mac equivalents are called "shared object files" (usually taking a .so extension) and dynamic libraries (usually taking a .dylib extension).

Shared objects are used extensively on typical Linux systems. Dynamic libraries are not quite as ubiquitous because the .app format allows a very safe distribution mechanism for supporting multiple architectures at the cost of larger executable "files".