2011-11-19 12 views
5

共有オブジェクトのdlopen()によってどのパスが検索されるかをプログラムで調べる方法はありますか?私はいつもdlopen()が/ libと/ usr/libだけを見ていると思っていましたが、Linux Mintではlibglib-2.0.soのようないくつかのコアコンポーネントが/ rofs/lib/i386-gnu-linuxなどがあります。 dlopen()が共有オブジェクトを検索するこれらのパスをすべて知る方法はありますか?私はすでに環境変数LD_LIBRARY_PATHをチェックしましたが、まったく定義されていません。dlopen()検索パス

答えて

7

ldconfigのmanページを見て、ファイル:ld.so.confヒントのほか/etc/ld.so.conf

2

あなたは、特定のライブラリがdlopen -edであることを確認したい場合は、dlopenへのパスを渡します、例えばdlopen("/some/path/to/lib.so", RTLD_LOCAL)またはおそらくdlopen("./lib.so", RTLD_LOCAL)ではなく、dlopen("lib.so", RTLD_LOCAL)