C语言中怎样访问和修改物理内存
我是C语言初学者,不是说C语言可以直接访问和修改物理内存吗,请问怎么样访问和修改?比如,我想在一个程序中给一个变量赋值,该值保存在某一内存空间,然后用getch();语句...
我是C语言初学者,不是说C语言可以直接访问和修改物理内存吗,请问怎么样访问和修改?
比如,我想在一个程序中给一个变量赋值,该值保存在某一内存空间,然后用getch();语句暂停程序,再在另一个程序中把保存在该内存空间的值修改为10,接着第一个程序继续执行,输出该变量的值,输出值应为修改后的10。可以实现吗?或者其他的修改物理内存的例子也可以。。
谢谢1楼的回复,但是有点,你说的那个我知道,可是那个只能修改本程序的变量啊,那不要取地址也可以改了,但如果不是本程序的变量,而是某一物理内存地址的值怎么修改啊?
哦,还有个问题,用取地址符号取得的地址好象不是物理地址啊。一般PC支持最大4G内存,也就是物理地址为4个字节,而C语言中在一般模式下(small)的地址是2个字节,所以应该不是物理地址,只是与物理地址的映射,是这样的吗? 展开
比如,我想在一个程序中给一个变量赋值,该值保存在某一内存空间,然后用getch();语句暂停程序,再在另一个程序中把保存在该内存空间的值修改为10,接着第一个程序继续执行,输出该变量的值,输出值应为修改后的10。可以实现吗?或者其他的修改物理内存的例子也可以。。
谢谢1楼的回复,但是有点,你说的那个我知道,可是那个只能修改本程序的变量啊,那不要取地址也可以改了,但如果不是本程序的变量,而是某一物理内存地址的值怎么修改啊?
哦,还有个问题,用取地址符号取得的地址好象不是物理地址啊。一般PC支持最大4G内存,也就是物理地址为4个字节,而C语言中在一般模式下(small)的地址是2个字节,所以应该不是物理地址,只是与物理地址的映射,是这样的吗? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询