gpt4 book ai didi

c - 内存指针运算时如何避免valgrind report mem lost?

转载 作者:太空宇宙 更新时间:2023-11-04 04:38:03 25 4
gpt4 key购买 nike

我在我的软件上使用 valgrind 的 memcheck;但是我在这方面有问题:出于某种原因,我们将在存储之前转换 malloced 指针,并在使用时转换回来。就像这样:

char* ptr = (char*)malloc(1);
ptr = ptr + 1;
......
origin_ptr = ptr -1;
free(origin_ptr);

ptr = ptr + 1; <------ this will make valgrind to report memory lost;

最佳答案

这是 valgrind 无法正确检测到的东西。因此,您将不得不编写一个忽略相应函数的抑制文件。

此外,通常不鼓励做你正在做的事情,因为 free 特别要求你释放的是你通过 malloc 获得的东西;现在 +1-1 对我来说似乎也是一个 NOP,但我怀疑你在后手做了更复杂的事情。

关于c - 内存指针运算时如何避免valgrind report mem lost?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29193228/

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