![](/img/trans.png)
[英]How to place a variable at a given absolute address in memory (with Visual C++)
[英]How to read a memory address in Visual C++?
在ANSI CI中可以执行以下操作:
const long *address = 0x00000002; /* Example address */
printf("0x00000002 -> %ld", *address);
控制台将显示该内存地址的内容。 但是VC ++中的代码抛出:
错误C2440:“正在初始化”:无法从“ int”转换为“ const long *”
是否有从VC ++读取内存地址的本地方法,或者我必须调用API?
提前致谢。
您将地址表示为整数。 您需要将其强制转换为适当类型的指针:
const long *address = reinterpret_cast<const long *>(0x00000002);
并且您需要在标准C ++中执行该转换。 我不确定为什么您认为可以在标准C ++中省略强制类型转换。
当然,当您运行代码时,会遇到分段错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.