VC学习总结
花了一个多星期,终于把VS2010 MFC向导生成的新类及大致原理弄明白了。
不知不觉我从电脑白痴到现在都有十年了,走了很多弯路。
总结一下学习VC的较正确顺序,希望大家不要见笑。
1.IDE安装最好是VS2003以上,初期用VC6也可以。
2.Visual Assist X,必须要装,会大大减轻了对代码编写的恐惧,提高代码阅读能力。
3.学习C++,熟悉VC环境,如编译,运行,掌握简单语法就够了,不要使用MFC,用控制台就够了。
4.学习调试,这是最关键的一步,在这一步花再多的时间都是值得的,必须要明白VC中所有调试功能怎么用,是所有!!如函数堆栈,断点,追踪点,内存断点,单步执行,查看内存等。
5.继续学习C++,利用调试技巧可以明白很多事情,这个时候可以简单接触SDK,MFC和STL。
6.再继续学习C++,学会语言的一些高级技巧,如虚函数,模板等,学会封装类,熟悉一下SDK或WTL编程,并坚持,熟悉一定量Windows API函数及Windows的消息机制,如果觉得SDK太麻烦,而自己封装的类又觉得不好用,可以走下步。
7.设计模式+MFC+ATL+WTL,必须对C++有足够的理解才要走这一阶段,这也是很关键的一步,《设计模式》是GOF的经典之作,必须要看,看不懂也要看,利用调试技巧,深入理解MFC的设计原理和原因,其间可以看看WTL和ATL,完全可以把WTL和ATL翻一遍,结合设计模式,反复思考微软这些库的设计。
8.如果觉得这些库都大致明白了,看看重构和软件工程的书,翻翻STL和boost。
第4与第7很重要
过程参考书籍:
基础:《C++ primer》《C++编程思想》
升级:《effective c++》《more effective c++》《Exceptional C++》《more Exceptional C++》
高级:《C++ Template》《Modern C++ Design 》
实践:《STL 源码剖析》《C++标准库Boost程序库导论》
应用:《深入浅出MFC》《COM本质论》《深入解析ATL 2》《win32 多线程程序计》
软件工程:《设计模式》《代码大全 2》《大话设计模式》(是C#版) 《敏捷软件开发》 《测试驱动开发》(java版) 《UML用户指南 2》