MFC是什么意思?

如题所述

MFC,微软基础类(Microsoft Foundation Classes),同VCL类似,是一种Application Framework,随微软Visual C++ 开发工具发布。目前最新版本为9.0(截止2008年11月)。该类库提供一组通用的可重用的类库供开发人员使用。大部分类均从CObject 直接或间接派生,只有少部分类例外。
MFC 应用程序的总体结构通常由 由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。MFC 提供了MFC AppWizard 自动生成框架。
Windows 应用程序中,MFC 的主包含文件为"Afxwin.h"。
此外MFC的部分类为MFC/ATL 通用,可以在Win32 应用程序中单独包含并使用这些类。
由于它的易用性,初学者常误认为VC++开发必须使用MFC。这种想法是错误的。作为Application Framework,MFC的使用只能提高某些情况下的开发效率,只起到辅助作用,而不能替代整个Win32 程序设计。
MFC,微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinDOS下开发人员使用的专业C++ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm,这跟Pascal和Delphi的关系一个道理,Pascal是Delphi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言),MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的..
MFC是Win API与C++的结合,API,即微软提供的WinDOS下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方(如我是一方,微软是一方,Borland就是第三方)的编程语言来进行对WinDOS下应用程序的开发,使这些被开发出来的应用程序能在WinDOS下运行,比如VB,VC++,Java,Dehpi编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在WinOS的消息机制和绘图里,遵守WinDOS作为一个操作系统的内部实现,这其实也是一种必要,微软如果不提供API,这个世上对Win编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C++封装,这种结合一方面让用户使用微软的专业C++ SDK来进行Win下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Win下用C++ & MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价(这是微软的一向作风),因此就造成了MFC对类封装中的一定程度的的冗余和迂回,但这是可以接受的..
最后要明白MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在WinDOS(用MFC编写的程序绝大部分都在WinDOS中运行)中实现内部处理的类,如数据库的管理类等,学习中最应花费时间的是消息和设备环境,对C++和MFC的学习中最难的部分是指针,C++面向对像程序设计的其它部分,如数据类型,流程控制都不难,建议学习数据结构C++版。
MFC是微软封装了的API。什么意思呢?windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的win32开发(直接使用windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。MFC是面向对象程序设计与Application framework的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架,
[编辑本段]历史
MFC是在1992年的Microsoft 16位版的C/C++编译器的7.0版本中作为一个扩展轻量级的Windows API面向对象的C++封装库而引入的。此时,C++因为它在和API方面的卓越表现,刚刚开始被用来取代C应用于开发商用软件。因此,他们推出了替代早期的老式的字符界面的集成开发环境(IDE)的PWB。
有趣的是,MFC使用“Afx”作为所有的函数,宏及标准预编译头文件名的前缀。因为在MFC的早期开发阶段它叫“Application Framework Extensions”缩写为“Afx”。MFC这个名字被采用得太晚了以至于没来得及修改这些引用。
最近,MFC8.0和Visual Studio 2005一起发布了;MFC9.0和Visual Studio 2008一起发布。在免费的Express版本的Visual Studio 2005/2008中没有包含MFC。
作为一个强有力的竞争对手,为Borland的Turbo C++编译器设计OWL(Object Windows Library)在同一时间也发布了。但最后,Borland停止了对OWL的继续开发并且不久就从Microsoft那里购买了MFC头文件,动态链接库等的授权,微软没有提供完整的MFC的集成支持。之后Borland发布了VCL(Visual Component Library)来替换OWL框架。
[编辑本段]版本更新
新产品版本 MFC版本
Microsoft C/C++ 7.0 MFC 1.0
Visual C++ 1.0 MFC 2.0
Visual C++ 1.5 MFC 2.5
Visual C++ 2.0 MFC 3.0
Visual C++ 2.1 MFC 3.1
Visual C++ 2.2 MFC 3.2
Visual C++ 4.0 MFC 4.0 (mfc40.dll included with Windows 95)
Visual C++ 4.1 MFC 4.1
Visual C++ 4.2 MFC 4.2 (mfc42.dll included with the Windows 98 original release)
eMbedded Visual C++ 3.0 MFC 4.2 (mfc42.dll)
Visual C++ 5.0 MFC 4.21 (mfc42.dll)
Visual C++ 6.0 MFC 6.0 (mfc42.dll)
eMbedded Visual C++ 4.0 none
Visual C++ .NET 2002 MFC 7.0 (mfc70.dll)
Visual C++ .NET 2003 MFC 7.1 (mfc71.dll)
Visual C++ 2005 MFC 8.0 (mfc80.dll)
Visual C++ 2008 MFC 9.0.21022 (mfc90.dll)
Visual C++ 2008 with Feature Pack MFC 9.0.30411 (mfc90.dll)
MFC为Mass Flow Controller的缩写,即质量流量控制。流体在旋转的管内流动时会对管壁产生一个力,它是科里奥利在1832年研究水轮机时发现的,简称科氏力。质量流量计以科氏力为基础,在传感器内部有两根平行的T型振管,中部装有驱动线圈,两端装有拾振线圈,变送器提供的激励电压加到驱动线圈上时,振动管作往复周期振动,工业过程的流体介质流经传感器的振动管,就会在振管上产生科氏力效应,使两根振管扭转振动,安装在振管两端的拾振线圈将产生相位不同的两组信号,这两个信号差与流经传感器的流体质量流量成比例关系。计算机解算出流经振管的质量流量。不同的介质流经传感器时,振管的主振频率不同,据此解算出介质密度。安装在传感器器振管上的铂电阻可间接测量介质的温度。
质量流量计直接测量通过流量计的介质的质量流量,还可测量介质的密度及间接测量介质的温度。由于变送器是以单片机为核心的智能仪表,因此可根据上述三个基本量而导出十几种参数供用户使用。质量流量计组态灵活,功能强大,性能价格比高,是新一代流量仪表。
测量管道内质量流量的流量测量仪表。在被测流体处于压力、温度等参数变化很大的条件下,若仅测量体积流量,则会因为流体密度的变化带来很大的测量误差。在容积式和差压式流量计中,被测流体的密度可能变化30%,这会使流量产生30~40%的误差。随着自动化水平的提高,许多生产过程都对流量测量提出了新的要求。化学反应过程是受原料的质量(而不是体积)控制的。蒸气、空气流的加热、冷却效应也是与质量流量成比例的。产品质量的严格控制、精确的成本核算、飞机和导弹的燃料量控制,也都需要精确的质量流量测量。因此质量流量计是一种重要的流量测量仪表。
质量流量计可分为两类:一类是直接式,即直接输出质量流量;另一类为间接式或推导式,如应用超声流量计和密度计组合,对它们的输出再进行乘法运算以得出质量流量。
直接式质量流量计 直接式质量流量计有多种类型,如量热式、角动量式、陀螺式和双叶轮式等。
(1) 主要参数:
质量流量精度: ±0.002×流量±零点漂移
密度测量精度: ±0.003g/cm3
密度测量范围: 0.5~1.5g/cm3
温度测量范围: ±1°C
(2) 传感器相关数据:
环境温度: -40~60°C
介质温度: -50~200°C
防爆类型: iBⅡBT3
关联设备: 配套变送器
(3) 变送器相关数据:
工作温度: 0~60°C
相对湿度: 95%以下
电 源: 220±10%VAC,50Hz或24±5%VDC,40W
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-13
气体质量流量控制器
简介
  首先区分一下气体质量流量控制器(MFC)与气体质量流量计(MFM),MFC是带有控制气体质量流量的装置,而MFM是不具有控制气体质量流量功能的装置。
  MFC为Mass Flow Controller的缩写,即质量流量控制。流体在旋转的管内流动时会对管壁产生一个力,它是科里奥利在1832年研究水轮机时发现的,简称科氏力。质量流量计以科氏力为基础,在传感器内部有两根平行的T型振管,中部装有驱动线圈,两端装有拾振线圈,变送器提供的激励电压加到驱动线圈上时,振动管作往复周期振动,工业过程的流体介质流经传感器的振动管,就会在振管上产生科氏力效应,使两根振管扭转振动,安装在振管两端的拾振线圈将产生相位不同的两组信号,这两个信号差与流经传感器的流体质量流量成比例关系。计算机解算出流经振管的质量流量。不同的介质流经传感器时,振管的主振频率不同,据此解算出介质密度。安装在传感器器振管上的铂电阻可间接测量介质的温度。
  质量流量计直接测量通过流量计的介质的质量流量,还可测量介质的密度及间接测量介质的温度。由于变送器是以单片机为核心的智能仪表,因此可根据上述三个基本量而导出十几种参数供用户使用。质量流量计组态灵活,功能强大,性能价格比高,是新一代流量仪表。
  测量管道内质量流量的流量测量仪表。在被测流体处于压力、温度等参数变化很大的条件下,若仅测量体积流量,则会因为流体密度的变化带来很大的测量误差。在容积式和差压式流量计中,被测流体的密度可能变化30%,这会使流量产生30~40%的误差。随着自动化水平的提高,许多生产过程都对流量测量提出了新的要求。化学反应过程是受原料的质量(而不是体积)控制的。蒸气、空气流的加热、冷却效应也是与质量流量成比例的。产品质量的严格控制、精确的成本核算、飞机和导弹的燃料量控制,也都需要精确的质量流量测量。因此质量流量计是一种重要的流量测量仪表。
  质量流量计可分为两类:一类是直接式,即直接输出质量流量;另一类为间接式或推导式,如应用超声流量计和密度计组合,对它们的输出再进行乘法运算以得出质量流量。
  直接式质量流量计 直接式质量流量计有多种类型,如量热式、角动量式、陀螺式和双叶轮式等。
  (1) 主要参数:
  质量流量精度: ±0.002×流量±零点漂移
  密度测量精度: ±0.003g/cm3
  密度测量范围: 0.5~1.5g/cm3
  温度测量范围: ±1°C
  (2) 传感器相关数据:
  环境温度: -40~60°C
  介质温度: -50~200°C
  防爆类型: iBⅡBT3
  关联设备: 配套变送器
  (3) 变送器相关数据:
  工作温度: 0~60°C
  相对湿度: 95%以下
  电 源: 220±10%VAC,50Hz或24±5%VDC,40W
常见类型
  1. 容积式流量计,又称定排量流量计。它利用机械测量元件把流体连续不断的分割成单个已知的体积部分,根据测量室逐次重复的充满和排放该体积部分流体的次数来测量流体体积流量。
  2. 浮子式流量计,又称转子流量计,是变面积式流量计的一种,在一根由下向上扩大的垂直锥管中,圆形横截面的浮子的重力是由液体动力承受的,从而使浮子可以在锥管中自由的上升和下降。
  3. 差圧式流量计 ,是根据安装于管道中流量检测件产生的差压,已知的流体的条件和检测间与管道的尺寸来计算流量的仪表。
  4. 涡街流量计,在流体中安放一根非流线型游涡发生体,流体在发生体两侧交替的分离释放出两串规则地交错排列的游涡的仪表。
  5. 涡轮流量计,是速度式流量计中的主要种类,它采用多叶片的转子(涡轮)感受流体平均流速,从而推导出流量或总量的仪表。
  6. 超声流量计,通过检测流体流动对超声束(或超声脉冲)的作用以测量流量的仪表。
  7. 电磁流量计,电磁流量计是根据法拉弟电磁感应定律制成的一种测量导电性液体的仪表。电磁流量计有一系列优良特性,可以解决其它流量计不易应用的问题,如脏污流、腐蚀流的测量。
  8. 热式流量计,热式流量计传感器包含两个传感元件,一个速度传感器和一个温度传感器。它们自动地补偿和校正气体温度变化。仪表的电加热部分将速度传感器加热到高于工况温度的某一个定值,使速度传感器和测量工况温度的传感器之间形成恒定温差。当保持温差不变时,电加热消耗的能量,也可以说热消散值,与流过气体的质量流量成正比,它适合单一气体和固定比例多组份气体的测量。
  科里奥利式流量计,其原理是利用流体在振管内流动时产生的科氏力,以直接或间接地方法测量其力而得到流体质量流量。
热式气体质量流量计
简介
  目前,国内使用最为广泛的是热式气体质量流量计。其原理如下:
  “在直径较细的感应管中放置两对加热器,并将其控制在同一温度。当流体流动时,气体将上游的部分热量带给下游,而下游的加热器从上方获取热量温度上升。这时,利用上下加热器之间产生的温度差和流体的质量流量成比例的原理,来测定流量。”(附:qm=KCpA△T Cp定压比热容 A测量管绕组(即加热系统)与周围环境热交换系统之间的热传导系数; K -仪表常数)
  想像一下……放置两台电热器,用一条线将两台电热器连接起来,自己坐在线的中点处交叉的直角线上,很暖和。两台电热器发散同样的热量,你坐在离两台电热器同等距离的正中间位置,接受双方的热量,是温度最高的地方。在这个炎热的季节,说这样的话,真是热得无法忍受啊…… 这时,在侧面加一个电风扇,离电风扇近的一方发散出来的热,被吹到远一点的电热器,你坐的地方也会觉得稍微凉一些。风扇吹得越快就越凉快。 这和热式感应管中的道理一样,风扇的强度(风量)=气体的流量。反过来,要想检测流量的话,可以说“测量一下气体流过的时候两台电热器之间移动的热量即可”
用途
  1. 锅炉、裂解炉用燃料气质量流量测量控制;
  2. 石油化工、采油、火炬气质量流量测量;
  3. 燃烧炉用空气质量流量测量控制;燃汽轮机氢气质量流量和控制;
  4. 食品加工及饮料气体质量流量和控制;
  5. 水厂氯气质量流量控制;
  6. 生产半导体时高纯度气体质量流量测量;
  7. 催化剂、化学添加剂质量流量测量;
  8. 泵的保护控制、泵密封、润滑油池泄漏检测;
  9. 空调系统控制;
  10. 仪表用空气、工艺空气、氮气等质量流量测量。
  11. 气体分析仪,大气采样器
  12. 泄露监测
  13. 气体分配系统
  14. 实验室气体测量
  15. 医学应用
  16. 燃料电池
  17. 应用气体:Air, O2, N2, He, Ar, CO2, H2, CH4, C3H8, N2O, SF6, C3H6, CO, C4H10, 等绝大多数气体。
常见问题
  实际使用中发现,当输入的气体不同时控制显示的数值与实际不符,其实原因很简单,因为在MFC行业中,有一种参数叫CF,即气体转换系数(下面简称CF)。而MFC行业中又把N2(氮气)定义为标准气体M。N2的C值为1.00,其他的气体以氮气为中心,分布在0.1到1.4左右。
  CF大于1.00的代表气体是单原子气体He(氦)、Ar(氩)、Kr(氪)、Xe(氙)。和N2相近的气体有02(氧气)、H2(氢气)、F2(氟)等。0.5以下的有SF6、WF6、SiCl4等。如果是几种气体的混合在一起的话,简单的分析其比率,用各自的CF值计算即可。我觉得如果稍微了解气体的话,就会分出苗条的轻量级和大力士的重量级。虽然有一部分例外,但一般是这样的。
  假设某台MFC是用N2标定的,但是实际流过的气体是He,实际的流量比N2多。各个厂家的He的CF值稍有不同,但大约都在1.4,所以简单的说就是He气相同示数时,是N2的1.4倍流量。反过来,如果N2流过He的MFC,实际的流量大约是1÷1.4=约0.71,少30%的流量
  因此控制器发现流量不准时,考虑出厂标定CF是否与你的气源相同。
第2个回答  2018-04-13
微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
第3个回答  2020-07-06
微软基础类库,microsoft
foundation
class.
为了减少代码编写,微软把一些常用的类封装在一个库里,供大家公用,调用。即MFC。
第4个回答  2019-07-01
微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
相似回答