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

廣告


  

廣告



廣告
© . All rights reserved.