|
Q: Mac OS X のヘッダの中に dlopen がないようです。ライブラリとプラグインに動的にリンクするには、どのようにすればよいのでしょうか?
A: Mac OS X は dlopen を実装していませんが、動的リンクの選択肢は多数提供しています。
- Cocoa プログラマ向けには NSBundle を提供しています。
- Core
Foundation は、Mac OS X のライブラリとプラグインに動的にリンクするための 2 つの仕組みを提供しています(CFBundle と、その上の層を形成する CFPlugIn)。
- Darwin レベルで作業している場合は、動的リンカ (dyld) API を直接使用できます。dyld の詳細については、「ターミナル」で "man 3 dyld"、"man 1 dyld"、"man 3 NSModule" と入力してください。
- dlcompat というサードパーティライブラリがあります。これは、
dlopen やその他の同様の機能との一定の互換性を提供しています。このライブラリにはソースも含まれているため、dyld に対して dlopen をどのように実装しているかについても見ることができます。他のすべてのサードパーティ製ライブラリと同様に、dlcompat はアップルのサポート対象ではありません。
[2002 年 8 月 19 日]
|