2

我正在使用pthreads处理一些多线程代码。当我发现一些内存泄漏(通过valgrind)时,我只是添加了一些

cout << " new [some name of class for me]" << endl;

在部分构造函数中,因为我认为我已经删除了所有构造函数。这表明它们中的一部分是在main() 之前启动的。我已经从 main() 中删除了所有内容,所以它看起来像:

int main(){
    return 0;
}

即使没有任何#includes,仍然会调用这些构造函数。我认为在这种情况下不应该调用前面代码中的任何内容。我在 Eclipse 中使用了“项目清理”选项并尝试删除二进制文件(调试/发布)。没有什么帮助..

这样做的目的是什么?我还能做什么?提前致谢。

4

1 回答 1

5

globalstatic变量之前初始化mainstatic函数内部声明的变量除外。它们在第一次调用时被初始化。所以我认为你应该看看静态和全局变量

于 2012-07-16T11:33:48.540 回答