Printing the physical address of a C pointer

前端 未结 2 1856
灰色年华
灰色年华 2020-12-18 13:09

I can print the address of a pointer by using the following code

#include

        
相关标签:
2条回答
  • 2020-12-18 13:40

    It's in terms of virtual address space. It's impossible to get a "physical" address in standard C (unless you're on a system which doesn't have virtual memory, of course, in which case it'll always be the physical address) - if it's currently in swap space, for instance, it may not even have one, other than a current location on disk, which wouldn't be very useful to you.

    0 讨论(0)
  • 2020-12-18 13:45

    There is no way of the program knowing whether it is a virtual or physical address. The memory is handled by the operating system and MMU which hands out addresses to the program.

    0 讨论(0)
提交回复
热议问题