-.\" Copyright (c) 2008, Linux Foundation, written by by Michael Kerrisk
+.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" the source, must acknowledge the copyright and authors of this work.
.\" License.
.\"
-.\" Japanese Version Copyright (c) 2008 Akihiro MOTOKI
-.\" all rights reserved.
-.\" Translated 2008-08-21, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.05
-.\"
-.TH END 3 2008-07-17 "GNU" "Linux Programmer's Manual"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH END 3 2008\-07\-17 GNU "Linux Programmer's Manual"
.SH 名前
etext, edata, end \- プログラムセグメントの終わり
.SH 書式
.nf
-.BI extern " etext" ;
-.BI extern " edata" ;
-.BI extern " end" ;
+\fBextern\fP\fI etext\fP\fB;\fP
+\fBextern\fP\fI edata\fP\fB;\fP
+\fBextern\fP\fI end\fP\fB;\fP
.fi
.SH 説明
これらのシンボルのアドレスは各種のプログラムセグメントの終わりを示す。
-.TP
-.I etext
+.TP
+\fIetext\fP
テキストセグメント (プログラムのコード) の末尾の次のアドレス。
-.TP
-.I edata
+.TP
+\fIedata\fP
初期化されたデータのセグメントの末尾の次のアドレス。
-.TP
-.I end
-初期化されていないデータのセグメント (BSS セグメントとも言われる)
-の末尾の次のアドレス。
+.TP
+\fIend\fP
+初期化されていないデータのセグメント (BSS セグメントとも言われる) の末尾の次のアドレス。
.SH 準拠
-これらのシンボルは長年ほとんどの UNIX システムで提供されているが、
-標準化されてはいない。注意して使うこと。
+これらのシンボルは長年ほとんどの UNIX システムで提供されているが、 標準化されてはいない。注意して使うこと。
.SH 注意
-プログラムではこれらのシンボルは明示的に宣言しなければならない。
-これらはどのヘッダファイルでも定義されていない。
+プログラムではこれらのシンボルは明示的に宣言しなければならない。 これらはどのヘッダファイルでも定義されていない。
-いくつかのシステムでは、これらのシンボルの名前は前にアンダースコアが
-付いていて、
-.IR _etext ,
-.IR _edata ,
-.I _end
-となっている。
-Linux でコンパイルされたプログラムでは、
-これらのシンボルでも定義される。
+いくつかのシステムでは、これらのシンボルの名前は前にアンダースコアが 付いていて、 \fI_etext\fP, \fI_edata\fP, \fI_end\fP
+となっている。 Linux でコンパイルされたプログラムでは、 これらのシンボルでも定義される。
-プログラムの実行開始時に、プログラム・ブレークは
-.I &end
-の近くのどこか (おそらく次のページの先頭) になる。
-しかしながら、
-.BR brk (2)
-や
-.BR malloc (3)
-でメモリが割り当てられるに連れて、プログラム・ブレークは変化していく。
-引き数に 0 を指定して
-.BR sbrk (2)
-を呼び出すことで、プログラム・ブレークの現在値を知ることができる。
+プログラムの実行開始時に、プログラム・ブレークは \fI&end\fP の近くのどこか (おそらく次のページの先頭) になる。 しかしながら、
+\fBbrk\fP(2) や \fBmalloc\fP(3) でメモリが割り当てられるに連れて、プログラム・ブレークは変化していく。 引き数に 0 を指定して
+\fBsbrk\fP(2) を呼び出すことで、プログラム・ブレークの現在値を知ることができる。
.SH 例
下記のプログラムを実行すると、次のような出力が得られる。
.in +4n
.nf
-.RB "$" " ./a.out"
+$\fB ./a.out\fP
First address past:
program text (etext) 0x8048568
initialized data (edata) 0x804a01c
uninitialized data (end) 0x804a024
.fi
+.in
.SS プログラムのソース
\&
-.in
.nf
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char *argv[])
{
- printf("First address past:\\n");
- printf(" program text (etext) %10p\\n", &etext);
- printf(" initialized data (edata) %10p\\n", &edata);
- printf(" uninitialized data (end) %10p\\n", &end);
+ printf("First address past:\en");
+ printf(" program text (etext) %10p\en", &etext);
+ printf(" initialized data (edata) %10p\en", &edata);
+ printf(" uninitialized data (end) %10p\en", &end);
exit(EXIT_SUCCESS);
}
.fi
.SH 関連項目
-.BR objdump (1),
-.BR readelf (1),
-.BR sbrk (2),
-.BR elf (5)
+\fBobjdump\fP(1), \fBreadelf\fP(1), \fBsbrk\fP(2), \fBelf\fP(5)