回答
這取決於您的系統和操作系統。
對於典型的windows/linux用戶空間應用程序,地址是虛擬內存地址。用戶空間應用程序無法使用物理地址訪問內存 - 這是操作系統爲每個進程提供的抽象之一。
MMU(內存管理單元)爲每個內存訪問執行此翻譯,並由操作系統爲您的進程設置corect映射。
如果你的系統使用虛擬機的真實地址每次,然後在地址是虛擬的,如果它不,它不是。這與C或C++無關。
-1對於那些沒有貢獻任何東西,並沒有努力找出提問者試圖提問的努力。 – Edmund 2010-08-08 11:47:45
我沒有看到無用的瑣事,指出這是獨立於編程語言是一個有效的和一些啓發性的評論。 – 2010-08-08 13:02:27
這不是瑣事,這是無知。匿名顯然不知道什麼是虛擬內存。 – 2016-07-12 16:06:42
換句話說,作爲開發人員/程序員,您不必擔心地址是虛擬的還是真實的。指針在所有情況下完美運作。
除非你正在管理內存映射IO等等...... – 2010-08-08 17:50:19
在某些操作系統中,您正在與實際的物理地址進行交互,例如在舊的MS-DOS/Apple]中[OS可以直接在實際的圖形內存中查找。然而,這有一個侷限性,就是你的程序停留在內存中的某個地方。一個簡化的現代操作系統有一個內存管理器,通常屏蔽應用程序與實際物理內存,這使操作系統能夠以更有效的方式處理多個進程並允許應用程序虛擬內存。
在具有虛擬內存的實際操作系統上,當然不能配置,因爲普通進程沒有權限偷看和捅入物理內存;他們只能看到虛擬內存。
- 1. C++的引用,地址指針
- 2. C++中的指針地址
- 3. 「調用」指令位置的地址
- 4. 無法將指針位置設置爲C++中另一個指針位置的指針位置
- 5. delphi指針地址
- 6. 指針和地址
- 7. 如果指針是一個地址,那麼什麼是引用?
- 8. 指針和地址,該指針導致
- 9. 設置地址並初始化指針
- 10. 數組指針的地址
- 11. intptr的指針地址
- 12. 獲取指針字符指針的地址字符指針
- 13. 指向指針的指針與C中指針的地址有什麼區別?
- 14. 如何將指針指向的地址分配給另一個本地指針
- 15. 指定節點的指針地址
- 16. 將null指定給指針的地址
- 17. 函數指針地址(C++)
- 18. C++:指針值地址
- 19. C++地址和指針
- 20. 指針和參考地址
- 21. C指針和地址
- 22. Objective-C指針地址
- 23. 指針未對齊地址
- 24. 指針內存地址
- 25. 通地址指針功能
- 26. 幀指針+返回地址
- 27. 動態int指針地址?
- 28. IAT-物理地址中的dll指針?
- 29. 指向使用指南針的位置
- 30. 傳遞一個指針地址
在Linux上,用戶空間應用程序可以通過/ dev/mem讀取和映射物理內存。顯然,它必須是一個特權應用程序,儘管在用戶空間中。 http://lwn.net/Articles/147901/ – 2010-08-08 16:46:12