关闭Xcode中变量的自动初始化

时间:2012-02-16 11:58:25

标签: c++ xcode debugging initialization

在我正在开发调试版本的项目中,我正在使用Xcode在启动时/编译时自动将变量初始化为0。至少一切看起来都像。

我经常遇到这个问题,我没有将变量初始化为NULL - 这在我的Mac上工作正常 - 当其他人编译并启动项目时(尤其是在Windows机器上,因为它是一个多平台项目),他们得到EXC_BAD_ACCESS,因为== NULL是假的。

我很确定有一个设置可以关闭此行为,或者只是巧合,分配的内存在我的机器上总是新鲜的?

1 个答案:

答案 0 :(得分:3)

这可能只是巧合。

关于每个现代多用户操作系统,当操作系统为进程提供新内存时,它会清除所有旧内容,从而没有信息从一个进程泄漏到另一个进程。因此,当您第一次访问某些内存时,它就像它被设置为0一样。

在使用调试版本时更有可能发生这种情况,因为优化通常包括降低堆栈占用空间,从而更早地重用某些内存。