【发布时间】:2011-07-21 05:42:48
【问题描述】:
对于一个示例程序,虽然这对我有好处。但我想知道这是怎么回事。
我在创建项目 (VC2008) 时创建了一个启用了“MFC”复选框的控制台应用程序。
它创建了标准的_tmain 实现与AfxWinInit 调用和所有。然后我编写了我的自定义函数 Main 并从 _tmain 本身调用它。
现在只要按 F10 或 F11 开始调试,它就会进入 Main 而不是 _tmain(是的,通过 _tmain 本身) - 如何以及为什么 - 这就是问题所在。
不,我根本没有设置任何项目设置。这是大约 32 位调试版本。
编辑:有趣的是:
#include "stdafx.h"
void Main()
{
printf("This is custom main");
}
int _tmain(int argc, _TCHAR* argv[])
{
if(false) // Getting fooled, or fooling us?
Main();
return 0;
}
Visual Studio 将 Main 视为入口点,当我使用 F10/F11 开始调试时不执行任何操作 - 因为 false 为假且不允许调用 Main!
【问题讨论】:
-
请发布您的示例代码。
-
现在无法立即发布代码。下一篇文章见 cmets。
-
你把
Main放在_tmain的什么地方? -
我没有设置任何断点 - 我只是按 F11 或 F10 开始调试,它应该从入口点开始。 VS 正在考虑将自定义
Main作为入口点。 -
您的
Main是否包含大量代码?否则它可能会被内联并最终成为_main的第一部分。
标签: c++ windows visual-c++ mfc console