プログラミングインタフェース

brksbrk の使用法

break は、スタック内には存在しないプロセスイメージにおいて最大の有効なデータアドレスです。プログラムが実行を開始するとき、ブレーク値は通常、execve(2) によって、プログラムとそのデータ記憶領域によって定義される最大のアドレスに設定されます。

brk(2) を使用すると、さらに大きなアドレスにブレークを設定できます。また、sbrk(2) を使用すると、プロセスのデータセグメントに記憶領域の増分を追加できます。getrlimit(2) の呼び出しを使用すると、データセグメントの取得可能な最大サイズを取得できます。

caddr_t
brk(caddr_t addr);

caddr_t
sbrk(intptr_t incr);

brk は、呼び出し元プログラムが使用していないデータセグメントの最低の位置を addr に設定します。この位置は、システムページサイズの次の倍数に切り上げられます。

sbrk (代替のインタフェース) は、呼び出し元プログラムのデータ空間に incr バイトを追加して、新しいデータ領域の開始場所へのポインタを返します。