主要在MFC控制台应用程序(不是WinMain,主)

时间:2011-07-21 05:42:48

标签: c++ windows visual-c++ mfc console

对于示例程序,虽然这对我有益。但我想知道它是如何发生的。

我创建了一个控制台应用程序,在创建项目时启用了“MFC”复选框(VC2008)。 它创建了标准的_tmain实现,其中包含AfxWinInit次调用。然后我编写了自定义函数 Main ,并从_tmain本身调用它。

现在,只要按F10或F11开始调试,它就会进入Main而不是_tmain(是的,通过_tmain本身) - 如何以及为什么 - 这就是问题所在。

不,我根本没有设置任何项目设置。这是关于32位Debug构建。

编辑:有趣的是:

#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为false且不允许Main为叫!

1 个答案:

答案 0 :(得分:1)

我的测试显示,在自定义_tmain之前,它首先转到Main

enter image description here