dlopen()によって共有オブジェクトが検索されるパスをプログラムで見つける方法はありますか?dlopen()は/libと/usr / libだけを見るといつも思っていましたが、Linux Mintでは、libglib-2.0.soのようないくつかのコアコンポーネントがまったく異なるフォルダー、つまり/ rofs /lib/にあることがわかりました。 i386-gnu-linuxおよびその他。dlopen()が共有オブジェクトを検索するこれらすべてのパスを知る方法はありますか?すでに環境変数LD_LIBRARY_PATHを確認しましたが、まったく定義されていません。
15038 次
2 に答える
10
ldconfig
マニュアルページとファイルを見てください。/etc/ld.so.conf
于 2011-11-19T11:18:07.727 に答える
6
ld.so.conf
ヒントに加えて:
特定のライブラリが -edであることを確認したい場合は、dlopen
にパスを渡します。dlopen
dlopen("/some/path/to/lib.so", RTLD_LOCAL)
dlopen("./lib.so", RTLD_LOCAL)
dlopen("lib.so", RTLD_LOCAL)
Linuxの場合は、dlopen(3)man
のページを読んでください。
于 2011-11-19T12:03:36.083 に答える