原文:http://blog.csdn.net/liquanhai/article/details/5499768程序员
预备知识:
1. VC是一门语言吗?
VC不是一种语言,而是一种集成开发环境(IDE)。利用VC,能够把源程序编写、编译连接、调试运行等各个工做放在一块完成,很方便。若是你学过 8086汇编语言,必定会对其使人吐血的运行和调试方式印象颇深:) .那么,咱们在VC里用的是什么程序设计语言呢? 是 C++。数据库
2.MFC是什么东东?VC和MFC有什么关系?
常听学VC的人提及MFC,有本口碑不错的书名字就叫《深刻浅出MFC》,那么MFC是什么呢?咱们知道,C++是一种面向对象编程(OOP)语言,使用 别人封装好的类(Class)能够极大的加快软件开发进度。而MFC,就是MicroSoft为咱们提供的一个门类齐全、功能强大的类的集合,它的全称 是:MicroSoft Foundation Class。咱们日常所说的"学习VC",有一小半内容是指学习MFC的功能和使用方法。那另外一大半呢?- 我不能立刻告诉你,立刻告诉你你印象不深:)编程
3.什么是API函数?
举个例子吧,若是让你在电脑屏幕中间打印一行字:"只要想作一件事,就必定有办法"。你会如何去作呢?在显示器上显示任何东西,本质上都是对硬件的操做, 做为一个普通的coder,不可能也没有必要去深刻到硬件层来实现这个功能。幸运的是,系统给咱们提供了一系列函数,只要咱们用C语言的方式调用这些函 数,剩下的和硬件打交道的事情就由系统帮咱们完成了。这些函数,就是传说中的API函数,全称:Application Programm Interface(应用程序接口)。在咱们上面的例子中,能够先用API函数GetDC()取得桌面的DC,而后用TextOut()函数输出文字。事 实上,要想扎实的学好VC程序设计,必定要理解和掌握这些API - 这就是另外一大半内容。
1、思想准备
真是有趣,学个程序开发还要思想准备?
我无心夸大学习VC的难度,可是VC的入门比VB之类的难不少倒是不争的事实。若是你曾经3个星期搞定VB(这里指入门),那么VC可能要花三个月的时 间,这种广泛存在的学习困难差别使得不少人产生严重的挫折感甚至最终放弃。固然,具体要花多长时间和你原有的基础以及我的努力程度有关,稍后我会谈到须要 哪些知识。而如今,我只但愿朋友们能有这样一个认识:VC是比较难学的,我须要作好长期学习的思想准备。windows
2、学习流程
谁都但愿经过最短最好走的路到达目的地,学VC的人也不例外吧?然而有一些路是注定不能绕过的,绕过它们,你的知识就会就会变成无根之草,你就会在接下来的学习中举步惟艰。下面顺次列出学习VC所须要掌握的知识:
1. C++程序设计基础网络
2. Windows程序设计ide
3. MFC的学习和使用函数
若是你看到这里以为有畏难情绪,请把"1、思想准备"再读一遍。
让我来解释一下这三个知识点的关系。学习
学VC必需要有C++的基础。不会C++而能学会VC纯属扯淡。说到这里我想调侃一下本身,由于我在上大二的时候曾经一时冲动要学VC,去图书馆借了几本 书回来硬着头皮啃了半个多月,仍然一头雾水不知书中所云,遂放弃。如今回想起来,书写的比较烂当然是没有学成VC的一个缘由,但关键是本身基础不够--除 了VB啥都不懂,连"::"是什么意思都不知道,呵呵见笑了。因此若是你如今还不懂得C++,请务必学C++先。
若是时间紧迫的话,也能够速成:至少应该搞明白面向对象编程的基本概念,好比类/对象/继承/重载 等等。
推荐书目:利普曼 加.劳乔 著 潘爱民译 《C++ Primer 》、钱能的《C++程序设计教程》也不错。spa
注意:有很多人畏惧这部分的学习而选择跳过去直接学习MFC,对此个人见解是:不可取。当你没有学会走 路时,不要跑,不然每每会摔的很惨。侯俊杰先生说的”勿在浮沙筑高台“也是这个道理。而事实上当你潜心把这部分学好后,你会发现MFC的入门根本就不须要 花什么时间。世上不少事情是须要水到渠成的,当你付出足够的努力每每就能够作成一件事(技术的事情尤为如此),不须要刻意去找什么捷径,古人说“大巧无巧 术, 用巧者乃因此为拙”,真正的捷径就是不找捷径。
推荐书目:Petzold 的《widnows程序设计》,有中文版的。为何我只推荐这一本?由于它实在太经典了,一本足矣。.net
到此为止,你已经掌握了使用API函数和MFC进行简单可视化程序的开发,稍加训练作个简单的数据库或者网络的程序应该不成问题了。×××长征已经顺利的迈出了第一步,恭喜你!
3、问答(FAQs)
问:我不会c语言,有关系吗?
答:不要紧。你按照【学习流程】中说的123学就行。
问:我该装哪一个版本的VC?
答:版本并不重要, 就像你吃饭时先吃哪道菜同样. IDE的使用,一通百通。若是你实在没有主意非要我推荐的话, 那就装VC++6.0吧,最好是英文版的.
问:C++ 和 windows程序设计的学习能够用VC进行编译调试吗?
答: 固然能够。具体方法网上找,至关简单。
问:VC的代码量太大,一个最简单的窗口都要百十行代码。很差办啊?
答:VC就这个样,习惯了就行了。简易和灵活是天生的矛盾,VC偏向于后者。
问:什么是MSDN?我要不要安装MSDN?
答:你能够把MSDN简单的理解为一种函数参考手册。对于VC程序员来讲,没有MSDN是不可想象的。
问:API函数和宏定义太多太难记,我该怎么办?
答:高中化学的原子量多很少?难不难记?但我相信当年不少人都记得经常使用元素的原子量。为何?练的多天然就记住了,别亦无它,惟手熟而。
问:我学VC好一阵子了,以为VC太难了,我该怎么办?
答:谢谢, 这是我所遇到的最容易回答的问题:坚持,或者放弃。
问:若是用一句话来归纳学好VC的关键方法,那是什么? 答:亲手写代码, 从最最简单的程序开始, 编程、编程、再编程。