被操作系统忽悠了...
你要是在没有操作系统, 而且缓存足够小的平台上运行, 就可以得到你想要的值.
建议你补充下你应用的操作系统
如果是Windows, 你可以考虑在第二个进程中用OpenProcess先打开第一个进程. 然后就可以用ReadProcessMemory和WriteProcessMemory对第一个进程的内存进行读写
因为0x0012FF60实际是指向一个临时的缓冲区,通常是堆栈.
通常这个值只在程序运行时有效.
你的这个问题实际并不是一个问题, 而是对程序运行方式的理解还不够透彻.
如果你实在想搞清楚,建议参考一些汇编的书籍.
其实对于main主函数来说,它也是一个被调函数,只不过调用它的是系统而已。楼主肯定知道在C中被调函数结束后,其定义的所有变量所占的内存是被释放的,所以再想运行另一段程序用指针指向该地址,不可能得到你所认为应该存在的值的
楼主这个idear应该说很不错,我也去试验了,用TC实验的,结果一样。
自己也不太解,估计是每一个进程都分配了自己的堆栈空间,所以0012FF60访问的并不和前一进程的0012FF60是同一物理地址。
windows有个api ReadProcessMemory 用这个可以访问其它进程的内存地址