VS2010/MFC编程入门之前言
鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口。鸡啄米在这套VS2010/MFC编程入门教程中将会给大家讲解怎样使用VS2010进行可视化编程,也就是基于窗口的程序。
C++编程入门系列主要偏重于理论方面的知识,目的是让大家打好底子,练好内功,在使用VC++编程时不至于丈二和尚摸不着头脑。本套教程也会涉及到VC++的原理性的东西,同样更重视实用性,让大家学完本套教程以后,基本的界面程序都能很容易编写出来。
VC++简介
VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C++是语言,而VC++是用C++语言编写程序的工具平台。VC++不仅是一个编译器更是一个集成开发环境,包括编辑器、调试器和编译器等,一般它包含在Visual Studio中。Visual Studio包含了VB、VC++、C#等编译环境。当然我们在使用VC++ 6.0的时候为了轻便,总是只单独安装VC++ 6.0。但自微软2002年发布Visual Studio.NET以来,微软建立了在.NET框架上的代码托管机制,一个项目可以支持多种语言开发的组件,VC++同样被扩展为支持代码托管机制的开发环境,所以.NET Framework是必须的,也就不再有VC++的独立安装程序,不过可以在安装Visual Studio时只选择VC++进行安装。

VC++版本的选择:VS2010
因为VC++ 6.0以后的版本不再有独立的安装程序,所以鸡啄米在教程中将不会称VC++ 6.0以后的版本为VC++ 7.0等等,而是用VC++所属的Visual Studio的版本名称代替,比如VS2003。
近些年VC++主要的版本包括:VC++ 6.0、VS2003、VS2005、VS2008和VS2010。
VC++ 6.0占用的系统资源比较少,打开工程、编译运行都比较快,所以赢得很多软件开发者的青睐。但因为它先于C++标准推出,所以对C++标准的支持不太好。举个例子:
for(int i=0; i<5; i++)
{
a[i] = i;
}
for语句中声明的变量i,对于VC++ 6.0来说,出了for循环仍能使用。但很显然这与C++标准对于变量生存期的规定不符合。
随着VC++版本的更新,对C++标准的支持越来越好,对各种技术的支持也越来越完善。但同时新版本所需的资源也越来越多,对处理器和内存的要求越来越高。到VS2010,光安装文件就2G多,安装后的文件占3G多空间,其运行也经常受处理器和内存等性能的限制。但鸡啄米还是推荐大家使用VS2010,毕竟它是最新版本,类库和开发技术都是最完善的,本教程也将使用VS2010为大家做例程的演示。当然如果系统配置确实比较低,可以选择VS2005,VS2005和VS2010相比还是要轻量级一些的。VC++ 6.0已经过时,奉劝大家尽量别用了。
VC++与MFC
讲VC++免不了要提MFC,MFC全称Microsoft Foundation Classes,也就是微软基础类库。它是VC++的核心,是C++与Windows API的结合,很彻底的用C++封装了Windows SDK(Software Development Kit,软件开发工具包)中的结构和功能,还提供了一个应用程序框架,此应用程序框架为软件开发者完成了一些例行化的工作,比如各种窗口、工具栏、菜单的生成和管理等,不需要开发者再去解决那些很复杂很乏味的难题,比如每个窗口都要使用Windows API注册、生成与管理。这样就大大减少了软件开发者的工作量,提高了开发效率。
当然VC++不是只能够创建MFC应用程序,同样也能够进行Windows SDK编程,但是那样的话就舍弃了VC++的核心,放弃了VC++最强大的部分。MFC也不是只能用于VC++中,它同样也可以用在Borland C++等编译器中,当然没有几个人这样做。
本节旨在让大家对VC++、VS2010和MFC有基本的概念上的认识,后面鸡啄米会带大家进入VS2010/MFC的世界,让大家轻松的开发各种包含窗口、图形等的可视化程序。
VS2010/MFC编程入门之前言的更多相关文章
- VS2010/MFC编程入门教程之目录和总结
鸡啄米的这套VS2010/MFC编程入门教程到此就全部完成了,虽然有些内容还未涉及到,但帮助大家进行VS2010/MFC的入门学习业已足够.以此教程的知识为基础,学习VS2010/MFC较为深入的内容 ...
- VS2010/MFC编程入门之五(MFC消息映射机制概述)
VS2010/MFC编程入门之五(MFC消息映射机制概述)-软件开发-鸡啄米 http://www.jizhuomi.com/software/147.html 上一讲鸡啄米为大家简单分析了MFC应用 ...
- VS2010/MFC编程入门之四(MFC应用程序框架分析)
VS2010/MFC编程入门之四(MFC应用程序框架分析)-软件开发-鸡啄米 http://www.jizhuomi.com/software/145.html 上一讲鸡啄米讲的是VS2010应用 ...
- VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)
VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)-软件开发-鸡啄米 http://www.jizhuomi.com/software/143.html 鸡啄米在上一讲中 ...
- VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)
VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)-软件开发-鸡啄米 http://www.jizhuomi.com/software/141.html 上一讲中讲了VS20 ...
- VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)
原文地址: VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)-软件开发-鸡啄米 http://www.jizhuomi.com/software/139.html 上一讲中鸡 ...
- 《VS2010/MFC编程入门教程》——读书笔记
推荐两个比较好的学习网站:http://v.dxsbb.com/jisuanji/555/ http://www.jizhuomi.com/software/257.html MFC全称Microso ...
- VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)
上一节中鸡啄米讲了GDI对象之画刷CBrush,至此图形图像的入门知识就讲完了.从本节开始鸡啄米将为大家带来Ribbon界面开发的有关内容.本文先来说说如何创建Ribbon样式的应用程序框架. Rib ...
- VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)
上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObje ...
随机推荐
- AsyncTask应用示例
package com.example.testdemo; import java.io.ByteArrayOutputStream; import java.io.IOException; impo ...
- docker tag 详解
docker tag 用于给镜像打标签,语法如下: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] ① 比如我现在有一个 centos 镜像: [ro ...
- surfaceView和View的区别
概念:view在UI线程去更新自己:而SurfaceView则在一个子线程中去更新自己 surfaceView是在一个新起的单独线程中可以重新绘制画面,而View必须在UI的主线程中更新画面 在UI的 ...
- iOS @synthesize var = _var 变量前置下划线解释
本文转载至 http://blog.csdn.net/ztp800201/article/details/9231617 前置下划线是一种为了帮助区分实例变量和访问方法的约定.对于编译器来说它只是一 ...
- iOS 自动布局 Autolayout 优先级的使用
一.约束的优先级 0.屏幕适配 发展历程 代码计算frame -> autoreszing(父控件和子控件的关系) -> autolayout(任何控件都可以产生关系) -> siz ...
- centos 7 搭建ntp 服务器
第一步 安装ntp yum install ntp 第二步,查找最近的时间同步服务器 http://www.pool.ntp.org/zone/asia 第三部编辑 /etc/ntp.conf ser ...
- LeetCode——Generate Parentheses
Description: Given n pairs of parentheses, write a function to generate all combinations of well-for ...
- Android 查看每个应用的最大可用内存
http://blog.csdn.net/vshuang/article/details/39647167 Android 内存管理 &Memory Leak & OOM 分析 ...
- nexus 增加代理仓库 无法搜到snapshot的jar包 解决方法
如题, nexus 私服 增加了另一个 私服, 但是无法搜到 版本中带有 snapshot字样的 jar包. 环境情况: 1.老私服: 首先版本中带有 snapshot字样的 jar包,是发布在 老 ...
- 【BZOJ4553】[Tjoi2016&Heoi2016]序列 cdq分治+树状数组
[BZOJ4553][Tjoi2016&Heoi2016]序列 Description 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他.玩具上有一个数列,数列中某些项的值可能 ...