munmap(解除記憶體對映)

2021-09-06 07:09:47 字數 494 閱讀 5346

munmap

munmap

(解除記憶體對映)

相關函式

mmap

表頭檔案

#include

#include

定義函式

int munmap(void *start,size_t length);

函式說明 munmap()

用來取消引數

start

所指的對映記憶體起始位址,引數

length

則是欲取消的記憶體大小。當程序結束或利用

exec

相關函式來執行其他程式時,對映記憶體會自動解除,但關閉對應的檔案描述詞時不會解除對映。

返回值 如果解除對映成功則返回0

,否則返回-

1,錯誤原因存於

errno

中錯誤**

einval

引數 start

或length

不合法。

原文:

Linux記憶體對映

使用記憶體對映處理大檔案很方便,在windows系統中,實現了這樣的藉口。在linux中我們也可以通過mmap函式來實現。以下內容完全參考自 如有冒犯,請諒解 mmap函式實現把乙個檔案對映到乙個記憶體區域,從而我們可以像讀寫記憶體一樣讀寫檔案,他比單純呼叫read write也要快上許多。在某些時...

記憶體對映檔案

記憶體對映檔案是利用虛擬記憶體把檔案對映到程序的位址空間中去,在此之後程序操作文 件,就像操作程序空間裡的位址一樣了,比如使用 memcpy 等記憶體操作的函式。這種方法能 夠很好的應用在需要頻繁處理乙個檔案或者是乙個大檔案的場合,這種方式處理 io效率比 普通 io效率要高。另外,unix 把它做...

記憶體對映檔案

記憶體對映檔案有三種,第一種是可執行檔案的對映,第二種是資料檔案的對映,第三種是借助頁面交換檔案的記憶體對映.應用程式本身可以使用後兩種記憶體對映.1.可執行檔案對映 windows在執行乙個win32應用程式時使用的是記憶體對映檔案技術.系統先在程序位址空間的0x00400000以上保留乙個足夠大...