将DWORD显式初始化为1,但调试器显示超出范围值

Aar*_*web 4 c c++ winapi dword

我对这个问题有点松懈 - 在调试模式下这个问题根本没有出现,但在发布模式下,感觉我几乎无法解决它.

这是VS2013内部发生的屏幕截图:

在此输入图像描述

我初始化nResult为1L,内部值显示为3422785012.在调试模式下,该值确实为1L.

关于为什么显示值甚至不接近我设定的初始值的任何想法nResult?我尝试过使用编译器设置 - 在调试模式下,这段代码运行正常.

Pau*_*zie 13

你的代码很可能optimized.这意味着编译器已经以源代码与编译器生成的代码不匹配的方式移动和删除代码.

调试未经优化的代码,或者在完全了解源可能与正在执行的实际指令不匹配的情况下调试优化的代码.

如果要调试发布版本但在调试器中查看正确的值,请转到Visual Studio中项目的"属性",转到"C/C++"部分,然后禁用优化.重建.