为什么有时候程序在到达全局theApp时会先进入CWinApp呢???

原创 2007年10月03日 09:40:00
工程名:Test
按照一般的理解,加点调试时程序首先应该进入全局对象CTestApp  theApp。但有时候我们却发现
程序首先进入的是CWinApp(。。。),这就让我们很难理解?????
进一步调试发现此时 this指向一个叫 _afxOleWinApp的对象。看名子应该是一个全局对象。搜一下
进入到了DLLOLE.CPP里,发现它里面的却有一个 _afxOleWinApp对象   CWinApp   _afxOleWinApp
再加一个断点再调试,发现程序首先进入到了这里,然后到CWinApp(。。。),最后又会回到
DLLOLE.CPP里完成其它初始化如 DLLMain(。。。)。所以这段过程实际上是在初始化动态链接库。
为什么要初始化动态链接库,初始化什么DLL。
其实初不初始化DLL,取决于你是怎样引用MFC类库的。如果你出现了上述情况,你可以Project---->
Settings--->General你会发现你加载类库的方式是Shared Dll。如果是以Static Libray方式加载的话
就不会出现上述情况了,因为此时根本不需要加载DLL。

为什么有时候程序在到达全局theApp时会先进入CWinApp呢?

工程名:Test按照一般的理解,加点调试时程序首先应该进入全局对象CTestApp  theApp。但有时候我们却发现程序首先进入的是CWinApp(。。。),这就让我们很难理解?????进一步调试发...
  • northhero
  • northhero
  • 2009年09月01日 23:36
  • 488

为什么mfc中从InitInstance()中进入程序

学过PE文件格式,你就明白,程序在进入WinMain之前要做很多事情,比如初始Dos头,分配函数表,初始化全局变量。之后才进入程序入口(WinMain) MFC对WindowsAPI进行了封装。在用...
  • songjunyan
  • songjunyan
  • 2014年10月18日 13:33
  • 2169

MFC的运行过程分析

MFC程序的运行细节剖析        MFC程序也是Windows程序,所以它应该也有一个WinMain,但是在程序中看不到它的踪影。其实在程序进入点之前,还有一个(而且仅有一个)全局对象(the...
  • cheng_xu_yuanlilin
  • cheng_xu_yuanlilin
  • 2015年07月22日 09:43
  • 1049

MFC程序的theApp对象

每次创建一个MFC应用程序,不管是Doc/View类型的,还是对话框类型的,都会发现MFC会自动为我们创建一个CXXXApp的类,其中XXX表示我们的工程名。其实很多时候,我们都不会用到这个类,也不会...
  • jslmes
  • jslmes
  • 2016年07月15日 08:42
  • 944

CWinApp中的InitInstance()

initInstance是WinMain调用的第一个函数,用于创立程序。InitInstance基本上只创建程序窗口。这个函数的代码本可直接插入到WinMain中,但将它们放到单独的函数中会更方便(这...
  • Nickter
  • Nickter
  • 2013年08月18日 12:50
  • 1537

动态链接库(DLL)编程深入浅出

1.概论   先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无...
  • u013037007
  • u013037007
  • 2015年07月30日 22:46
  • 1333

播放音乐时突然停止的问题

Issue 12926: Music Player pauses randomly http://code.google.com/p/android/issues/detail?id=12926 播放...
  • ameyume
  • ameyume
  • 2013年07月04日 10:14
  • 2140

MFC架构之CWinApp类

      CWinApp是一个基类,你通过它来继承Windows应用程序对象。应用程序对象为你提供了初始化应用程序(以及它的每一个实例)和运行应用程序所需的成员函数。它实现主事件循环并把事件分发给M...
  • FlowShell
  • FlowShell
  • 2010年11月14日 17:18
  • 2891

PHP读取文件内容后清空文件

$fh = fopen($path, "r+"); if( flock($fh, LOCK_EX) ){//加写锁             $old_content=json_decode(fre...
  • crimeheaven
  • crimeheaven
  • 2014年03月17日 18:19
  • 643

CWinApp

 描述         CWinApp类是所在Windows应用程序的基类.CWinApp为初始化每个应用程序的实例   提供成员函数.每个使用MFC的应用程序中只能含有一个CWinApp的派生对象....
  • benny5609
  • benny5609
  • 2007年12月11日 11:43
  • 2598
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为什么有时候程序在到达全局theApp时会先进入CWinApp呢???
举报原因:
原因补充:

(最多只允许输入30个字)