2013-10-05 18 views
2

在调试模式下,我一直在命令参数中收到VS2012中错误的值。我通过属性 - >配置属性 - >调试 - >命令参数设置了正确的参数,但我仍然得到相同的错误输出。在调试模式下运行时VS2012中错误的命令参数

该代码在发布模式下工作,但不在调试模式下工作。

这里是我的代码:

int main(int argc, char **argv) 
    { 
     cout << argc << endl; 
     return 0; 
    } 

输出是:2130567168

argv的地方应该是指向另外,我检查了内存块,它有没有相关的我传递的参数。

编辑:

我已经解决了这个问题感谢doctorlove的提问。显然,设置入口点产生了错误的值。我已经将它设置为“主要”,并删除它解决了问题。

任何人都可以解释为什么发生这种情况?

+1

调试版本是否生成了调试信息集?它是否从命令提示符表现相同?这是你的程序中的全部吗?你有什么设置命令参数?重建会修复它吗? – doctorlove

+0

谢谢你的提问,我解决了这个问题。 – Masa

回答

3

关于你的编辑,一个C程序的入口点不在main,而是一个C运行时专用的入口点,初始化C运行时,包括对最终传递到main的参数。

相关问题