【发布时间】:2012-03-16 02:33:41
【问题描述】:
我想基本上做以下事情(这可能是危险的,什么不是)只是为了它的见鬼:
int main() {
int x = 0x00ff00ff;
printf("Value at addr x: %x\n",*x);
return 0;
}
基本看一下我机器中某个地址的内容。也许写信给它。我猜我不允许做后者。
我得到的错误是error: invalid type argument of 'unary *'。
有什么办法吗?
【问题讨论】:
-
不一定,@L7ColWinters,这取决于实现。即使在 Linux 或其他受保护内存的操作系统中,也可能有人将实际内存映射到该地址。或者,您可能正在运行的系统提供对物理内存的无限制访问。
-
由于虚拟寻址,这不太可能做任何太有趣的事情,除非这恰好是嵌入式环境等。如果你真的想偷看系统内存,你需要像 Linux 上的
/dev/mem这样的东西
标签: c pointers memory-address