在linux中,有没有办法将数据直接写入物理地址(比如0x777777)? 我们可以为特定物理地址创建一个虚拟地址(0x777777)我们可以写入物理地址linux
编辑: PS:我不会尝试这样做。这只是为了澄清我的理解
在linux中,有没有办法将数据直接写入物理地址(比如0x777777)? 我们可以为特定物理地址创建一个虚拟地址(0x777777)我们可以写入物理地址linux
编辑: PS:我不会尝试这样做。这只是为了澄清我的理解
这将导致SIGSEGV。要做到这一点,您必须使用系统特定功能来映射包含此确切地址的内存区域,然后再尝试访问它。
不管怎么说,你最好知道你在做这个东西,但是你可以使用
*(int*)0x7777777 = 2345
映射到物理位置由OS已经照顾。
感谢您的回答。当你这样做“*(int *)0x7777777 = 2345”时,这意味着0x7777777是一个虚拟地址。并且将被映射到一些随机的物理地址。 – user009122
0x77777是物理地址。所以在编写代码之前,请确定你在做什么。 – deosha
你为什么要这么做?导致分段错误? – GhostCat