C++ 指针中的哪个位置地址引用

C++ 指针中的哪个位置地址引用,c++,c,pointers,memory-management,C++,C,Pointers,Memory Management,指针中的地址指的是什么,主内存中的实际地址位置还是虚拟地址。可以进行配置 如果它指的是虚拟地址,内存管理器是否需要在每次访问该地址时将其转换为实际地址如果您的系统使用虚拟机,则该地址为虚拟地址,如果不使用,则该地址为非虚拟地址。这与C或C++无关。 < P>这取决于系统和OS。 对于典型的windows/linux用户空间应用程序,该地址是虚拟内存地址。用户空间应用程序无法使用物理地址访问内存——这是操作系统为每个进程提供的抽象之一 MMU(内存管理单元)对每次内存访问都进行这种转换,由操作系统

指针中的地址指的是什么,主内存中的实际地址位置还是虚拟地址。可以进行配置


如果它指的是虚拟地址,内存管理器是否需要在每次访问该地址时将其转换为实际地址

如果您的系统使用虚拟机,则该地址为虚拟地址,如果不使用,则该地址为非虚拟地址。这与C或C++无关。

< P>这取决于系统和OS。 对于典型的windows/linux用户空间应用程序,该地址是虚拟内存地址。用户空间应用程序无法使用物理地址访问内存——这是操作系统为每个进程提供的抽象之一


MMU(内存管理单元)对每次内存访问都进行这种转换,由操作系统为您的进程设置corect映射。

换句话说,作为开发人员/程序员,您不必担心地址是虚拟的还是真实的。指针在所有情况下都能完美工作。

在某些操作系统中,您与实际物理地址交互,例如在旧的MS-DOS/Apple中][OS]您可以直接在实际的图形内存中浏览。但是,这有一个限制,即您的程序被卡在内存中的某个位置。稍微简化的现代OS有一个内存管理器,通常将应用程序与实际的物理内存隔离开来,这使OS能够以更有效的方式处理多个进程y和允许应用程序使用虚拟内存。

在具有虚拟内存的实际操作系统上,当然不能进行配置,因为正常进程没有查看和戳物理内存的权限;它们只看到虚拟内存。

-1表示学究,不做任何贡献,也不努力找出问题所在r试图问。我没有看到无用的迂腐,指出这是一种独立于编程语言的有效说法,并且是一些启发性的评论。这不是迂腐,这是无知。anon显然不知道虚拟内存是什么。在Linux上,用户空间应用程序可以通过/dev/mem读取和映射物理内存。显然,它必须是特权应用程序,但仍在用户空间中。