Por lo tanto, una DLL es similar a una carpeta, pero permite que múltiples programas / ejecutables accedan a ella a la vez, conservando así la memoria (creo).
¿Cuál es el equivalente de Mac de una DLL? Estaba mirando a través de las carpetas de Google Chrome en el interior ~/Library/Application Support
, y en lugar de Windows Default.dll normal, solo había una carpeta, "Predeterminada" como un archivo normal, con contenido, supongo, regularmente estaría dentro de la DLL.
¿El equivalente de Mac proporciona la misma función?
default.dll
Mac OS X. Las respuestas parecen ser bastante diferentes.dll
no es una carpeta, ni está cerca de ella. Contiene métodos y funciones que pueden ser invocados por otros programas, por lo que no necesitan implementarlos ellos mismos. A veces, adll
también contiene recursos, como iconos.Respuestas:
Los equivalentes a una DLL de Windows en OS X son Frameworks (Cocoa) o dylibs (BSD). Los sistemas suministrados están en
/usr/lib
y/System/Library/Frameworks
respectivamente.La carpeta que menciona
Library/Application Support
es similar a las carpetasApplication Data
(¿oAppRoaming
ahora?) En Windows, que contiene la configuración personal de sus aplicaciones.Si bien no sé cuál es el equivalente de Chrome
default.dll
en OS X, el paquete de la aplicación contiene lo siguiente:Adivinando por el tamaño, parece que
Google Chrome Framework
podría ser importante (la carpeta deFrameworks
arriba no tiene mucho interés)fuente
No hay archivos DLL reales en OS X, Linux o POSIX para el caso. No hacen la diferenciación.
¿Por qué?
Una gran cantidad de cosas de Mac, por ejemplo, es independiente (las .app son realmente solo carpetas después de todo).
Los archivos binarios en Mac OS X (y Linux y otros * Nixes) usan ELF (que significa formato ejecutable y de biblioteca) para bibliotecas y ejecutables.
El archivo predeterminado que encontró allí probablemente era un binario ELF.
Actualización : dmckee señala que .dylibs están bajo el formato Mach-O exclusivo para Mac. Sin embargo, es difícil distinguir los dos a simple vista, porque ninguno de ellos requiere ninguna extensión.
fuente
Los equivalentes más cercanos de Linux y Mac se denominan "archivos de objetos compartidos" (generalmente con una extensión .so) y bibliotecas dinámicas (normalmente con una extensión .dylib) respectivamente.
Los objetos compartidos se usan ampliamente en los sistemas Linux típicos, las bibliotecas dinámicas no son tan ubicuas porque el formato .app permite un mecanismo de distribución muy seguro para soportar múltiples arquitecturas a costa de "archivos" ejecutables más grandes.
fuente