3 回答

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
有兩個(gè)常見(jiàn)的謬誤,我解釋下,你在c++也好,java也好,使用的地址,是邏輯地址,而不是內(nèi)存的物理地址。
換一句話說(shuō),兩個(gè)程序,都有一個(gè)叫1234的地址,它們其實(shí)是對(duì)應(yīng)物理內(nèi)存上兩個(gè)完全不同的地方。
另一個(gè)誤解是,內(nèi)存地址空間和內(nèi)存是不同的。因?yàn)橐恍┩庠O(shè)、rom等等,也會(huì)使用內(nèi)存地址,但是它們不是內(nèi)存。
比如說(shuō),1234這個(gè)地址,可能對(duì)應(yīng)的是計(jì)算機(jī)rom存儲(chǔ)器(也就是bios系統(tǒng))的一個(gè)地址,那么它顯然就是只讀的,而且顯然不是內(nèi)存。
類(lèi)似地,顯卡、dma方式存取的硬盤(pán),等等也有各自的地址,這些地址顯然也不是內(nèi)存。

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
0地址就是內(nèi)存地址的起始位置,當(dāng)然,這個(gè)地址一般是系統(tǒng)boot啟動(dòng)的地址,這個(gè)地址是受保護(hù)的,不允許應(yīng)該程序訪問(wèn)的,如果不小心訪問(wèn)到這個(gè)
地址,系統(tǒng)就會(huì)拋出一個(gè)異常,32位和64位就是系統(tǒng)尋址時(shí)內(nèi)存地址的位數(shù),這個(gè)也是等于尋址寄存器的位數(shù),比如32位地址表示例如:0x12345678,
如果是64位,那么地址就是0x0000000012345678,主要還是內(nèi)存地址占用位數(shù)不同。
- 3 回答
- 0 關(guān)注
- 703 瀏覽
添加回答
舉報(bào)