Blu*_*lub 2 c linux valgrind pthreads
参考这个结构,发布一个完整的例子会有点太大:
__thread char* buf;
buf = malloc(1000);
Run Code Online (Sandbox Code Playgroud)
Valgrind说这些字节"肯定"丢失了.他们不应该"仍然可以"到达吗?
因为分配的内存不是线程本地的.它由所有线程共享.
另一方面,变量是本地的线程,所以一旦它超出范围,分配的内存肯定会丢失(如果在其他地方没有该指针的副本......显然没有因为valgrind报告肯定丢失了)
你必须这样free做.