作者mayasky ( )
看板LinuxDev
標題Re: [問題] mmap memory issue
時間Fri Dec 18 20:24:06 2009
※ 引述《RiverJackson (JACK)》之銘言:
: 請問一下
: 我去開hello這個檔案
: 但是free一下 並沒有減少 4M空間(4000000)
: 還有為什麼p 要宣告成int呢
: exit(1);
: }
: p = mmap(NULL, 4000000, PROT_WRITE, MAP_SHARED, fd, 0);
: if (p == MAP_FAILED) {
: perror("mmap");
: exit(1);
: }
: close(fd);
: p[0] = 0x30313233;
: munmap(p, 6);
: return 0;
1.沒減少4M~因為你還沒真的用4M,只是先幫你作好4M的對應(VMA),demanded paging
2.你要用unsinged int也可以,反正一樣長,但你用VOID卻不能給值
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.215.91
推 RiverJackson:是喔 所以檔案會一值變大 直到4M的長度 12/18 23:59
→ RiverJackson:不是檔案多大就幫你 mapping多大的空間? 12/19 00:00
→ mayasky:那部份address留給你~但還沒實際對應到實體記憶體 12/19 00:14