Visual Studio,解释变量的地址
Visual Studio, interpret address of variable
我正在64位系统上测试东西,在Visual Studio中,我得到了以下代码的输出。
#include <iostream>
using namespace std;
int main()
{
int asdf = 32;
cout << &asdf;
}
00ACF88C
在带有 -m32 的 GCC 中,我得到了0xfffc1828。这两个地址之间有什么区别?0xff和00一样吗?这些是逻辑地址还是物理地址?
放置变量的地址完全取决于实现。这些地址没有什么特别之处,除了您的编译器和平台决定在您运行程序的特定时间用来存储该特定整数的地址。
在具有虚拟内存的系统上,您可以访问的大多数地址(除非您正在编写内核的内存管理单元)都将是虚拟地址。
相关文章:
- 将数组的地址分配给变量并删除
- 将地址分配给本地指针后,公共对象的变量将消失
- 通过按地址访问变量
- 为什么未命名的结构内联变量在每个翻译单元中没有相同的地址?
- 为什么我可以将变量存储在不是其最小对齐方式的倍数的地址?
- 为什么同一个变量的内存地址不同?
- 从二进制流中读取时,将双精度变量的地址转换为 char* 意味着什么?
- 不同块作用域中的 C++ 变量具有相同的地址
- 循环中的变量被设置为下一个数组的元素始终具有相同的内存地址?
- C++在变量的内存地址上做什么来"deallocate"它?
- 如何在不为其声明变量的情况下获取和使用常量值的地址?
- 如何找到在本地范围内声明的变量的地址?
- 附加调试器并以编程方式获取变量地址 Visual Studio
- 初学者问题:C++指针/地址 - 和变量之后不是以前?
- 为什么我无法获取 MSVS2019 / C++ 中字符或uint8_t变量的内存地址?
- 为什么变量的打印地址在每次执行时都会打印随机值,即使它是 C 中的逻辑地址?
- 变量地址的运算符[]是如何工作的
- 使用基地址和偏移量获取变量的地址
- 两个不同的进程,在同一地址上有 2 个 std::atomic 变量?
- libmysql:警告:返回局部变量"行"的地址(C++/C)