我會盡我所能解釋我的問題。所以,我用C/C++編寫的應用程序(客戶端應用程序中的語言無關緊要),它從DLL導入一個函數,例如uint32_t * GetMemoryPointer()。然後它在序列寫入該存儲器指針這樣的:觀看從應用程序接收到的指定內存指針的寫入
uint32_t* ptr = (uint32_t*)GetMemoryPointer();
*ptr = 3;
*ptr = 4;
*ptr = 1050;
它這樣做是序列中,而不將該值改變爲DLL的任何信息。是否有可能在DLL中觀看這個值?我試圖做一個線程和循環查找更改,但它不可靠。有更好的解決方案嗎?我對這樣做感興趣:應用程序寫入,DLL發現該值已更改,HOLDS應用程序執行然後解釋此值,然後允許應用程序繼續執行。另一種不需要申請的方式可能會推動堆疊的新價值,但我需要了解每一個變化。我感興趣的平臺是Windows。語言無所謂可能是C或C++。是否有可能實現這一目標?這對我來說非常重要,而且我沒有想法。我不想要代碼,但我希望被告知是否有可能以及需要採用哪種方式。提前致謝。
imho,這是一個XY問題。 http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem你應該解釋你想達到什麼。 – manuell 2014-12-27 15:17:14
我解釋了我想實現的目標,我想實現對DLL中映射的內存小區域(例如4B變量)的監視,並在發生應用程序端更改時得到通知。就這樣。 – 2014-12-27 16:08:19
你沒有解釋爲什麼你想監視一個小區域的內存。您無法控制客戶端應用程序? – manuell 2014-12-27 16:17:43