C++、Visual C++、MFC(编译和封装)之间的关系是什么?
2016-07-23 10:15
591 查看
https://www.zhihu.com/question/20772069
C++、Visual C++、MFC(编译和封装)之间的关系是什么?
陈良乔,http://www.chenlq.netC++初学者义务辅导
143 人赞同
你遇到了一个C++初学者大多会遇到或者搞混淆的概念问题
具体到你的疑惑
无论在Windows下还是Linux下,C++都只是语言,更具体一点,就是C++语言标准,这里又可以细分为不同的版本,比如C++98,C++03以及最新的C++11(2011年在ISO通过,参考C++11
FAQ中文版)
C++只是一套语言规则标准,我们要利用它来编程,还需要具体的实现。而Visual C++(其中的编译器其实是cl.exe), GCC, Clang, Intel C++, IBM XLC++等等,都是C++标准的具体实现,也就是你所说的编译器。
而MFC,则是类库,也就是为了某一特定目的而事先设计好的类的集合。比如,MFC,Qt,WTL等等是为了应用程序界面设计,boost是为了提高C++的开发效率而事先实现的模板库,OpenGL是为了实现3D渲染而提供的函数库。如果用盖房子来做一个比喻的话,C++是最基础的沙子和水泥,而MFC则是预制板,是事先做好的半成品,从而使得我们可以利用这些预制件更便捷高效地盖好房子(应用程序)
以上这些,是我们盖房子需要的材料,而IDE则是我们用C++写程序所需要的一套工具(代码编辑器,调试器等,就像盖房子需要的起重机,搅拌机,运输机)。而Visual C++,Eclipse等等,都只是这一套工具的牌子(就像你的起重机是三一重工的,还是徐工的)。
这样的解释,这些概念清楚了吗?
不仅仅是写GUI用到的函数,其他任何函数库(OpenGL,boost等)的使用,都需要查阅其文档,才能知道其中各个函数的使用方法,才能正确有效地使用。这就不仅仅是MSDN了,你使用什么库,就在网上找相关的文档就可以了。关于C++,我最常用的就是Reference
- C++ Reference了,就像新华字典一样子,常备案头。
别纠结,慢慢一步步来
相关文章推荐
- 使用QProxyStyle定制QMenu (二)
- sprintf和sscanf的用法
- C++软件添加dump调试打印日志(推荐)
- C语言实现ping功能(查看设备联网状态)
- C语言中字符串的赋值
- C++重载函数 const形参 引用指针 const_cast
- 继承
- 【C++11】C++11新增的便利算法[1] all_of、any_of 和 none_of
- 李洪强漫谈iOS开发[C语言-017]-printf函数
- c语言程序结构,全局变量,局部变量
- 李洪强漫谈iOS开发[C语言-016]-变量的作用域
- C语言学习-结构体
- 李洪强漫谈iOS开发[C语言-015]-变量的使用
- C语言基础知识
- 合并两个排序的链表 C++
- VC封装Ping命令的实现
- C++修炼之路 map
- <C++略识>之多态和虚函数
- ARM汇编与C语言混合编程之汇编调用C函数
- C++基础知识点