VC++学习第三章

一、MFC程序的内部结构

在VS中,没有建立MFC程序的时候,我们在普通的cpp文件中写窗口类程序,要有一系列的步骤,比如要创建winmain函数,要创建窗口类,注册窗口类等等。但是在创建一个MFC的工程的时候,我们会发现找不到winmain函数了。

但是这样一来,我们就发现,一个MFC程序,我们不知道它是从什么地方开始执行的。

其实一个MFC的程序里面也是有WinMain函数的,它是在程序的链接的时候添加进来的。在MFC库文件中的APPMOUDLE.CPP这个文件中,就会找到相应的winmain函数。可以在这里设置断点,然后运行我们刚才建立的mfc程序,就会发现,程序会先跳转到这个函数。

在调试运行的时候,你可能会看见,程序一开始进来的可能并不是winmain函数,而是一些全局变量的构造函数,这是因为,在程序执行之前,编译器要为程序中所有的全局变量进行初始化,之后再执行主程序。也就是说,一些全局变量(静态变量)都是在主程序之前进行分配内存和初始化的。


每一个MFC程序都只能由一个从cwinapp中派生出来的应用程序类,每一个这样的应用程序类都只能够实例化一个对象。实例化这个应用程序的对象就能够代表整个应用程序。


如果程序当中带有Afx前缀的函数,都是程序的框架函数,作用域的范围是全局的,因此我们可以在任意一个类中使用他。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值