做同样的事情
我有一个经常使用malloc的项目。而且我想知道是否有可能以某种方式检查我所有的mallocs是否都受到 null 返回的保护?也许在标题文件中定义某些内容?我试图自己做,检查论坛 - 都是徒劳的。有可能的变体?
您可以使用执行必要空检查的包装函数替换malloc
的所有调用:
void *safe_malloc(size_t s)
{
void *p = malloc(s);
if (!p) {
perror("malloc failed");
exit(1);
}
return p;
}
您也可以为calloc
和realloc
。