看板 C_and_CPP 關於我們 聯絡資訊
我有一個函式指標的問題。 函式指標指向一個函式, 指標所指的位址為何會與函式本體的位址不一樣? IDE:Visual Studio VC++ 程式截圖如下所示…… 圖片在此:http://0rz.tw/xQ7Jm -- 耗呆小綿羊~~~個人網頁:http://tw.myblog.yahoo.com/mjshya/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.0.85
twotwoone:右鍵-移至反組譯碼,總之是p()不能直接跳到那麼遠 02/09 16:56
twotwoone:先跳到一個中間,接著再跳去func(),所以看到中間的位址 02/09 16:57
VictorTom:小弟也Disasm過, 但是看起來第一個位址有一堆的function 02/09 17:11
VictorTom:前後段全是jmp; 另外就算是直接call func(), 也是會先跳 02/09 17:12
VictorTom:到那個像table的地方(不是直接進func watch到的那個位址 02/09 17:12
VictorTom:說); 晚點有空再來查查jmp的range可以到前後多少好了Orz 02/09 17:13
johnhmj:它是不是像「間接定址」,間接指向函式本體? 02/09 17:22
QQ29:cout印一樣 為啥add watch就不一樣@@ 02/09 17:33
johnhmj:對喔~列印出來是相同的,但是監看視窗顯示卻不一樣! 02/09 18:19
VictorTom:補一下, watch的是func真正的起點, print ptr出來的都是 02/09 19:27
VictorTom:中間轉跳的位址, 不管是watch p或func.... 02/09 19:28
VictorTom: 不管是print p或func才對, typo....orz 02/09 22:10