動的ライブラリ

読み:どうてきライブラリ
外語:dynamically loaded library 英語
品詞:名詞

ライブラリの一種で、実行時動的リンクされるために用意されるもの。

目次

動的リンクには二種類ある。

このうち実行時動的リンクは、プログラム中で必要な時に読み込まれる。つまり、プログラマーが必要なライブラリを逐次選択する必要がある。

共有ライブラリとは異なり、扱いは頻雑である。

扱い方はどんなオペレーティングシステムでも大して変わらないので、一度覚えれば融通は利くが、扱いが複雑で非常に使いにくい。しかしもし指定のライブラリが環境に無い場合でも、プログラムで適切な処理ができるという利点がある。

Windows

Microsoft Windowsの場合、次の手順を踏む。

  1. ライブラリをLoadLibrary()またはLoadLibraryEx()でオープン
  2. GetProcAddress()でライブラリ内にあるシンボルを検索
  3. その結果を、関数ポインターとして用いて関数コール
  4. 用後はFreeLibrary()する

ライブラリの識別は、HMODULE型変数によって行なわれている。

UNIX/Linux

Linuxの場合、次の手順を踏む。Linuxも*BSDも、Solarisの仕様に準拠して実装されている。

  1. ライブラリをdlopen()でオープン
  2. dlsym()でライブラリ内にあるシンボルを検索
  3. その結果を、関数ポインターとして用いて関数コール
  4. 用後はdlclose()する

ライブラリの識別はWindowsと同様ハンドルで行なうが、その型はvoid *である。

djb教を信仰する人や、潔癖な人は、やはりWindowsと同様のものを定義して使うべきであろうか。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club