Mach-O, das Objektdateiformat in macOS, unterscheidet zwischen gemeinsam genutzte Bibliotheken (.dylib) und dynamisch geladen Module (Bundles). Gemeinsam genutzte Bibliotheken werden während der Kompilierung verknüpft und können mithilfe der Flags -lfoo referenziert werden. Bundles hingegen sind Plug-Ins, die Anwendungen erweitern und mit ihrer exportierten API verknüpfen.
In frühen macOS-Versionen waren Bundles Wird für dynamisches Laden verwendet, während Dylibs später eingeführt wurden. Mit macOS 10.5 konnten jedoch sowohl Dylibs als auch Bundles dynamisch über die dl-APIs geladen werden.
„Bundle“ kann sich auch auf Verzeichnisse mit standardisierten Strukturen beziehen, die Code und enthalten Ressourcen. Dieses Konzept ähnelt Mach-O-Bundles, die als Plugins verwendet werden, sie sollten jedoch nicht miteinander verwechselt werden.
Das obige ist der detaillierte Inhalt von.so vs. .dylib in macOS: Wann sollte welcher gemeinsam genutzte Bibliothekstyp verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!