我在 C++ 中使用 Microsoft Visual Studio 2012 Ultimate IDE 构建了非常简单的 win32 控制台程序;
这是代码:
int _tmain(int argc, _TCHAR* argv[])
{
int i = 0;
i++;
return = 0
}
逐行调试代码,我注意到了这一点:
在 Debug x64 模式下,argc = 1
,argv[0] = 程序路径
在 Release x64 模式下,argc = 一些随机大数
,argv[0] = 一些随机路径或简单的 0x00000001
这是为什么?
如有任何帮助,我们将不胜感激。
最佳答案
Release模式的默认构建选项不会在 Release模式下为您提供合理的调试。编译器在 Release模式下使用的优化意味着编译后的代码可能看起来与您编写的代码完全不同(但逻辑上相同)。
对此已经有了很好的答案,请参阅 How to debug in release mode?
关于c++ - 调试/发布中的控制台程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15682639/