c - 当 malloc() 或 free() 给出段错误时,这意味着什么?

标签 c malloc free

我目前正在使用 dlmalloc(),看看它比原始 libc malloc() 快多少。

但是,运行 free() 不断给我带来段错误...

有人知道这种情况持续发生的一些逻辑原因吗?

最佳答案

内存管理函数内的段错误几乎总是表明您在实际发生段错误的调用之前做了一些错误的事情(例如覆盖超出有效范围的内存)。

Valgrind下运行您的代码可以帮助您确定问题的真正根源。

关于c - 当 malloc() 或 free() 给出段错误时,这意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7789307/

相关文章:

c - 在 C 中从给定 vector 创建对称矩阵的例程

c - C 中的 malloc() 任务

Android libc版本和malloc实现

c++ - 如果使用 delete 而不是 free 删除使用 malloc 分配的内存怎么办

c - strtok() 问题获取字符串的第一个标记

c - 需要变量平均的可重入函数

c++ - 使用 malloc 分配比现有内存更多的内存

c - 释放结构数组

c - 在古怪的数据结构中释放后将指针设置为 NULL (C)

c - 释放需要返回但不能在c中的main中释放的动态分配的int