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

廣告


  

廣告



廣告