Équivalent dll de MacOS

9

ainsi, une DLL est similaire à un dossier, mais elle permet à plusieurs programmes / exécutables d'y accéder à la fois, économisant ainsi de la mémoire (je pense).

Quel est l'équivalent pour Mac d'une DLL? Je regardais à travers les dossiers Google Chrome à l'intérieur ~/Library/Application Support, et au lieu du fichier Windows Default.dll normal, il n'y avait qu'un dossier, "Default" en tant que fichier normal, avec un contenu, je suppose, qui serait régulièrement à l'intérieur de la DLL.

L'équivalent Mac offre-t-il la même fonction?

Kalaracey
la source
Ce dossier n'est que votre profil Chrome (paramètres personnels, signets, etc.). Ce que vous voulez se trouve à l'intérieur du bundle d'application.
Daniel Beck
Eh bien, lorsque vous regardez dans le dossier / Library / Application Support / Google / Chrome / Default / Extensions / (une chaîne longue bizarre), vous trouvez de nombreux fichiers png et css pour les thèmes. C'est le dossier des thèmes, qui se trouve à l'intérieur de la DLL sur Windows.
kalaracey
Dans ce cas, il semble que les développeurs Chrome aient utilisé une astuce, par exemple pour conserver la mémoire sous Windows. Ils n'utilisent pas d'équivalent DLL sur OS X. Si vous regardez par exemple Firefox, ils stockent les profils utilisateur sous forme de fichiers individuels sur tous les systèmes d'exploitation.
Daniel Beck
Maintenant, il serait intéressant de savoir ce que vous demandez réellement: à propos des "DLL sous OS X" en général, ou quel est l'équivalent de default.dllMac OS X. Les réponses semblent être très différentes.
Daniel Beck
4
A dlln'est pas un dossier, ou n'importe où près de lui. Il contient des méthodes et des fonctions qui peuvent être invoquées par d'autres programmes, afin qu'ils n'aient pas besoin de les implémenter eux-mêmes. Parfois, a contient dllégalement des ressources, comme des icônes.
Bobby

Réponses:

12

Les équivalents à une DLL Windows sur OS X sont Frameworks (Cocoa) ou dylibs (BSD). Les systèmes fournis sont dans /usr/libet /System/Library/Frameworksrespectivement.

Le dossier que vous mentionnez Library/Application Supportest similaire aux dossiers Application Data(ou AppRoamingmaintenant?) De Windows, contenant les paramètres personnels de vos applications.

Bien que je ne sache pas quel est l'équivalent de Chrome default.dllsur OS X, le pack d'applications contient les éléments suivants:

texte alternatif

En devinant la taille, il semble que cela Google Chrome Frameworkpourrait être important (le dossier Frameworksjuste au-dessus ne contient pas beaucoup d'intérêt)

Daniel Beck
la source
3

Il n'y a pas de vraies DLL dans OS X, Linux ou tout POSIX d'ailleurs. Ils ne font pas la différenciation.

Pourquoi?

  1. Beaucoup de choses Mac, pour une, sont autonomes (les applications ne sont vraiment que des dossiers après tout).

  2. Les binaires sous Mac OS X (et Linux et autres * Nixes) utilisent l' ELF (qui signifie Executable et Library Format) pour les bibliothèques et les exécutables.

Le fichier par défaut que vous y avez trouvé était probablement un binaire ELF.

Mise à jour : dmckee souligne que les .dylibs sont au format Mach-O exclusif aux Mac. Il est difficile de distinguer les deux de vue, cependant, car aucun d'eux ne nécessite réellement d'extension.

digitxp
la source
1
Les DLL sous Windows utilisent le même format que les exécutables (ou du moins l'ont fait une fois), n'est-ce pas?
Daniel Beck
1
Ils le font toujours .
digitxp
Bon à savoir - quand j'ai lu votre article, je pensais que vous aviez choisi les Unix, mais vous avez spécifiquement mentionné ELF.
Daniel Beck
1
Ehm ... c'est tout simplement faux. Les fichiers d'objets shored (.so) et les bibliothèques dynamiques (.dylib) ont exactement le même objectif sur Linux et Mac OS que les bibliothèques chargeables dynamiquement (.dll) sur Windowns. Le fait qu'ils partagent une norme de packaging avec les exécutables ne change rien à ce fait.
dmckee --- chaton ex-modérateur
1
@digitxp: Vous avez raté le point. L'emballage n'est pas important à cet égard. Les fichiers d'objets partagés Windows .dll, Mac OS .dylib et .so (que Mac OS peut également utiliser, mais pas aussi gracieusement qu'il utilise .dylib) fournissent tous le même service: bibliothèques partagées d'exécution, chargeables dynamiquement.
dmckee --- chaton ex-modérateur
2

Les équivalents Linux et Mac les plus proches sont appelés respectivement "fichiers d'objets partagés" (prenant généralement une extension .so) et bibliothèques dynamiques (contenant généralement une extension .dylib).

Les objets partagés sont largement utilisés sur les systèmes Linux typiques, les bibliothèques dynamiques ne sont pas aussi omniprésentes car le format .app permet un mécanisme de distribution très sûr pour prendre en charge plusieurs architectures au prix de "fichiers" plus volumineux.

dmckee --- chaton ex-modérateur
la source