zoukankan      html  css  js  c++  java
  • Win32 Console Application、Win32 Application、MFC三者之间的联系和区别

    转自:http://blog.csdn.net/c_base_jin/article/details/52304845

    在windows编程中,我们或多或少都听说这三个名称,分别是Win32 Console Application、Win32 Application、MFC。估计也有很多人,对此感到疑惑,今天从网络上收集了资料,并整理归纳,完整的介绍三者内在联系。


    Win32 Console Application


    Win32 Console Application是指win32控制台应用程序,属于CUI(Character User Interface字符用户接口)程序,往往是像MS-DOS窗口样子出现,我们得用键盘输入各种命令来使用它,它与纯dos程序区别是:它是32位的。控制台应用程序以main()函数为入口。


    Win32 Application


    Win32 Application是指SDk程序,是属于GUI(Graphics User Interface 图形用户接口)程序,就是常见的窗口应用程序,我们可以通过鼠标点击来完成控制。程序以WinMain()为入口,能够使用win32 API函数完成窗口设计等 


    MFC


    MFC(英语:Microsoft Foundation Classes)是一个微软公司提供c++类库,主要封装了大部分的windows API函数,以减少应用程序开发人员的工作量,在MFC类中包含了大量Windows句柄封装类和Windows的内建控件以及组件的封装类。


    MFC除了是一个类库以外,还是一个框架,在IDE(集成开发环境,Integrated Development Environment)里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以在生成的代码中看不到原本的SDK编程中的消息循环、窗口设计等东西。


    区别和联系


    相同点:


    它们都是工作于32位Windows环境。


    区别点:


    1.Win32 Application  和 Win32 Console Application 之间的区别

    • Win32 Application 是标准windows程序,完全拥有windows的特性,可以通过鼠标点击窗口来完成控制,
    • Win32 Application 入口函数是WinMain(),它具有消息响应机制,可以运行图形化的C++程序。
    • Win32 Console Application是控制台应用程序,类似于MS-DOS窗口,只能运行命令行程序,不具备消息响应机制。
    • Win32 Console Application入口函数是main(),可以访问部分windows API函数,如果你编写传统的C程序,必须建立Win32 Console程序。

    2.MFC和Win 32的区别

    • Win 32编程需要自己建立消息处理机制,
    • MFC是直接做消息映射(MESSAGE-MAP机制).
    • 两者相比,win32更底层,MFC是对win32的封装,使用起来更加方便。

         在新建项目时,可以选择项目类型,从而决定我们的应用程序是基于MFC框架还是Win32 编程,可选类型如下图。


    图1 项目类型选择

  • 相关阅读:
    状态同步和帧同步
    SVN和Git的使用
    客户端知识点
    客户端性能优化
    H5游戏开发面试经验
    2.0 pomelo-treasure官方demo的使用
    1.0 pomelo环境的搭建和部署
    python 网络编程
    冒泡排序
    面向对象-反射和元类
  • 原文地址:https://www.cnblogs.com/kevinWu7/p/10163528.html
Copyright © 2011-2022 走看看