c++ - 在 Xcode 中关闭变量的自动初始化

标签 c++ xcode debugging initialization

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

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

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

最佳答案

这可能只是巧合。

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

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

关于c++ - 在 Xcode 中关闭变量的自动初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9310897/

相关文章:

C++ : overflow in implicit constant conversion [-Woverflow]

c++ - 支持的 API 测试失败 (C++/CX)

vba - 单步执行 Google Apps 脚本中的代码(相当于 VBA-GAS)

iOS:AVPlayerViewController View 未删除

objective-c - 从命令行运行 Xcode iOS 应用程序

java - 调试通过 perl 脚本调用的 Java 项目

在 VS Code 上调试 Jest

c++ - 设置 WH_KEYBOARD Hook 失败并出现错误 1428

c++ - CAtlMap 使用 CString 作为键

ios - 无法访问XCTest中以编程方式添加的UIView