Re: [問題] mmap memory issue
請問一個網路上例子
http://learn.akae.cn/media/ch28s08.html
0000000 68 65 6c 6c 6f 0a
h e l l o \n
0000006
為什麼做完p[0] = 0x30313233;
會變成
$ od -tx1 -tc hello
0000000 33 32 31 30 6f 0a
3 2 1 0 o \n
0000006
從hello 變成3210o呢?
※ 引述《mayasky ( )》之銘言:
: ※ 引述《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: 118.166.164.142
→
12/20 11:56, , 1F
12/20 11:56, 1F
→
12/20 13:04, , 2F
12/20 13:04, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章