等同于MacOS的dll


9

因此,DLL与文件夹相似,但是它允许多个程序/可执行文件一次访问它,从而节省了内存(我认为)。

Mac等同于DLL的情况是什么?我正在浏览Google Chrome的内部文件夹~/Library/Application Support,而不是常规的Windows Default.dll,而只是一个文件夹“ Default”作为常规文件,我认为其内容将定期位于DLL中。

Mac等效产品是否提供相同的功能?


该文件夹只是您的Chrome个人资料(个人设置,书签等)。您想要的位于应用程序捆绑包内。
丹尼尔·贝克

好吧,当您查看文件夹/ Library / Application Support / Google / Chrome / Default / Extensions /(一些奇怪的长字符串)时,会发现许多png和css主题文件。它的主题文件夹,可以在Windows的DLL中找到。
kalaracey 2011年

在那种情况下,Chrome开发人员似乎使用了一种技巧,例如,以节省Windows上的内存。他们不在OS X上使用等效的DLL。例如,如果您查看Firefox,他们会将用户配置文件存储为所有操作系统上的一堆单独文件。
丹尼尔·贝克

现在,您实际上要问的是什么:关于“ OS X上的DLL”的一般信息,或者与default.dllMac OS X上的等效内容有关。答案似乎完全不同。
丹尼尔·贝克

4
A dll是没有文件夹或其附近的任何位置。它包含可以由其他程序调用的方法和函数,因此他们不需要自己实现它们。有时,a dll也持有资源,例如图标。
鲍比(Bobby)

Answers:


12

与OS X上Windows DLL等效的是Frameworks(Cocoa)或dylibs(BSD)。系统提供的分别位于/usr/lib和中/System/Library/Frameworks

您提到的文件夹Library/Application Support类似于Windows中的Application Data(或AppRoaming现在?)文件夹,其中包含应用程序的个人设置。

虽然我不知道default.dllOS X上的Chrome相当于什么,但该应用程序捆绑包含以下内容:

替代文字

从大小进行猜测,看起来Google Chrome Framework可能很重要(Frameworks上方的文件夹没有太多兴趣)


3

在OS X,Linux或任何POSIX中都没有真正的DLL。他们没有区别。

为什么?

  1. 一方面,很多Mac东西都是独立的(毕竟.app只是文件夹)。

  2. Mac OS X(以及Linux和其他* Nixes)中的二进制文件对和可执行文件都使用ELF(代表可执行文件和库格式)。

您在其中找到的默认文件可能是ELF二进制文件。

更新:dmckee指出.dylibs是Mac专有的Mach-O格式。但是,很难通过视觉来区分两者,因为它们实际上都不需要任何扩展。


1
Windows上的DLL与可执行文件使用相同的格式(或者至少曾经使用过一次),不是吗?
丹尼尔·贝克


很高兴知道-当我阅读您的文章时,我以为您选择了Unix,但是您特别提到了ELF。
丹尼尔·贝克

1
嗯...这简直是错的。支撑的目标文件(.so)和动态库(.dylib)在Linux和Mac OS上的作用与Windowns上的动态可加载库(.dll)完全相同。他们与可执行文件共享打包标准这一事实并不会改变这一事实。
dmckee ---前主持人小猫,

1
@digitxp:您错过了重点。包装在这件事上并不重要。Windows .dll,Mac OS .dylib和.so共享对象文件(Mac OS也可以使用,尽管不如.dylib那样优雅)都提供相同的服务:运行时,可动态加载的共享库。
dmckee ---前主持人小猫

2

最接近的linux和Mac等价物分别称为“共享对象文件”(通常采用.so扩展名)和动态库(通常采用.dylib扩展名)。

共享对象在典型的Linux系统上得到了广泛的使用,动态库并不是那么普及,因为.app格式允许以非常安全的分发文件的方式来支持多种体系结构的非常安全的分发机制。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.