2

在调试模式下,我不断从命令参数中获取 VS2012 中的错误值。我已经通过 Properties->Configuration properties->Debugging->Command Arguments 设置了正确的参数,但我仍然得到相同的错误输出。

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

这是我的代码:

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

输出为:2130567168

另外,我检查了 argv 应该指向的内存块,它与我传递的参数无关。

编辑:

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

谁能解释为什么会这样?

4

1 回答 1

3

关于您的编辑,C 程序的入口点不是main,而是初始化 C 运行时的特定于 C 运行时的入口点,包括最终传递给main.

于 2013-10-05T15:10:59.770 回答