gpt4 book ai didi

c++ - 假设的内存使用监控程序

转载 作者:行者123 更新时间:2023-11-30 19:16:19 28 4
gpt4 key购买 nike

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

<小时/>

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

<小时/>

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

最佳答案

假设您的程序是用 C 编写的创建大型数组受限于允许的可用内存范围以及操作系统如何限制您。

假设您创建了一个相当大的数组(未初始化)。现在内存已分配给您的进程(您运行的程序),并且没有其他进程可以访问它! (操作系统的作用就是避免此类事情,虚拟化的基本要求)。

因此,由于没有其他进程可以访问,因此一旦分配给您,它的值就不会改变。

关于c++ - 假设的内存使用监控程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30612303/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com