我想寫一個變量監視類,允許我通過它一個指針(理想情況下void *)尋址通常會完全超出範圍或者班級無法進入。然後該類將在屏幕上週期性地顯示該內存位置的內容 - 以用戶定義的方式解釋(例如。(int *))。我只會使用這個指針從內存中讀取數據,它會作爲一個骯髒的破解,在開發期間爲我在運行時暫時感興趣的變量開發一種監視窗口 - 而不需要引入大量代碼這些變量在範圍/類可訪問。使用無效的指針/內存地址:C++(windows)
我正在使用VC++ 2010,它似乎拒絕讓我甚至寫出一個超出範圍的內存位置地址的指針。
我想在windows下有很多事情要做,因爲這種方法在內存位置改變時可能具有非常有限的適用性,但我使用本機C++,因此希望我的地址足夠持久以便有用。此外,我可以看到,它不會像我訪問一個內存位置,我的程序實際上沒有實際使用的安全原因...
任何想法我可以做到這一點? (我意識到使用這樣的指針會產生未定義的行爲,所以只會從中讀取並顯示值)。
謝謝。
以什麼方式VC++拒絕讓你做到這一點?也就是說,到目前爲止您嘗試了什麼?你應該只能說「void * x =(void *)12345;」 – 2011-03-25 13:52:38
如果你的目標是觀察你自己的變量,你爲什麼要訪問你沒有使用的內存?這沒有任何意義。 – 2011-03-25 13:54:29
丹尼爾,我正在使用它 - 但例如它可能是堆棧上的地址,或刪除的堆地址。我使用它的方式 - 我不指望它會消失,但理論上它可以... – ChrisJH 2011-03-25 14:02:14