| 日本−日本語 |
|
|
|
![]() |
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > nnlist(3E)Itanium(R) ベース システム用HP-UX 11i Version 2: September 2004 |
|
名称nlist(), nlist64() ― ネームリストからエントリーを取得 構文nlist()cc [flag]... cfile ... -lelf [library]... #include <nlist.h> int nlist(const char *file_name, struct nlist *nl); 説明nlist() と nlist64() は、基本的に同じ機能を持っており、SOM ファイルや ELF ファイルを処理することができます。 nlist 構造体は nlist64 構造体と同じ構造を持ち、ソースコードの互換性を高めるために使用されます。 nlist/nlist64 関数は、 file_name で名前が指定された実行可能ファイルのネームリストを調べ、そこから値を選択して抽出し、そのリストを nl が指す nlist/nlist64 構造体の配列に格納します。 nlist/nlist64 構造体の配列には、初期値として変数の名前だけが格納されています。 nlist/nlist64 関数を呼び出すと、変数名にシンボル情報が付け加えられます。 リストの最後には null ネームが加えられていて、そこでリストが終わっていることを表しています。null ネームは null 文字列からなる名前で、構造体の変数名の位置に置かれます。 各変数名は、ファイルのネームリストを検索して探されます。 名前が見つかると、シンボルのタイプ、有効範囲、およびファイル内の値が、ネームリスト構造体に挿入されます。 検索するファイルが ELF ファイルの場合は、セクションインデックスも挿入されます。 SOM ファイルの場合は、サブスペースインデックスが挿入されます。 シンボルの値は 64 ビットです。 検索するファイルが SOM ファイルのときには、値フィールドにゼロが埋められます。 名前が見つからない場合は、ネームリスト構造体のフィールドには 0 が設定されます。 構造体 nlist および nlist64 は、インクルードファイル <nlist.h> で定義されています。 シンボルテーブル構造体の詳細については、 a.out(4) と nlist(4) を参照してください。 指定する実行可能ファイルの構造とシンボルテーブルは、 a.out(4) で a.out ファイルに対して説明されている仕様に合っている必要があります。 情報はリンカー ld(1) が使用するシンボルテーブルから抽出されます。 実行可能ファイルがこうした条件を満たしているコンピュータでは、 ファイル /stand/vmunix に保持されているシステムのネームリストをこの関数を用いて調べることにより、最新のシステムアドレスを得ることができます。 戻り値指定のファイルが見つからないか、見つかってもリンカーシンボルテーブルを持った有効なオブジェクトファイルでない場合は、 nlist 構造体のすべてのフィールドに 0 が設定されます。 nlist() は、エラーがあったときは -1 を、また正常終了のときは 0 をそれぞれ返します。 |
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||