Makefileをチェックしていますが、使用されているライブラリは次のとおりです。
LIBS = -lcppunit -ldl
lcppunit
はユニットテストライブラリです。では、ldl
とは何ですか?
libdl
は ダイナミックリンクライブラリ です。
これはダイナミックローダーへのインターフェースであり、クライアントプログラムに、他のライブラリを明示的にロードしたり、シンボルをルックアップしたりする機能を提供します。
リンカは、プログラムとライブラリ自体をロードしながら共有ライブラリの通常の使用を可能にするために必要なことを行うため、ほとんどのプログラムはそのようなことを明示的に行う必要はありません。ただし、賢いプログラム、またはダイナミックリンクシステムとそのデータを探索および操作しようとするプログラムには、明示的なアクセスが必要です。一部の機能は、Javaでのリフレクションとはかなり似ていますが、大きな制限があります(動的シンボルにのみ適用するなど)。
libdl
は、明確に定義されたインターフェイスを備えたプラグインアーキテクチャで使用されるダイナミックリンクライブラリです。少なくともそれは私がそれが使われるのを見た方法です。