  | 
≫  | 
 | 
  
 | 
    
      | 
    
    
    
     
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
  
 
  
 プログラムで使用されていない最小の仮想アドレスを判断します。
 
 
形式
#include <stdlib.h>
void *brk (unsigned long int addr);
 
  
 
引数
 
 addr最小アドレス。このアドレスがページ・サイズの次の倍数に切り上げられます。この切り上げられたアドレスを 
区切りアドレスと呼びます。
 
 
説明
区切りアドレス値に等しいかそれより大きく,スタック・ポインタより小さいアドレスは,プログラムのアドレス空間の外部にあると解釈されます。このようなアドレスを参照しようとすると,アクセス違反が発生します。
プログラムを実行する場合,区切りアドレスは,プログラム記憶域およびデータ記憶域によって定義される最大記憶位置に設定されます。したがって,
brk関数は,データ領域を拡大するプログラムでのみ必要です。
  
 
戻り値
 
| n
 | 
新しい区切りアドレス。
 | 
 
| (void *)( - 1)
 | 
プログラムが要求しているメモリ容量が多すぎることを示します。
errno
と
vaxc$errno
が更新されます。
 | 
 
 
  
 
 
 制限事項 |    |  
  
他の C ライブラリの実装と異なり, 
HP C RTL のメモリ割り当て関数 (
mallocなど) では,プログラム・ヒープ空間の管理で
brkや
sbrkに依存していません。したがって,OpenVMS システムで
brkまたは
sbrkを呼び出すと,メモリ割り当てルーチンを妨害する可能性があります。
brk関数と
sbrk関数が提供されるのは,互換性を維持するためだけです。
 
 
 
      |