tail head cat sleep
QR code linking to this page

manページ  — DLADDR

名称

dladdr – 指定のアドレスが含まれる共有オブジェクトを検出する

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <dlfcn.h>

int
dladdr(const void *addr, Dl_info *info);

解説

dladdr は、アドレス addr が含まれる共有オブジェクトに関する情報について動的リンカを 照会します。情報は、 info によって指定される構造体内に返されます。この構造体には 少なくとも次のメンバが含まれます。
const char *dli_fname 指定したアドレスが含まれる共有オブジェクトのパス名。
void *dli_fbase 共有オブジェクトが呼び出し元プロセスのアドレス空間にマップ されるベースアドレス。
const char *dli_sname addr 以下の値を持った最も近いランタイムシンボルの名前。 可能なときは、シンボル名が C ソースコードで表示されるように返されます。

適切な値のシンボルが見つからない場合は、このフィールドと dli_saddr の両方が NULL に設定されます。

void *dli_saddr dli_sname で返されたシンボルの値。

dladdr は動的にリンクされるプログラムでだけ利用できます。

エラー

addr が含まれているマップされた共有オブジェクトが見つからない場合、 dladdr は 0 を返します。この場合、失敗理由を詳しく述べたメッセージを dlerror() を呼び出すことで取り出すことができます。

成功時には、0 でない値が返されます。

関連項目

rtld(1), dlopen(3)

歴史

dladdr 関数は Solaris オペレーティングシステムではじめて登場しました。

バグ

この関数は、Solaris での実装とバグに互換性があります。特に、 次のバグが存在します。

DLADDR (3) February 5, 1998

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Unix’s “power tools” are more like power switchblades that slice off the operator’s fingers quickly and efficiently.
— The Unix Haters' handbook