寒假學習 day01 筆記
linux-vdso.so.1 (0x00007fff47eac000)
libc.so.6 => /lib64/libc.so.6 (0x00007f37c4414000)
/lib64/ld-linux-x86-64.so.2 (0x00007f37c47bc000)
a2 0x601048
a3 0x400828
b1 0x7fffaa41f41c
b2 0x60104c
b3 0x7fffaa41f418
p1 0x7fffaa41f510
p2 0xddd010
main 0x4005e8
f 0x4005d4
18155
00600000-00601000 r--p 00000000 08:13 1845721 /codes/gj/1
00601000-00602000 rw-p 00001000 08:13 1845721 /codes/gj/1
00ddd000-00dfe000 rw-p 00000000 00:00 0 [heap]
7f7916efa000-7f7917099000 r-xp 00000000 08:13 2883641 /lib64/libc-2.15.so
7f7917099000-7f7917298000 ---p 0019f000 08:13 2883641 /lib64/libc-2.15.so
7f7917298000-7f791729c000 r--p 0019e000 08:13 2883641 /lib64/libc-2.15.so
7f791729c000-7f791729e000 rw-p 001a2000 08:13 2883641 /lib64/libc-2.15.so
7f791729e000-7f79172a2000 rw-p 00000000 00:00 0
7f79172a2000-7f79172c3000 r-xp 00000000 08:13 2883719 /lib64/ld-2.15.so
7f7917490000-7f7917493000 rw-p 00000000 00:00 0
7f79174c1000-7f79174c3000 rw-p 00000000 00:00 0
7f79174c3000-7f79174c4000 r--p 00021000 08:13 2883719 /lib64/ld-2.15.so
7f79174c4000-7f79174c5000 rw-p 00022000 08:13 2883719 /lib64/ld-2.15.so
7f79174c5000-7f79174c6000 rw-p 00000000 00:00 0
7fffaa400000-7fffaa421000 rw-p 00000000 00:00 0 [stack]
7fffaa444000-7fffaa445000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
1. 普通變數是在棧中的,它的地址是 越早分配的地址越小,malloc 建立的記憶體是在堆中的地址是按順序分配下來的
2. malloc申請的變數不是申請4個位元組就只佔用4個直接,具體見後面。
3.malloc申請的記憶體結構
原因 堆是由鏈表管理的,。所以改變 p1+2 p1+3 的值會使 free 出錯。
其他知識點: