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

Turn off automatic initialization of variables in Xcode

本文关键字:初始化 变量 Xcode 关闭      更新时间:2023-10-16

在我正在处理的项目中,Xcode在启动/编译时,当我开始调试构建时,会自动将变量初始化为0。至少一切看起来都像。

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

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

这很可能只是巧合。

在几乎每一个现代多用户操作系统上,当操作系统为进程提供新内存时,它会擦除所有旧内容,以免信息从一个进程泄漏到另一个进程。因此,当你第一次访问一些内存时,它看起来就像它被设置为0。

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