使用指针循环访问 RAM

iterate through RAM using pointers

本文关键字:访问 RAM 循环 指针      更新时间:2023-10-16

我想创建一个可以使用指针遍历 RAM 中所有地址的程序。我可以执行以下操作吗?

int *thePointer = 0x000000; 
//int for 32bit os.
while(thePointer! = 0xFFFFFF){
    std::cout << *thePointer << ' --- ' << thePointer << endl;
    thePointer++;
}

如果可以,如何使用 RAM 中的起始地址初始化指针?以及如何实际遍历所有地址,直到RAM中的最后一个地址?

自 1980 年代家庭计算机的美好时代以来,操作系统和运行时环境已经发展了很多,在那里这种技术是完全可能的:那个时代的一些计算机游戏作弊戳是我的。

C++仅允许您访问您明确拥有的内存。尝试访问任何其他内存时的行为未定义。从形式上讲,您甚至不允许设置指向您不拥有的内存位置的指针,除了nullptr和一个超过数组末尾或一个超过标量地址的指针。

你必须在比仅仅编写程序低得多的层次上实现你的目标。构建自己的操作系统内核将是一种方式。