MacOSのdll相当


9

したがって、DLLはフォルダーに似ていますが、複数のプログラム/実行可能ファイルから一度にアクセスできるため、メモリを節約できます(と思います)。

MacでDLLに相当するものは何ですか?私は内のGoogle Chromeフォルダーを調べていまし~/Library/Application Supportた。通常のWindows Default.dllの代わりに、通常のファイルとして「Default」というフォルダーがあり、その内容は通常、DLL内にあると思います。

Macの同等の機能は同じ機能を提供しますか?


そのフォルダは、Chromeプロフィール(個人設定、ブックマークなど)にすぎません。必要なものはアプリケーションバンドル内にあります。
ダニエルベック

さて、フォルダ/ Library / Application Support / Google / Chrome / Default / Extensions /(奇妙な長い文字列)の中を見ると、テーマのpngとcssファイルがたくさん見つかります。WindowsのDLL内にあるそのテーマフォルダー。
kalaracey

その場合、Chrome開発者がWindowsのメモリを節約するなどのトリックを使用したようです。OS Xでは同等のDLLを使用していません。たとえばFirefoxを見ると、ユーザープロファイルはすべてのオペレーティングシステム上の個々のファイルの集まりとして保存されています。
ダニエルベック

さて、あなたが実際に何を求めているのかは興味深いでしょう。「OS X上のDLL」一般について、またはdefault.dllMac OS Xと同等のものについてです。答えはかなり違うようです。
ダニエルベック

4
A dllはフォルダーではないか、その近くにあります。他のプログラムから呼び出すことができるメソッドと関数を保持しているため、自分で実装する必要はありません。時には、dllアイコンなどのリソースも保持します。
Bobby

回答:


12

OS X上のWindows DLLに相当するものは、フレームワーク(Cocoa)またはdylibs(BSD)です。システム提供のものはそれぞれに/usr/libあり/System/Library/Frameworksます。

あなたが言及するフォルダーは、アプリケーションの個人設定を含む、Windowsの(または今?)フォルダーにLibrary/Application Support似ています。Application DataAppRoaming

default.dllOS X でのChromeに相当するものはわかりませんが、アプリケーションバンドルには次のものが含まれています。

代替テキスト

サイズから推測すると、Google Chrome Framework重要なように見えるかもしれません(Frameworks真上のフォルダーにはあまり関心がありません)


3

そのため、OS X、Linux、またはPOSIXには実際のDLLはありません。彼らは区別をしません。

どうして?

  1. 1つには、Macの多くのものが自己完結型です(結局、.appは実際には単なるフォルダです)。

  2. Mac OS X(およびLinuxとその他の* Nixes)のバイナリは、ライブラリと実行可能ファイルの両方にELF(実行可能ファイルとライブラリ形式を表す)を使用します。

そこにあるデフォルトのファイルはおそらくELFバイナリでした。

更新:dmckeeは、.dylibsがMac専用のMach-O形式であることを指摘しています。ただし、どちらも実際には拡張機能を必要としないため、2つを視覚的に区別することは困難です。


1
WindowsのDLLは、実行可能ファイルと同じ形式を使用します(または、少なくとも一度は一度に使用しました)。
ダニエルベック


知っておきたいこと-私があなたの投稿を読んだとき、あなたはUnixを選び出したと思ったが、具体的にはELFについて言及した。
ダニエルベック

1
ええと...これは単に間違っています。ショアードオブジェクトファイル(.so)とダイナミックライブラリ(.dylib)は、LinuxおよびMac OSでは、Windownsで動的にロード可能なライブラリ(.dll)とまったく同じ目的を果たします。それらが実行可能ファイルとパッケージング標準を共有しているという事実は、この事実を変えません。
dmckee ---元モデレーターの子猫

1
@digitxp:ポイントを逃しました。この問題では、パッケージは重要ではありません。Windowsの.dll、Mac OSの.dylib、および.soの共有オブジェクトファイル(Mac OSでも使用できますが、.dylibを使用するほど優雅ではありません)はすべて、同じサービスを提供します:ランタイム、動的にロード可能な共有ライブラリ。
dmckee ---元モデレーターの子猫

2

LinuxとMacで最も近いものは、それぞれ「共有オブジェクトファイル」(通常は.so拡張子が付けられています)とダイナミックライブラリ(通常は.dylib拡張子が付けられている)と呼ばれます。

共有オブジェクトは、一般的なLinuxシステムで広く使用されています。動的ライブラリは、ユビキタスほどではありません。.app形式では、実行可能な「ファイル」が大きくなるという犠牲を払って、複数のアーキテクチャをサポートする非常に安全な配布メカニズムが可能になるためです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.