字地址存儲器和字節地址存儲器是什麼意思?字節地址存儲器和字地址
1
A
回答
4
這通常用在底層硬件的上下文中。現在的大多數系統都有字節尋址的存儲器。也就是說,內存中的每個字節都可以單獨尋址和提取。
某些系統具有字尋址內存,指針寄存器包含單個字的地址。而且,無論何時提取內存,都會提取整個單詞。如果你需要一個特定的字節,編譯器將獲取一個字,然後安排獲取所需的字節。
請注意,在這樣的系統上,對指針使用reinterpret_cast是非常危險的,因爲實現可能(爲了效率)將指向字對齊的指針指向字指針,並將指向字節對齊的指針指向字節指針。所以,如果你的內存看起來有點像這樣:
word X : aa ab ac ed
word X+1: ba bb bc bd
一個指向字X包含X,而是一個字節的指針到AA將包含X * 4
reinterpret_cast<word *>(&aa)
會給你X的字指針* 4這將是尷尬的錯誤。
在一個字節尋址的機器上,字和字節指針都會包含X * 4,所以它是'安全的'(也就是說未定義的行爲和混淆)在reinterpret_cast之間。
0
與湯姆同意......在字訪問內存時(在AHB總線等)訪問內存對於這種類型的內存,你可以擁有整個4個字節,如果U嘗試訪問字節,你會得到不確定的行爲
相關問題
- 1. 存儲器地址中存儲了多少個字節?
- 2. 查找存儲器地址
- 3. 不同存儲器地址
- 4. 多存儲器地址
- 5. 編輯存儲器地址
- 6. Python的IPv6字節地址
- 7. 從內存地址獲取字節?
- 8. C++:將地址存儲爲字符串
- 9. Mongoid:IPv6地址存儲
- 10. 存儲獲取和存儲IP地址
- 11. Java IPv6地址字符串到字節
- 12. 文字的內存地址
- 13. 如何將IP地址轉換爲MAC地址字節數組?
- 14. 以Java存儲IP地址
- 15. sqlite的IP地址存儲
- 16. 存儲地址簿記錄
- 17. 將dword存儲到地址
- 18. phpmailer addBCC不存儲地址
- 19. soap:地址和http:地址
- 20. MAC地址和IP地址
- 21. C#靜態存儲器地址
- 22. 變存儲器地址歸屬EXEC_BAD_ACESS
- 23. 存儲器地址讀/寫VB程序
- 24. 一次從一個字節獲取變量存儲器地址的數據
- 25. 4字節未對齊寫入地址
- 26. 轉換串MAC地址字節數組
- 27. 將文字地址映射到節
- 28. specyfic地址的字節數組C++
- 29. Python - 來自字節地址的UnicodeDecodeError?
- 30. Return to Libc在地址空字節
你能告訴我們你遇到這些情況的背景嗎? – cnicutar 2012-08-09 06:47:06
int數組是字地址,並且char數組(假定爲8位字符)是字節地址。 – jxh 2012-08-09 06:49:57
@ user315052:不是 - 這些術語與計算機體系結構有關 – 2012-08-09 10:05:59