c - 任何查询分配 block 大小的函数?

标签 c memory malloc glibc

我意识到任何此类功能都可能是非标准的,但这对我的用例来说没问题。基本上,我需要一个方法(即使它只通过 glibc 的 syscall() 接口(interface)公开),我可以将一个指针传递给(一个由先前调用 malloc() 返回的指针),该指针返回 block 的大小指针指向。有这种东西吗?

最佳答案

据我所知,至少在C90/C99中没有这个功能。一些系统,主要是 libc,提供了获得分配大小的函数(例如 Mac OS X 中的 malloc_size()),但这不是可移植的,你可能最好避免使用它。

关于c - 任何查询分配 block 大小的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1428679/

相关文章:

c - Arduino(C语言)解析带分隔符的字符串(通过串口输入)

c++ - 堆栈内存与堆内存

c - 为什么我没有得到堆栈溢出?

C:正确释放多维数组的内存

c++ - 是否使用 new char[] 或 malloc 的结果来转换 float * is IN(严格的别名违规)?

c - 有什么办法可以减少这两个相依矩阵之间的运算吗?

c - 关于在 C 中使用数组作为指针的问题

c - 当函数用汇编代码编写时,通过结构体中定义的指针调用 C 中的函数计算

c++ - 范围内有一个变量。在范围之外使用此变量地址是否是未定义的行为?

c++ - 为什么new和malloc输出的结果不一样?