diff options
Diffstat (limited to 'ja_JP.eucJP/man/man3/dladdr.3')
-rw-r--r-- | ja_JP.eucJP/man/man3/dladdr.3 | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/ja_JP.eucJP/man/man3/dladdr.3 b/ja_JP.eucJP/man/man3/dladdr.3 index 298d72f262..5b0ace716b 100644 --- a/ja_JP.eucJP/man/man3/dladdr.3 +++ b/ja_JP.eucJP/man/man3/dladdr.3 @@ -23,15 +23,17 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: dladdr.3,v 1.2 1998/08/31 16:40:59 wosch Exp % -.\" +.\" %FreeBSD: src/lib/libc/gen/dladdr.3,v 1.3.2.2 2001/08/17 15:42:32 ru Exp % .\" $FreeBSD$ +.\" .Dd February 5, 1998 -.Os FreeBSD +.Os .Dt DLADDR 3 .Sh 名称 .Nm dladdr -.Nd 指定のアドレスが入った共有オブジェクトを検出する +.Nd 指定のアドレスが含まれる共有オブジェクトを検出する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include <dlfcn.h> .Ft int @@ -40,22 +42,21 @@ .Nm は、アドレス .Fa addr -が入った共有オブジェクトについての情報を動的リンカ -で照会します。情報は、 +が含まれる共有オブジェクトに関する情報について動的リンカを +照会します。情報は、 .Fa info -によって指定される構造体内に返されます。構造には -少なくとも次のメンバが入っています。 +によって指定される構造体内に返されます。この構造体には +少なくとも次のメンバが含まれます。 .Bl -tag -width "XXXconst char *dli_fname" .It Li "const char *dli_fname" -アドレスが入った共有オブジェクトのパス名。 +指定したアドレスが含まれる共有オブジェクトのパス名。 .It Li "void *dli_fbase" 共有オブジェクトが呼び出し元プロセスのアドレス空間にマップ されるベースアドレス。 .It Li "const char *dli_sname" -値が .Fa addr -以下の最も近いランタイムシンボルの名前。 -可能なときは、シンボル名が、C ソースコードで表示されるように返されます。 +以下の値を持った最も近いランタイムシンボルの名前。 +可能なときは、シンボル名が C ソースコードで表示されるように返されます。 .Pp 適切な値のシンボルが見つからない場合は、このフィールドと .Va dli_saddr @@ -71,30 +72,30 @@ は動的にリンクされるプログラムでだけ利用できます。 .Sh エラー .Fa addr -が入っているマップされた共有オブジェクトが見つからない場合、 +が含まれているマップされた共有オブジェクトが見つからない場合、 .Nm は -0 を返します。この場合、障害を説明するメッセージが +0 を返します。この場合、失敗理由を詳しく述べたメッセージを .Fn dlerror -を呼び出すことで取り出せます。 +を呼び出すことで取り出すことができます。 .Pp -成功の場合、ゼロでない値が返されます。 +成功時には、0 でない値が返されます。 .Sh 関連項目 .Xr rtld 1 , .Xr dlopen 3 .Sh 歴史 .Nm -関数は Solaris オペレーティングシステムで最初に現れました。 +関数は Solaris オペレーティングシステムで最初に登場しました。 .Sh バグ -この関数は Solaris とバグに互換性があります。特に、 +この関数は、Solaris での実装とバグに互換性があります。特に、 次のバグが存在します。 .Bl -bullet .It .Fa addr が共有ライブラリではなくメインの実行可能モジュールにある場合、 .Va dli_fname -で返されるパス名は正しくない可能性があります。パス名は呼び出し -プロセスの +で返されるパス名は正しいものにならない可能性があります。 +パス名は呼び出しプロセスの .Va argv[0] から直接取り出されます。フルパス名で指定されたプログラム を実行するとき、ほとんどのシェルは @@ -106,14 +107,17 @@ .Fa addr が形式 .Va &func -であり、 +( .Va func -がグローバル関数の場合、その値が意外に -良くない可能性があります。動的にリンクされたプログラムでは、 -グローバル関数のアドレスは、関数自体の開始点ではなく、 -プログラムリンクテーブルのエントリを指すと考えられます。これによって、 -ほとんどのグローバル関数が、実際にコードが常駐する共有ライブラリではなく、 -メインの実行可能モジュール内部で定義されるように見えます。 +はグローバル関数) である場合、その値が +好ましくない驚くものになってしまう +可能性があります。動的リンクされたプログラムでは、 +グローバル関数のアドレスは関数そのもののエントリポイントではなく、 +プログラムリンクテーブルのエントリを指すと考えられます。 +このため、大部分のグローバル関数が、実際のコードが入っている +共有ライブラリではなく、メインの実行可能モジュール内部で +定義されているように見えます。 .It -処理失敗の印として 0 を返すのは、Unix の長い伝統に反します。 +処理の失敗を示すものとして 0 を返すのは、長く続いている +Unix の伝統に反することです。 .El |