visual C ++与MFC的关系

我现在学完了C和C++(大学教程),准备看《windows程序设计》、《MFC》、《viusalC++》。。提问如下。①现在所不了解的是VC与MFC的关系,我了解到VC编... 我现在学完了C和C++(大学教程),准备看《windows程序设计》、《MFC》、《viusal C++》。。提问如下。
①现在所不了解的是VC与MFC的关系,我了解到 VC 编译器提供了非常强大C++类库,那这个所谓的类库中的类是不是就是MFC??如果是的话,那么visual C++的精华所在是不是就是在于MFC?也就是通过MFC这些强大的类实现可视化以及更多的功能?
②windows程序设计是用C语言写的还是C++写的?若是C++,那是否用到了MFC?如果是C,那么那些强大的类又叫什么?也叫MFC吗?难道MFC支持C与C++?
③以上的3本书我应该按照什么顺序来看?
好的,问题就这么多,先谢谢回答过的人,但是如果说答者自己对这些东西也不是和懂的话,那么请不要作答,免得使我更糊涂了,谢谢配合、。
展开
 我来答
qqaben
2011-01-05 · TA获得超过575个赞
知道小有建树答主
回答量:134
采纳率:100%
帮助的人:129万
展开全部
楼主的问题已经好多人回答了,鉴于自己上学时也在这些问题上纠结过,忍不住也想恢复下 ^_^

楼主应该打开过 VC 这个软件吧,你可以看一下新建工程的时候,有好多项目类型可以选择,例如,win32应用程序,win32控制台,MFC应用程序等等,所以 VC 只是一个开发环境,你可以选择使用MFC,也可以选择不使用MFC写你的软件。MFC是微软提供的一套类库,是一个类的集合,统称MFC,楼主学过数据结构的话,应该知道链表,队列,map等等这些东西,C语言里用char*,C++里用string表示字符串,MFC对这些都有自己的封装 CArray,CMap,CString等。

但是,MFC重要且常用的一部分是对窗口的封装。CWnd,CDialog,CButton等等。我们拿软件上的按钮来说,不适用MFC,直接用Win32 的API 函数来创建,我们要用CreateWindow函数先创建出来,还要计算按钮的大小,位置等等。但是用MFC,我们想创建一个按钮,直接在工具箱里拖到界面上,调整位置和大小也就是动动鼠标的事,一句代码不用写就出来了。这也是MFC的优越之处。

那么,我们一般说的 windows 程序设计,和 MFC 程序是什么关系呢?其实,一般我们说的windows程序就是不使用MFC类库里的东西,直接用 API 写的程序,显而易见,我们创建一个按钮就需要写函数,计算位置等等这些过程,要是建一个复杂的界面,肯定要写很多代码。MFC的程序当然就是使用了MFC的程序了。

MFC 关于窗口这一块的封装,其实就是封装的 win32 API。像MFC里CWnd这样的窗口类,最后还是调用的 API 函数 CreateWindow,只是微软为了方便开发人员快速的开发软件,帮我们处理了,借助 VC 和 MFC 给我们一个所见即所得环境。

直接用 Win32 API 编程类似于 C 语言的面向过程编程,还是因为MFC为了方便我们开发,通过一些封装等手段,使得我们开发应用程序,能以面向对象的方式开发了。

C++重要的地方在于这种面向对象的思想,MFC又何尝不是C++思想的一个实现?我们用C语言编程,显示一个东西用 printf,在C++里可能用 cout 这些函数还不都是 C,或者C++ 的库提供给我们的? 在VC下开发,别管用不用MFC,只要包含了 C 或者 C++ 的头文件,链接了库文件,都是可以使用的。

虽然 MFC 提供了这么方便的开发方式,但是在方便的同时,MFC隐藏的细节太多,使我们看不清程序后面的机制了,上面说,MFC是对 win32 API 的封装,所以要想清楚的知道窗口是怎么出来的,又是怎么响应用户的,还是要从 windows 编程开始。

个人推荐,先看,windows程序设计,再学习MFC,起码先把windows编程关于创建窗口,消息处理搞明白以后再看MFC,既然MFC封装的就是这些东西,你把MFC底层的细节了解一二了,还怕学不会MFC? 希望能帮到楼主 ^_^
徐光猪
2011-01-05 · TA获得超过4167个赞
知道大有可为答主
回答量:1299
采纳率:50%
帮助的人:1734万
展开全部
MFC 是 微软写的一个类库 楼主刚学完就学MFC ,个人认为 有点不合适

先解释一下 吧 VC++ 是微软开发的一个编译器 可以编译很多工程 MFC 就是其中一个工程
VC的精华不一定是MFC MFC没有那么神奇 MFC是一种可视化的函数应用 相当于VB 不过MFC是面向对象的而VB是基于对象 你学过 C++应该知道

不过 MFC 不是唯一的 一个可视化类库 还有 Qt 不知道楼主有没有听过 MFC 的跨平台能力不怎么好 Qt是非常可以 嵌入式开发很多就是 Linux+Qt做的开发

MFC (Microsoft Foundation Classes 微软函数类库)底层是微软提供给的API写成的 就是说 MFC是基于API实现的

API是应用程序接口 是微软为编程留下来的一些接口函数 如果 学习 MFC 先了解API是对MFC学习有非常大的帮助

MFC 与C++ C是不同的概念 MFC 只不过是一个库 什么语言都可以运用它 简单说 他只不过是一个 头文件 不过他是可以生成控件和窗口的 C C++是一门语言 不是说什么强大有了可视化就可以叫MFC

MFC 并不是最厉害 的 每一个牛X的人都可以为一个语言写相应的类库 你喜欢管他叫CFM都可以的

当然 我建议楼主学好基本功 如C++要学扎实 因为 学习 MFC windows编程 都是一种不可跨平台的东西 如果你一头栽进去了 你就掉进了 微软设置的陷阱里面 垄断!!!!!!!

这样 你以后只能为微软服务 所以 学好基本东西 学好C++ 学好基本算法 这样才是一个正确的选择 界面是骗人的 自己程序的健壮性才是最诱人的 不要被 windows界面美就被诱惑了 其实 他是骗人

如果到了一定的程度后 我建议楼主 先了解 windows 的原理 例如窗口是怎么创建的 消息机制是怎么样的 不过估计很难看懂的 呵呵 楼主 一个从Dos过来的人 你还是先把操作系统学好再去学吧

学任何东西都不能基 一步步来你上面写的书 够你学3 5年了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jelin818
2011-01-05 · 超过24用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:65.4万
展开全部
第一:VC编译器的确提供了非常强大C++类库,而这个就是MFC了,MFC是微软基础类库的英文缩写;MFC可以有很多强大的功能,建议下载孙鑫的MFC视频教程看,我已经看得差不多了,20集,3G左右;
第二:windows程序设计当然“主要”是用C++写的,其实MFC就是用来开发windows应用程序的;
第三:本人建议:VC++->MFC->WINDOWS;
以上仅代表个人观点,如有雷同就是:你抄我的了,哈哈……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友241034e
推荐于2017-10-07 · TA获得超过122个赞
知道答主
回答量:88
采纳率:0%
帮助的人:36.2万
展开全部
1、Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。VC++整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C++ 2010。
2、MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
3、关系:现人们提到MFC多指界面程序。可在visual C++中用MFC类型的程序简便地实现界面设计。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-01-05
展开全部
MFC只是VC中的一个类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式