PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   記憶體錯誤導致程式結果出錯 (https://www.pcdvd.com.tw/showthread.php?t=1108861)

whatsnew 2016-08-01 01:45 AM

試了很多次基本上確定不會是code問題,主要是換台機器跑就不會此類有問題
所以下此結論,原本機器跑時,有時還是會出錯就是
最後方案就是換台機器跑
至於記憶體覆蓋的問題我就不太懂了,同樣指令下我想都是只叫出有需要被執行的code吧
謝謝各位的意見

asccpu 2016-08-01 09:53 AM

引用:
作者whatsnew
至於記憶體覆蓋的問題我就不太懂了,同樣指令下我想都是只叫出有需要被執行的code吧
謝謝各位的意見

因為WIN下(或其他多工OS)非單工,所以會有階級之分,WIN共分4層(通常叫"環"),核心程式在第0環(最高),而使用者的程式在第3環(最低),因此環3不能直接控制比它高的地方(如記憶體存取..等)。
再者,因是多工,所以你的程式在載入後,各記憶體區會被鎖定,例如 程式碼區一定是唯讀,你要改變程式碼或寫入DATA,一定會得到"該記憶體不能寫入"等類似的訊息,不像以前在DOS下可以玩SMC(自我變更程式碼)方法。

有關更多保護模式下的種種,可參考 http://1drv.ms/1fBQnDB 中的第5,6,7章,雖然是舊資料,但基本的改變不了,現在的程式員不一定要深入明瞭,但有個概念也好。

至少了解....X86是什麼怪物.... :D :D


所有的時間均為GMT +8。 現在的時間是12:40 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。