假设的内存使用监控程序

Hypothetical Memory Usage Monitoring Program

是否有可能(我不关心实用性或有用性)编写一个 C 或 C++ 程序来以以下非常基本的方式监视内存使用情况?


鉴于声明一个变量而不给它赋值会导致它具有其内存位置中已有的任何值,因此可以创建一个大数组(数千或数百万个元素)并保留所有值未赋值。然后要查看这些元素中的任何一个是否已被覆盖,我们只需要重复将它们的当前值与以前的值进行比较。


我非常怀疑这会像我上面提出的那样简单。假设我的怀疑是有根据的,那么问题出在哪里,更重要的是,我们可以用一些创造性的或深奥的代码来规避它吗?我想这个问题可能是由于声明的、未初始化的元素不允许其他系统进程写入它们的内存地址。请指点一下! (嘻嘻)谢谢。

假设您的程序是用 C 语言编写的 创建大型数组受限于允许的可用内存范围以及 OS 对您的限制。

假设您创建了一个相当大的数组(未初始化)。 现在内存已分配给您的进程(为您编程 运行),其他进程无法访问它! (避免此类事情是 OS 的作用,虚拟化的基本要求)。

因为没有其他进程可以访问它的值一旦分配给你就不会改变。