Equivalente dll di MacOS


9

quindi, una DLL è simile a una cartella, ma consente a più programmi / eseguibili di accedervi contemporaneamente, conservando così la memoria (credo).

Qual è l'equivalente di Mac di una DLL? Stavo esaminando le cartelle di Google Chrome all'interno ~/Library/Application Supporte invece del normale Windows Default.dll c'era solo una cartella, "Predefinito" come un file normale, con i contenuti, presumo, sarebbero regolarmente all'interno della DLL.

L'equivalente per Mac offre la stessa funzione?


Quella cartella è solo il tuo profilo Chrome (impostazioni personali, segnalibri, ecc.). Quello che vuoi si trova all'interno del pacchetto dell'applicazione.
Daniel Beck

Bene, quando guardi all'interno della cartella / Library / Application Support / Google / Chrome / Default / Extensions / (qualche strana lunga stringa) trovi molti file png e css per i temi. È la cartella dei temi, che si trova all'interno della DLL su Windows.
Kalaracey,

In tal caso, sembra che gli sviluppatori di Chrome abbiano usato un trucco, ad esempio per conservare memoria su Windows. Non usano l'equivalente DLL su OS X. Se si guarda ad esempio a Firefox, memorizzano i profili utente come un insieme di singoli file su tutti i sistemi operativi.
Daniel Beck

Ora sarebbe interessante quello che stai effettivamente chiedendo: su "DLL su OS X" in generale, o qual è l'equivalente default.dllsu Mac OS X Le risposte sembrano abbastanza diverse.
Daniel Beck

4
A dllnon è una cartella, o in nessun posto vicino ad essa. Contiene metodi e funzioni che possono essere invocati da altri programmi, in modo che non ne abbiano bisogno implementarli da soli. A volte dllanche a sta trattenendo risorse, come le icone.
Bobby,

Risposte:


12

Gli equivalenti a una DLL di Windows su OS X sono Frameworks (Cocoa) o dylibs (BSD). I sistemi forniti sono in /usr/libe /System/Library/Frameworksrispettivamente.

La cartella che menzioni Library/Application Supportè simile alle cartelle Application Data(o AppRoamingora?) In Windows, contenenti le impostazioni personali delle tue applicazioni.

Anche se non so quale sia l'equivalente per Chrome default.dllsu OS X, il pacchetto dell'applicazione contiene quanto segue:

testo alternativo

Indovinando dalla dimensione, sembra che Google Chrome Frameworkpotrebbe essere importante (la cartella Frameworksappena sopra non contiene molto di interesse)


3

Non ci sono vere DLL in OS X, Linux o POSIX per quella materia. Non fanno la differenziazione.

Perché?

  1. Molta roba per Mac, per esempio, è autonoma (dopotutto, le app sono solo cartelle).

  2. I file binari in Mac OS X (e Linux e altri * Nix) utilizzano ELF (che sta per formato eseguibile e librerie) sia per le librerie che per gli eseguibili.

Il file predefinito che hai trovato probabilmente era un binario ELF.

Aggiornamento : dmckee sottolinea che .dylibs sono in formato Mach-O in esclusiva per Mac. È difficile distinguere i due a vista, tuttavia, perché nessuno dei due richiede effettivamente alcuna estensione.


1
Le DLL su Windows usano lo stesso formato degli eseguibili (o almeno una volta), vero?
Daniel Beck


Buono a sapersi - quando ho letto il tuo post ho pensato che avessi individuato gli Unix, ma hai menzionato specificamente ELF.
Daniel Beck

1
Ehm ... questo è semplicemente sbagliato. I file oggetto shored (.so) e le librerie dinamiche (.dylib) hanno esattamente lo stesso scopo su Linux e Mac OS delle librerie caricabili dinamicamente (.dll) su Windowns. Il fatto che condividano uno standard di packaging con gli eseguibili non cambia questo fatto.
dmckee --- ex gattino moderatore

1
@digitxp: hai perso il punto. L'imballaggio non è importante in questa materia. I file di oggetti condivisi .dll di Windows, Mac OS .dylib e .so (che Mac OS può anche usare, anche se non con garbo come usa .dylib) offrono tutti lo stesso servizio: librerie condivise runtime, caricabili dinamicamente.
dmckee --- ex gattino moderatore

2

Gli equivalenti Linux e Mac più vicini sono chiamati rispettivamente "file di oggetti condivisi" (di solito con estensione .so) e librerie dinamiche (di solito con estensione .dylib).

Gli oggetti condivisi sono ampiamente utilizzati sui tipici sistemi Linux, le librerie dinamiche non sono altrettanto onnipresenti perché il formato .app consente un meccanismo di distribuzione molto sicuro per il supporto di più architetture al costo di "file" di grandi dimensioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.