12

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

4

2 に答える 2

10

ldconfigマニュアルページとファイルを見てください。/etc/ld.so.conf

于 2011-11-19T11:18:07.727 に答える
6

ld.so.confヒントに加えて:

特定のライブラリが -edであることを確認したい場合は、dlopenにパスを渡します。dlopendlopen("/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 に答える