gpt4 book ai didi

c++ - 减少大型陌生代码库的内存占用

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:06:04 25 4
gpt4 key购买 nike

假设您有一个相当大 (~2.2 MLOC)、相当老旧(10 多年前开始使用)的 C/C++ Windows 桌面应用程序。大约 10% 的模块是外部的,没有源代码,只有调试符号。

您将如何着手将应用程序的内存占用减少一半?至少,您会如何找出内存被消耗的位置?

最佳答案

用包装器覆盖 malloc()/free() 和 new()/delete(),这些包装器跟踪分配的大小以及(通过记录调用堆栈并稍后根据符号表解析它)它们是从哪里产生的.在关机时,让您的包装器显示任何仍分配的内存。

这应该使你们都能找出最大分配的位置并发现任何泄漏。

关于c++ - 减少大型陌生代码库的内存占用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/122826/

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