When we get the address of a function (or any object, for that matter), is it the virtual address or physical address of that object??
Are you asking about pointers in general?
On most operating systems, they are logical addresses.
The operating system is responsible for translating them into physical addresses through the virtual memory and paging mechanism. This is transparent to the program. That's why a misguided program "hits the boundaries" and GPFs.
On some old systems (e.g., DOS), they would be physical, allowing you to overwrite stuff in other parts of memory.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With