`

孙鑫VC++讲座笔记-(3)MFC程序框架的剖析 附2-关于全局变量

    博客分类:
  • vc++
阅读更多

今天重温孙薪的VC++视频第三课:MFC程序框架的剖析。
在理解theApp全局变量的时候,我给CTestApp,以及它的基类CWinApp的构造函数加了断点,按照视频上的理解,程序应该是按照
CTestApp theApp;
CTestApp::CTestApp();
CWinApp::CWinApp();
WinMain();
这样的顺序执行,这是因为在构造CTestApp类的时候,要首先调用基类CWinApp的构造函数。当后者执行完后,再返回到前者的构造函数当中去。但是,视频中并没有给CWinApp的构造函数加断点。
当我把CWinApp类的构造函数也加上断点以后,发现了一个奇怪的问题,程序的执行顺序发生了变化:
CWinApp::CWinApp();
CTestApp theApp;
CTestApp::CTestApp();
CWinApp::CWinApp();
WinMain();
也就是说,在构造theApp全局变量之前,已经调用了一次CWinApp的构造函数,怎么回事呢?不是就一个全局变量么?
于是打开Call Stack,一步一步查看,终于发现了这个秘密:
在DLLOLE.CPP的第192行有这么一句:CWinApp _afxOleWinApp;
看到了吧,又是一个全局变量:-),但是不晓得这个东东是用来干什么的。

code, CWinApp, global variable, mfc, vc, vc++, 全局变量
分享到:
评论

相关推荐

    孙鑫 VC++ 深入详解书中源码

    《孙鑫 VC++ 深入详解》是一本深受程序员喜爱的VC++技术书籍,作者孙鑫以其深入浅出的讲解方式,详细剖析了VC++的底层机制和高级特性。书中的源码是理解理论知识的关键实践部分,通过分析和运行这些代码,读者可以更...

    孙鑫C++教程(全20讲)PPT讲义源码及电子书

    第九课:如何修改MFC AppWizard向导生成的框架程序的外观和大小 第十课:图形的绘制,如何使用自定义画笔(颜色,线宽,线形 第十一课:图形的 保存和重绘 第十二课:文件操作 第十三课:文档与串行化 第十四课:网络相关...

    孙鑫VC++视频讲座配套幻灯+全套示例源代码

    《孙鑫VC++视频讲座配套幻灯+全套示例源代码》是一份全面学习VC++编程的宝贵资源,由知名讲师孙鑫精心制作。这份资料集合了理论讲解、实例演示和源码分析,旨在帮助初学者及有经验的开发者深入理解和掌握VC++这一...

    java技术从入门到精通(孙鑫)学习笔记-Lesson2.doc

    java技术从入门到精通(孙鑫)学习笔记-Lesson2

    MFC-lesson3-AppWizard的原理与MFC程序框架的剖析.rar

    在本课程“MFC-lesson3-AppWizard的原理与MFC程序框架的剖析”中,我们将深入探讨MFC的核心组件,特别是AppWizard工具的使用,以及MFC程序的基本框架结构。 AppWizard是Visual C++集成开发环境中的一个实用工具,它...

    孙鑫_VC++入门到精通_源代码

    《孙鑫_VC++入门到精通_源代码》是著名编程教育家孙鑫老师针对初学者推出的VC++学习资源,旨在帮助学习者系统地掌握Visual C++编程基础与进阶技术。该资源包含了丰富的源代码实例,覆盖了多个课程章节,如lesson 17...

    经典资料:孙鑫vc++视频讲义配套的源代码20集全第1-10。

    《孙鑫VC++视频讲义配套源代码》是一份经典的编程学习资源,涵盖了从基础到进阶的VC++编程知识。这份资料由知名IT讲师孙鑫精心制作,旨在帮助学习者通过实际操作来理解VC++编程的核心概念和技术。源代码分为20个部分...

    孙鑫老师VC++6.0视频教程对应源代码

    它集成了编译器、调试器以及丰富的类库,支持MFC(Microsoft Foundation Classes)框架,使得Windows应用程序开发变得更加便捷。 【孙鑫老师与VC++6.0教程】 孙鑫老师是中国知名的计算机教育专家,他在编程教学领域...

    孙鑫_VC++入门到精通_PPT

    4. **MFC框架**:讲解Microsoft Foundation Classes(MFC)库,它是VC++用于构建Windows应用程序的标准库,包括窗口、控件、消息处理机制等内容。 5. **Windows编程**:深入探讨Windows API,学习如何创建窗口、...

    VC++深入详解-孙鑫,孙老师的C++ 课程的配套demo 源码

    《VC++深入详解》是孙鑫老师的一部经典著作,主要针对C++编程语言在Microsoft Visual C++(简称VC++)环境下的应用进行深入讲解。这本书不仅覆盖了C++的基础语法,还包括了高级特性和实战技巧,是学习C++编程的理想...

    vc视频教程-MFC AppWizard的原理与MFC程序框架的剖析.zip

    《VC视频教程——MFC AppWizard的原理与MFC程序框架的剖析》是孙鑫老师针对C++编程语言中的Microsoft Foundation Class (MFC) 库进行深入讲解的课程。MFC是一个由微软提供的C++类库,它为Windows应用程序开发提供了...

    java技术从入门到精通(孙鑫)学习笔记-Lesson2(面向对象上).doc

    创建对象时,通过`new Point(3,3)`调用此构造方法,所以`output()`方法打印出的坐标值为3,3。 Java中的构造方法是至关重要的,因为它们确保了对象在创建时就处于一个合理的初始状态。如果开发者没有显式定义构造...

    vc++PPT讲义和mfc教程及c++入门基础讲解

    该资源由内附孙鑫讲解的vc++编程1-20课的PPT讲解和详细实现代码,另附c++入门基础的课程,是每位c++编程爱好者必学的课程资源c++编程进阶的必经之路。

    孙鑫MFC全套程序,基于vs2015

    《孙鑫MFC全套程序解析:基于Visual Studio 2015的实践指南》 MFC,即Microsoft Foundation Classes,是微软提供的一套C++类库,用于简化Windows应用程序的开发。孙鑫,作为国内知名的编程教育专家,以其深入浅出的...

    孙鑫MFC完整笔记.pdf

    孙鑫pdf文档,入门C++的好帮手,MFC类库,vc6.0,虽然版本比较老,但是在很多地方使用得仍然比较多。参考性大

    第1章-MFC-面向对象程序设计.ppt

    - 《VC++深入详解》孙鑫:结合实例,全面解析VC++的各个方面。 - 《Visual C++开发实战1200例》刘锐宁:丰富的实例帮助巩固技能。 通过学习MFC,开发者可以构建具有专业品质的Windows应用程序,包括GUI界面、文件...

    语言程序设计资料:Java-笔记-孙鑫版.doc

    语言程序设计资料:Java-笔记-孙鑫版.doc

    VC++深入详解.rar

    《VC++深入详解》这本书是面向有一定VC++基础的开发者,旨在揭示Windows程序设计的深层原理,特别是深入探讨Microsoft Foundation Class (MFC)框架的工作机制。MFC是微软提供的一套C++类库,用于简化Windows应用程序...

    VC++深入详解 PDF教程及示例代码.rar

    本书主要从程序内部运行的机制和MFC程序的组织脉络入手,使读者在学习VC++编程知识时,既能够知其然,又能知其所以然,从而帮助读者从根本上理解和掌握Windows的程序设计。另外,全书还贯穿作者多年来学习编程的一些...

    VC++深入详解(课件+源码)

    《VC++深入详解》主要从程序内部运行的机制和MFC程序的组织脉络入手,使读者在学习VC++编程知识时,既能够知其然,又能知其所以然,从而帮助读者从根本上理解和掌握Windows的程序设计。另外,《VC++深入详解》还贯穿...

Global site tag (gtag.js) - Google Analytics