在UNIX中找不到_recalloc函数(未定义(。使用标头:
#include <stdlib.h>
#include <malloc.h>
它在哪里?还是如何实施?
更新。我的"//usr/include/malloc.h"文件中没有"recalloc"字符串。我写了另一个这样的函数:
inline void* _recalloc(void* _Memory, _In_ size_t _Count, _In_ size_t _Size)
{
return memset(_Memory + _Count, 0, sizeof(_Memory) * (_Size - _Count));
}
正确吗?
引用::
手册页会告诉你函数的定义来自哪里(ANSI C、POSIX、SysV、BSD等(。
事实上,malloc()
、calloc()
、realloc()
和free()
是在<stdlib.h>
中定义的,而_recalloc()
是在<malloc.h>
中定义的,这表明后者是IRIX特有的特征。