memory-management

    41热度

    6回答

    我知道如何使用GlobalMemoryStatusEx获取系统内存使用情况,但它告诉我整个操作系统正在使用的内容。 我真的希望我的程序能够报告它已经分配和正在使用的内存数量。 在我的Delphi 2009程序中有没有什么办法可以调用Windows函数或者某些FastMM函数来查找单独由我的程序分配的内存? 重温我的问题,我现在已经改变了我接受的答案被@apenwarr的GetMemoryManag

    27热度

    16回答

    如何追踪在C++中,特别是那些由new/delete完成的内存分配。对于一个对象,我可以轻松覆盖operator new,但我不确定如何全局覆盖所有分配,因此它们会通过我的自定义new/delete。这应该不是一个大问题,但我不知道这应该如何完成(#define new MY_NEW?)。 一旦这个工作,我会认为足够有一个地图的分配指针/位置的地方,所以我可以跟踪所有分配当前“活动”,并且 - 在

    28热度

    4回答

    今天,我看到了一些遗留代码。在析构函数中有一个像“delete this”的声明。我想,这个调用将是递归的。它为什么工作? 我Y上做了一些快速搜索!我发现,如果有需要限制用户创建堆栈对象,我们可以让析构函数私有,并提供删除实例的接口。在提供的接口中,我们必须在这个指针上调用delete。 是否有任何其他情况使用这些语句?

    4热度

    3回答

    没有讨论IDisposable模式的指南/注释/文章暗示应该在Dispose(bool)方法中将内部成员设置为null(尤其是如果它们是内存占用的内存)。 我在调试内部基准测试工具时意识到了它的重要性。过去发生的事情是,这个缓冲区里面包含一个大数组。我们过去为整个基准测试程序使用了一个静态缓冲区。一旦我们完成了缓冲区,我们就无法释放这个内部数组,我们也不能使这个缓冲区可释放(因为它是静态的)。 所

    26热度

    3回答

    我正在自动执行一些性能分析任务,并希望实时记录堆空间和生成大小。 profiling API似乎非常复杂,因为我需要,它似乎听取个人分配和集合,这对我来说并不重要。分析工具当然是非常有用的,但我一直在寻找更灵活的可编程接口。

    3热度

    2回答

    什么是减少我的应用程序在内存中使用的内存量的方法?..因为即使是30kb的应用程序也会加载〜20Mb的“不需要”的dlls.Am我误以为什么时候我认为任何.NET当我们需要一个带有文本的表单时,应用程序需要至少10Mb的内存工作集?找不到的做任何解释:( PS 问题是封闭的,但我建议大家感兴趣的是如何CLR作品阅读:CLR via C#

    19热度

    5回答

    我有一个应用程序,它在运行时需要轮询它自己的内存使用情况。如果它能够列出每个实例化对象的内存使用情况,这将是理想的。我知道这可以通过WMI来实现,但是我希望有一些不依赖于WMI的东西。

    2热度

    5回答

    以下结构之间有什么区别?为什么更喜欢一个呢? 第一: Dim byteArray(20) as Byte 号之二: Dim byteArray() as Byte = new Byte(20) {} 任何帮助,将不胜感激。 谢谢。 编辑 - 我更正了一些代码。 “ReDim”应该是“暗淡”。

    1热度

    5回答

    好的,所以我第一次尝试C++,因为它看起来像我将不得不使用它在即将到来的大学课程。我有几年的编程经验,但在非垃圾收集的世界中并没有太多。 我有一个类,一个双向链表中使用的节点。所以基本上它有一个值和两个指向其他节点的指针。主构造器看起来像Node(const std::string & val, Node * prev, Node * next)。练习包括一个复制构造函数,它执行另一个Node的浅

    26热度

    4回答

    在我看来,我曾经在boost :: pool中玩过几次,我正在认真地用很多对象“流失”来敲击堆。通常我使用boost::object_pool或boost::pool_alloc作为STL模板参数。但结果总是表现几乎没有变化,或明显恶化。 我很想听听有关它的任何成功案例。 我应该寻找什么样的东西在分析输出可能表明boost :: pool可能有帮助? 难道要改善旧的malloc真的很难吗?