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 Support
e, 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?
default.dll
no Mac OS X. As respostas parecem ser bem diferentes.dll
nã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, adll
também está mantendo recursos, como ícones.Respostas:
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/lib
e/System/Library/Frameworks
respectivamente.A pasta mencionada
Library/Application Support
é semelhante às pastasApplication Data
(ouAppRoaming
agora?) Do Windows, contendo as configurações pessoais dos seus aplicativos.Embora eu não saiba qual é o equivalente do Chrome
default.dll
no OS X, o pacote de aplicativos contém o seguinte:Pensando no tamanho, parece
Google Chrome Framework
ser importante (a pastaFrameworks
logo acima não contém muito interesse)fonte
Não há DLLs reais no OS X, Linux ou qualquer POSIX para esse assunto. Eles não fazem a diferenciação.
Por quê?
Um monte de coisas do Mac, por exemplo, é independente (os aplicativos .ap são realmente apenas pastas, afinal).
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.
fonte
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.
fonte