munmap 注意事項

2021-08-29 11:04:52 字數 530 閱讀 9595

linux/unix 下,或者說posix 的munmap,很簡單,只有兩個引數:

int munmap(void *start, size_t length);

其中 length 必須是 mmap 時的 length,如果小於當初 mmap 時的那個 length,並且正好少的部分跨越了乙個page,那就麻煩了,我就犯了這個錯誤,非常嚴重的後果!記憶體洩漏,不是洩露了剛好少 unmap 的那個 page,而是整個 [start, length) 區域都不會成功被 unmap,也許記憶體中的更改已經寫入檔案,但是虛擬記憶體空間[start,length)未被釋放!如此多次,會造成 enomem!

感謝上帝,搞了半天,這個問題終於被發現了。

感覺吧,windows 的很簡單 unmapviewoffile 就乙個引數,就是 mapviewoffile 返回的那個位址,unmapviewoffile 時整個 map 區域都被釋放,而 posix 的 munmap,從理論上講,可以一次 mmap 一大塊區域,然後多次 unmap 這個區域中的不同部分,這的確提高了一些靈活性,但是……。

java DOM 注意事項

1.w3c把標籤內的文字部分也定義成乙個node 2.element物件代表的是xml文件中的標籤元素 繼承於node,亦是node的最主要的子物件 3.attr實際上是包含在element中的,它並不能被看作是element的子物件,因而在dom中attr並不是dom樹的一部分,所以node中的 ...

static注意事項

static關鍵字是c,c 中都存在的關鍵字,它主要有三種使用方式,其中前兩種只指在c語言中使用,第三種在c 中使用 c,c 中具體細微操作不盡相同,本文以c 為準 1 區域性靜態變數 2 外部靜態變數 函式 3 靜態資料成員 成員函式 下面就這三種使用方式及注意事項分別說明 一 區域性靜態變數 在...

CSS注意事項

一 寬度 高度 對齊方式請別忘記他們 只要你時刻記得 div css 不變形的秘密你已經掌握了 90 也有對齊方式哦!一定要掌握當 對齊方式不同是 布局出現的問題!左右左 能不變形嗎?預設 是要換行的哦 div css的 居中對齊 是有條件的哦 所有當同級元素的對齊方式都為居中對齊的時候可以採用居中...