我有一个程序,它进行 n^2 层递归,并分配一堆内存以将 char* 连接在一起。如果 n 足够大,该进程就会被服务器终止(因为它消耗了太多内存)。如何释放该内存并仍然保留我的数据?
它的 malloc 看起来像
test = (char *)malloc(sizeof(char) * 256);
我需要这些数据直到程序结束。我该如何处理这个问题?
最佳答案
你不能。一旦释放内存,数据就会消失。
您可以做的就是更好地利用可用的内存。根据您发布的代码,我想不出一种方法可以帮助您更好地管理内存
关于c - 太多的内存被 malloc,以至于当我的程序运行得足够深时,我得到 "Killed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3850902/