cfree函数用法详解
cfree函数简介
- 头文件包含
- 函数定义
#include <stdlib.h>
int cfree(void * ptr );
void cfree(void * ptr );
void cfree(char * ptr , unsigned num , unsigned size );
void cfree(void * ptr , size_t nelem , size_t elsize );
cfree函数常见使用错误
- 编译错误
warning: implicit declaration of function ‘cfree’ [-Wimplicit-function-declaration]
解决办法:包含头文件
cfree函数详细描述
永远不应使用此函数。改用free (3)。从2.26版本开始,它已经从glibc中删除。1-arg cfree在glibc中,函数cfree ()是free (3)“为与Sunos兼容而添加”的同义词。
其他系统有其他功能与此名称。声明有时在
如果在移植某些东西时需要它,请添加
#define cfree(p, n, s) free((p))
到你的档案里。
一个常见的问题是“我可以使用free (3)来释放与calloc (3)分配的内存,还是需要cfree ()?"?答案:使用free (3)
SCO手册中写道:“cfree例程是为了符合iBCSe2标准而提供的,只是调用free。cfree的num和size参数不使用。”
cfree函数返回值
cfree ()的SunOS版本(它是free (3))的同义词,在成功时返回1,在失败时返回0。在出错的情况下,errno被设置为EINVAL :。ptr的值不是malloc (3)系列中的某个例程以前分配的块的指针。
评论区