gpt4 book ai didi

c - GCC 对未释放的堆 block 发出警告

转载 作者:太空狗 更新时间:2023-10-29 17:11:45 24 4
gpt4 key购买 nike

所以问题很简单,有没有办法告诉 GCC 如果我没有释放分配给堆的 block ,我想得到警告?我知道我们可以出于某些目的使用非释放 block /我们已经到达程序末尾或类似的东西。

int main(){
int *a = malloc(sizeof(int));
return 0;
}

如果我什至能得到一个警告,那就太棒了。

最佳答案

这不是 GCC 可以完成的工作。静态分析不能证明 free 被遗忘了,这是像 valgrind's 这样的运行时分析器的工作。 memcheck,或最终 gcc -fsanitize=leak,我在那里没见过 yet , 只有 clang -fsanitize=leak .

但您不会收到编译时警告,即使 gcc 或 clang 支持它。这将是一个运行时警告。

关于c - GCC 对未释放的堆 block 发出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36822562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com