看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《Dreamer77 (追夢)》之銘言: : ※ 引述《Dreamer77 (追夢)》之銘言: : 給定一個linkedlist : 以及一個指標 這個指標指向這linkedlist 內部的某node(非head) : 該怎麼找到這個node的前一個node呢? : 非double linkedlist 是一個單向的 : 想不到有什麼方法... 不難 pointer -> NodeB .. 比方為 0x405F3C 單向Link List 一定會有一個 NodeA-> Next 指向 NodeB 這時候只要針對process 的 memory 去搜尋 0x405F3C 就可以找到 NodeA->Next的位址.. 再根據struct的大小往上推一下,就是 NodeA的起始位置了.. 凡走過必留下痕跡阿 (茶) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.37.49
diabloevagto:你確定是連續... 04/22 16:36
diabloevagto:有可能找到此node的起點,但是找不到上一個node 04/22 16:42
bob123:暴力法搜尋 用說的是不難.. 如果記憶體中好死不死有4個byte 04/22 16:42
leiyan:系統會記錄程式抓了那些記憶體 不過會寫這個算強了 04/22 16:44
bob123:值是0x00 0x40 0x5F 0x3C呢(BE, LE就顛倒順序) 04/22 16:44
james732:雖然暴力而且可能會巧合,但確實是個方法 04/22 18:29
narcissusli:我也是想到掃記憶體,算是 simple is best 嗎? 04/23 00:05
Ting1024:當然阿,既然人家要我們解,我們就盡可能地解囉 :D 04/23 00:41
bob123:好吧同意~ :) 04/23 01:25
yuanyu90221:好特別的方法 04/24 00:39
damody:推掃記憶體 04/24 01:52