Visual Studio 2010——MFC应用程序调用顺序分析

发布时间:2016-12-10 12:59:25 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Visual Studio 2010——MFC应用程序调用顺序分析",主要涉及到Visual Studio 2010——MFC应用程序调用顺序分析方面的内容,对于Visual Studio 2010——MFC应用程序调用顺序分析感兴趣的同学可以参考一下。

    了解一个程序的调用关系和调用顺序,对一个编程人员来说是有必要的。下面将会以《Visual Studio 2010——第一个Visual C++.NET程序》为例子进行分析。     首先,通过“类视图”查看本项目所包含的类,如图1所示。      图1 类视图     由图1可见,本项目主要的类有5个,其中和项目名称First直接相关的有3个,分别是CFirstApp、CFirstDocC和FirstView。只要知道这几个类的创建顺序,就可以知道本程序大致的运行流程。为了达到这个目的,可以在每个类的构造函数中设置断点,然后调试程序。     利用“解决方案资源管理器”查看本项目的头文件和源文件,如图2所示。 图2  解决方案资源管理器     通过查看图2中的各个头文件,可以知道图1中后面4个类分别在这些头文件中定义了,图2中的源文件则是对应于各个头文件的函数的实现。因此,可以在各个.cpp文件中的找到图1中后面4个类的构造函数,在里面添加断点,如图3所示。 图3 设置断点     设置好断点后,在菜单中选择“调试”》“启动调试”,如图4所示。 图4 启动调试     启动调试后,遇到第一个断点即会停止运行,这时记下是在那个构造函数中停止。然后,选择菜单“调试”》“继续”来继续调试,如图5,并且记下下一个停止的位置。如此直到运行完整个程序。 图5 继续调试     经过调试发现,各个类的创建顺序是:CFirstApp、CFirstDoc、CMainFrame、CFirstView。所以可以得出结论:在图2所有.cpp文件中,入口是First.cpp源文件,也即是和项目名同名的源文件!     然而,需要注意的是,First.cpp并不是整个工程中第一个得到执行的源文件。经过单步调试发现,第一个得到执行的源文件是appmodul.cpp,其次是其它一些在图2中所见不到的源文件,甚至在图2中的“外部依赖项目”中也找不到!经过查找发现,appmodul.cpp是在..Microsoft Visual Studio 10.0\VC\atlmfc\src\mfc中的一个源文件,这说明它是MFC的一个组成部分,而且是很底层的一部分,它在First.cpp之前运行。可推测,对于不同的项目,都是必须先运行appmodul.cpp,而且都是同一个appmodul.cpp!MFC程序的真正入口,参见《Visual Studio 2010——创建新项目》。

上一篇:人群与网络 第十周
下一篇:spring cvc-elt.1: Cannot find the declaration of element 'beans'解决办法

相关文章

相关评论