看板 LinuxDev 關於我們 聯絡資訊
※ 引述《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