Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

so, a DLL is similar to a folder, but it allows for multiple programs/executables to access it at once, thus conserving memory (I think).

What is Mac's equivalent of a DLL? I was looking through the Google Chrome folders inside ~/Library/Application Support, and instead of the regular Windows Default.dll there was just a folder, "Default" as a regular file, with contents, I assume, would regularly be inside the DLL.

Does the Mac equivalent provide the same function?

share|improve this question
That folder is just your Chrome profile (personal settings, bookmarks, etc.). What you want is located inside the application bundle. – Daniel Beck Jan 2 '11 at 19:23
Well, when you look inside the folder /Library/Application Support/Google/Chrome/Default/Extensions/(some weird long string) you find many png's and css files for the themes. Its the themes folder, which is found inside the DLL on windows. – kalaracey Jan 2 '11 at 19:27
In that case, it seems like the Chrome developers used a trick e.g. to conserve memory on Windows. They don't use a DLL equivalent on OS X. If you look e.g. at Firefox, they store the user profiles as a bunch of individual files on all operating systems. – Daniel Beck Jan 2 '11 at 19:31
Now it would be interesting what's you're actually asking: About "DLLs on OS X" in general, or what the equivalent to default.dll on Mac OS X is. The answers seem to be quite different. – Daniel Beck Jan 2 '11 at 19:33
A dll is no folder, or anywhere near it. It holds methods and functions which can be invoked by other programs, so that they don't need it implement them themselves. Sometimes a dll is also holding resources, like icons. – Bobby Jan 2 '11 at 20:05
up vote 10 down vote accepted

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)

share|improve this answer

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


  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.

share|improve this answer
DLLs on Windows use the same format as executables (or at least did once upon a time), don't they? – Daniel Beck Jan 2 '11 at 19:34
They still do. – digitxp Jan 2 '11 at 19:40
Good to know -- when I read your post I thought you singled out the Unixes, but you specifically mentioned ELF. – Daniel Beck Jan 2 '11 at 19:59
Ehm...this is simply wrong. Shored object files (.so) and dynamic libraries (.dylib) serve exactly the same purpose on Linux and Mac OS as dynamically loadable libraries (.dll) on Windowns. The fact that they share a packaging standard with executables does not change this fact. – dmckee Jan 2 '11 at 21:46
@digitxp: You've missed the point. The packaging is no important in this matter. Windows .dll's, Mac OS .dylib's and .so shared object files (which Mac OS can also use, though not as gracefully as it uses .dylib's) all provide the same service: run-time, dynamically-loadable, shared libraries. – dmckee Jan 3 '11 at 11:29

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

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 exectuatble "files".

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .