问题标签 [free]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
326 浏览

c - 使用后释放内存

我有一个命令行 C 程序,我使用 calloc() 函数为一个结构分配一些内存,该结构中也有一个分配了一些内存的结构。

如果我使用 free() 函数从父结构中释放内存,它是否也会从子结构中释放内存?

还是我应该先从子结构中释放内存?

0 投票
8 回答
2906 浏览

c - 如何正确地释放()一个malloc()结构?

我有一个结构 malloc()'d,在使用它们之后,我想 free() 它,但我的程序在这里冻结了。谁能告诉我,我做错了什么?

这是我的代码:

提前致谢!

坎皮

编辑:

我怎样才能正确地为文件名和大小分配内存?

编辑2:

对不起,但我很着急,我没有告诉你你需要的所有信息。让我现在做 :) 基本上,我想创建一个应用程序,它获取两个给定驱动器/文件夹的文件列表,然后比较它们。我认为(并且仍然这样做),最简单的方法是,当我将文件名及其大小存储在上述结构中时。所以我必须为文件名和大小动态分配内存(我认为这是他们所说的),也必须为结构分配内存。

0 投票
9 回答
366 浏览

c++ - 记忆问题,新的和免费的等。(C++)

我有几个关于 C++ 中的内存处理的问题。

  1. Mystruct *s = new Mystruct和有什么不同Mystruct s?记忆中发生了什么?

  2. 看这段代码:

    /li>

什么时候MyStruct tmp免费?为什么最后没有MyStruct tmp自动释放create()

谢谢!

0 投票
8 回答
21142 浏览

free - malloc 实现会将释放的内存返回给系统吗?

我有一个长期存在的应用程序,经常进行内存分配释放。任何malloc实现都会将释放的内存返回给系统吗?

在这方面,以下行为是什么:

  • ptmalloc 1、2(glibc 默认)或 3
  • dlmalloc
  • tcmalloc(谷歌线程 malloc)
  • solaris 10-11 默认 malloc 和 mtmalloc
  • FreeBSD 8 默认 malloc (jemalloc)
  • 囤积malloc?

更新

如果我有一个应用程序的内存消耗在白天和夜间(例如)可能非常不同,我可以强制任何一个malloc将释放的内存返回给系统吗?

如果没有这样的返回,释放的内存将被多次换出,但这样的内存只包含垃圾。

0 投票
4 回答
591 浏览

c - 无法释放内存

我无法真正理解为什么免费进程会返回错误。我在 C 中得到了这个代码:

我分配的板结构如下所示:

问题是我需要先释放板内的 square_type 吗?如果是这样,我该如何释放它?

0 投票
3 回答
439 浏览

c - 我们可以使用之前释放的指针吗?

我有一个关于 C 中的 free() 的问题。

假设我有一个指向某个结构的指针(比如 node *ptr).. 在释放它之后我可以将它初始化为 NULL 并使用 malloc() 或 realloc() 使其指向某个新位置吗?

例如:

这是有效的,还是会产生问题。我使用 realloc 代替 malloc 的原因是因为我所有的 realloc() 调用都在一个循环中(所以在第二个参数中它实际上是 n*sizeof(node) 而不是 sizeof(node) ,其中 n 不断增加......并且这个结果数组中的最后一个位置是用新数据写入的)ptr指向的内存不断增加直到循环结束,此时我不需要ptr指向的内存中的数据,所以我认为它最好释放它。现在,所有这些都嵌套在一个更大的(外部)循环中。

非常感谢你的帮助

0 投票
6 回答
5142 浏览

c - 用一个命令释放所有 malloc() 创建的指针?

是否有一种方法可以释放您使用mallocs 创建的所有指针所占用的内存?或者这只能通过free单独设置每个指针来手动完成?

0 投票
4 回答
5331 浏览

c - free() 没有正确释放内存?

我正在尝试释放分配给 的内存malloc,但free根据 Eclipse 的调试器,该命令似乎无法正常工作。这怎么可能?

下面是我的调试器在它被释放后的屏幕截图,seCurrent->student->year显然不是这样。year是使用分配的malloc

替代文字 http://img693.imageshack.us/img693/7840/codeo.png

0 投票
7 回答
28893 浏览

c - free() 后出现分段错误,常见的原因是什么?

free在ing 某个指针后出现分段错误:

我可以在没有任何错误或警告的情况下获得它的值:

但是,正如我所说,当我尝试释放它时程序崩溃了。free导致分段错误的命令的最常见原因是什么?

0 投票
5 回答
858 浏览

c++ - 当试图释放堆管理器分配的内存时会发生什么,它分配的比要求的多?

这个问题是在一次采访中问我的。

假设 char *p=malloc(n) 分配了多于 n 的内存,例如分配了 N 个字节的内存,并且 free(p) 用于释放分配给 p 的内存。

堆管理器可以执行这种错误的分配吗?现在会发生什么,将释放 n 个字节还是释放 N 个字节?

有什么方法可以找到释放了多少内存?

编辑

有什么方法可以找到释放了多少内存?

有总比没有好,

mallinfo() 可以揭示“Fred Larson”所指出的一些亮点