brk() - Unix,Linux 系统调用
Tutorials Point


  Unix 初学者指南
  Unix Shell 编程
  高级 Unix
  Unix 有用参考
  Unix 有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于 TP  

brk() - Unix,Linux 系统调用


previous next AddThis Social Bookmark Button

广告

名称

brk, sbrk - 更改数据段大小

语法

#include <unistd.h> int brk(void *end_data_segment); void *sbrk(intptr_t increment);

描述

brk() 将数据段的末尾设置为 end_data_segment 指定的值,当该值合理时,系统确实有足够的内存,并且进程不会超过其最大数据大小(参见 setrlimit(2))。

sbrk() 将程序的数据空间增加 increment 字节。sbrk() 不是系统调用,它只是一个 C 库包装器。使用增量为 0 调用 sbrk() 可以用来查找程序中断的当前位置。

返回值

成功时,brk() 返回零,sbrk() 返回指向新区域起始位置的指针。发生错误时,返回 -1,并将 errno 设置为 ENOMEM

符合标准

4.3BSD;SUSv1,在 SUSv2 中标记为 LEGACY,在 POSIX.1-2001 中删除。

brk() 和 sbrk() 在 C 标准中未定义,并且故意从 POSIX.1 标准中排除(参见第 B.1.1.1.3 和 B.8.3.3 段)。

注释

各种系统对 sbrk() 的参数使用各种类型。常见的有 intssize_tptrdiff_tintptr_t

参见



previous next Printer Friendly

广告


  

广告



广告