Dll equivalente do MacOS

9

portanto, uma DLL é semelhante a uma pasta, mas permite que vários programas / executáveis ​​acessem-na de uma só vez, economizando memória (eu acho).

O que é equivalente a uma DLL do Mac? Eu estava olhando as pastas do Google Chrome dentro ~/Library/Application Supporte, em vez do Windows Default.dll comum, havia apenas uma pasta "Padrão" como um arquivo normal, com conteúdo, eu suponho, regularmente dentro da DLL.

O equivalente do Mac oferece a mesma função?

kalaracey
fonte
Essa pasta é apenas o seu perfil do Chrome (configurações pessoais, favoritos etc.). O que você deseja está localizado dentro do pacote de aplicativos.
Daniel Beck
Bem, quando você olha dentro da pasta / Biblioteca / Suporte a aplicativos / Google / Chrome / Padrão / Extensões / (alguma corda longa estranha), encontra muitos arquivos png e css para os temas. É a pasta de temas, encontrada dentro da DLL no Windows.
kalaracey
Nesse caso, parece que os desenvolvedores do Chrome usaram um truque, por exemplo, para economizar memória no Windows. Eles não usam uma DLL equivalente no OS X. Se você observar, por exemplo, o Firefox, eles armazenam os perfis de usuário como um monte de arquivos individuais em todos os sistemas operacionais.
Daniel Beck
Agora, seria interessante o que você está realmente perguntando: sobre "DLLs no OS X" em geral, ou qual é o equivalente default.dllno Mac OS X. As respostas parecem ser bem diferentes.
Daniel Beck
4
A dllnão é uma pasta ou está perto dela. Ele contém métodos e funções que podem ser invocados por outros programas, para que eles não precisem implementá-los. Às vezes, a dlltambém está mantendo recursos, como ícones.
Bobby

Respostas:

12

Os equivalentes a uma DLL do Windows no OS X são Frameworks (Cocoa) ou dylibs (BSD). Os fornecidos pelo sistema estão dentro /usr/libe /System/Library/Frameworksrespectivamente.

A pasta mencionada Library/Application Supporté semelhante às pastas Application Data(ou AppRoamingagora?) Do Windows, contendo as configurações pessoais dos seus aplicativos.

Embora eu não saiba qual é o equivalente do Chrome default.dllno OS X, o pacote de aplicativos contém o seguinte:

texto alternativo

Pensando no tamanho, parece Google Chrome Frameworkser importante (a pasta Frameworkslogo acima não contém muito interesse)

Daniel Beck
fonte
3

Não há DLLs reais no OS X, Linux ou qualquer POSIX para esse assunto. Eles não fazem a diferenciação.

Por quê?

  1. Um monte de coisas do Mac, por exemplo, é independente (os aplicativos .ap são realmente apenas pastas, afinal).

  2. Os binários no Mac OS X (e Linux e outros * Nixes) usam o ELF (que significa Executable and Library Format) para bibliotecas e executáveis.

O arquivo padrão que você encontrou lá provavelmente era um binário ELF.

Atualização : dmckee ressalta que .dylibs está no formato Mach-O exclusivo para Macs. É difícil distinguir os dois de vista, no entanto, porque nenhum deles realmente requer qualquer extensão.

digitxp
fonte
11
As DLLs no Windows usam o mesmo formato que os executáveis ​​(ou pelo menos uma vez), não?
Daniel Beck
11
Eles ainda fazem .
digitxp
É bom saber - quando li seu post, pensei que você tivesse destacado os Unixes, mas você mencionou especificamente o ELF.
Daniel Beck
11
Ehm ... isso é simplesmente errado. Os arquivos de objeto reduzido (.so) e as bibliotecas dinâmicas (.dylib) têm exatamente o mesmo objetivo no Linux e no Mac OS que as bibliotecas dinamicamente carregáveis ​​(.dll) no Windowns. O fato de compartilharem um padrão de empacotamento com os executáveis ​​não altera esse fato.
dmckee --- ex-moderador gatinho
11
@ Digitxp: Você perdeu o ponto. A embalagem não é importante nesta questão. Os arquivos .dll do Windows, os arquivos .dylib do Mac OS e .so compartilhados (que o Mac OS também pode usar, embora não com a mesma elegância que usa o .dylib) oferecem o mesmo serviço: bibliotecas compartilhadas em tempo de execução, carregáveis ​​dinamicamente.
dmckee --- ex-moderador gatinho
2

Os equivalentes linux e Mac mais próximos são chamados de "arquivos de objetos compartilhados" (geralmente com uma extensão .so) e bibliotecas dinâmicas (geralmente com uma extensão .dylib), respectivamente.

Objetos compartilhados são usados ​​extensivamente em sistemas Linux típicos. As bibliotecas dinâmicas não são tão onipresentes porque o formato .app permite um mecanismo de distribuição muito seguro para oferecer suporte a várias arquiteturas, ao custo de "arquivos" maiores e executáveis.

dmckee --- gatinho ex-moderador
fonte