MFC中CWinApp包含了对WinMain的调用和包装,但是WinMain怎么能作为一个普通的函数被调用呢? 它难道不应该是普通windows程序的入口么?

解决方案 »

  1.   

    WinMain没有被CWinApp调用
    而是CWinApp完成了WinMain所完成的工作而已
      

  2.   

    CWinApp没有调用WinMain函数,一个MFC工程,你按下F10单步调试,进入就是_tWinMain
      

  3.   


    ls的大虾: _tWinMain怎么能作为普通函数被调用呢? 它难道不应该是函数入口么?
      

  4.   

    我记得Windows核心编程说过,WinMain函数也是被调用的,好像是被C运行库里的某个函数调用
      

  5.   


    谢谢,这个我知道,但是我的问题是,我觉得WinMain不应该被某个用户层的程序调用,因为C运行时库应该直接进入WinMain,而不是先调用一个MFC的什么类方法然后再进入WinMain吧
      

  6.   

    MFC怎么会封装winmain。。lz是怎么得到这个结论的??这是MFC\SRC\APPMODULE.CPP的代码extern "C" int WINAPI
    _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine, int nCmdShow)
    {
    // call shared/exported WinMain
    return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
    }仔细看看,谁调用谁