MFC的main函数

-- 我们走得太远,忘掉了来时路。

MFC程序的main在哪里?

   MFC的main是_tWinMain(),有的版本是WinMain(),AfxWinMain(),总之会有Main字样。

   作为C/C++的程序员,开始看一个程序的时候,都会寻找main函数,这是约定的程序开始执行的地方。就像我们人生的起点,别人想了解你的时候,都会首先问你:老家在哪里?

    编写MFC程序的时候,你会发现,没有main了!!实际上MFC为了设计者方便,把main隐藏起来,从main开始执行的时候,夹带了很多MFC的私货,把有用没用的东西启动了一大堆,让你用起来很方便,上手很容易。那么MFC的main究竟在哪里?

  现在以MFC在VS2013环境下的一个程序开始,看看main在哪里。(VS2013有点古董了)

生成一个最简单的对话框程序,操作如下:

MFC的main函数_第1张图片

MFC的main函数_第2张图片

 看一下自动生成的类结构:

MFC的main函数_第3张图片

App类是应用程序可以开始修改的地方,InitInstance变成了可修改的起点。

::InitInstance()之前MFC干了什么事情?可以通过查看调用堆栈的方法来获取;操作步骤如下:

Step1:先设置运行的断点;再启动运行程序,

MFC的main函数_第4张图片

 Step2:在调用堆栈里面,双击前面的语句

 MFC的main函数_第5张图片

 Step3:可以看到MFC的起点是_tWinMain) , 然后是AfxWinMain()。

如果不是特别的需要,不要修改appmodul.cpp文件!!!!!!!!!! MFC的main函数_第6张图片

 可以理清一下调用的顺序如下:

MFC的main函数_第7张图片

关键点:调用堆栈方法寻找代码调用者。 

你可能感兴趣的:(mfc,c++,开发语言)