人生导师——如何学习C++的Windows方向
原来发在百度上,今天被人挖坟挖出来了,我就再贴出来吧。
-----------------------有什么说的不对的地方----------------------
本文原创,转载请注明出处并保持文章的完整性。
本文链接:http://blog.csdn.net/wlsgzl/article/details/42124341
----------------------------你TM来咬我啊-----------------------------
刚给贴吧里一个人写的。顺便发你一份吧。
如果大神看到了,请不要喷我,万望指正。 一般大学课程,C++用谭浩强的书。很多坏习惯都是这本书导致的,这,是很坑的。
推荐 C++ prime plus(应该是这个名字吧)。如果你们没有开设过C,或者你没有学好C的话,也不要紧,忘掉就好,没有C的基础更好。
他们的指导思想是不一样的。 看完了之后呢?看 C陷阱与缺陷。
你可能会觉得这是C的没必要。
是的,这是C的,但是C++ 和C的指针、数组等都是一样的,所以“你值得拥有”,一次看不懂不要紧,先了解下。 然后呢?该选平台了。Win32平台,还是Linux/Unix,这是个问题。
看在钱的面子上,Linux/Unix好。看在游戏的份上,当然是Win32了。 我只在Win32上开发,所以接下来我只说这个方向。 有了基本的基础后,可以开始进一步学习了。
先学习下Windows 32 位程序开发,这里只需要学习 简单hello world 就行了。
就是自己动手写一个Win32窗口版的hello world。这里一定要记住这个大体的框架,同时要自己能够处理消息循环。
有一本经典的 Windows程序设计(第五版),可以看下。 之后就可以看MFC了。
你可能要问,还有好多没学呢。是的,先学会Win32的基本结构,在后面学习MFC的时候,进行穿插的学习,可能更好。
在MFC部分,学习除单文档 、多文档 、序列化、 报表、打印、 文档/视图、ActiveX控件、定制向导以外所有的部分。
其中MFC的宏一定要弄懂,可以用铅笔跟着书写写画画,你一定要买纸质的书。 之后呢?可以再看一遍C陷阱与缺陷。 然后学习Windows核心编程。
这是本很好的书。如果觉着这本书还不够的话,还可以看Windows应用程序捆绑核心编程。 到这里实际上你可以胜任大多数简单工作了。 之后,如果想做顶层,可以看下COM技术内幕,看下设计模式,然后看大象-Thinking in UML(第二版)。
做底层的话,看罗云彬的Win32汇编、张帆的Windows驱动。 当然,如果你会图像视频算法或者其他的专业算法的话,可以不看这些。
人生导师——如何学习C++的Windows方向的更多相关文章
- Git学习系列之Windows上安装Git详细步骤(图文详解)
前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...
- Git学习系列之Windows上安装Git之后的一些配置(图文详解)
不多说,直接上干货! 前面博客 Git学习系列之Windows上安装Git详细步骤(图文详解) 第一次使用Git时,需要对Git进行一些配置,以方便使用Git. 不过,这种配置工作只需要进行一次便可, ...
- osg for android学习之一:windows下编译(亲测通过)【转】
1. 首先需要一个OSG for android的环境 (1)NDK 现在Eclipse 对NDK已经相当友好了,已经不需要另外cygwin的参与,具体可以参考 Android NDK开发篇(一):新 ...
- TortoiseGit学习系列之Windows上本地代码如何通过TortoiserGit提交到GitHub详解(图文)
不多说,直接上干货! 前面博客 TortoiseGit学习系列之Windows上TortoiseGit的安装详解(图文) 上面博文给大家讲解了一下如何本地安装TortoiseGit. 这篇为大家讲一下 ...
- PHP学习课程和培训方向学习路线分享
php语言的优越性,集结了很多的开发爱好者,无论行业前景和个人发展来说,php正飞速的发展,php在不断兼容着类似closures和命名空间 等技术,同时兼顾性能和当下流行的框架.版本是7之后,一直在 ...
- Python学习笔记 for windows
学习来源 http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738136 ...
- TestLink学习二:Windows搭建TestLink环境
环境准备: 搭建php5.4.39+apache2.2+mysq5.5.28l环境 (可参考http://www.cnblogs.com/yangxia-test/p/4414161.html) (注 ...
- TestLink学习一:Windows搭建Apache+MySQL+PHP环境
PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...
- 操作系统学习笔记(三) windows内存管理
//系统物理页面是由 (Page Frame Number Database )简称PFN数据库来进行管理,实际上是一个数组,每个物理页面都对应一个PFN项. 进程的地址空间是通过VAD(Virtua ...
随机推荐
- SQL 表变量和临时表
SQL 表变量和临时表 表变量:存储在内存中,作用域是脚本的执行过程中,脚本执行完毕之后就会释放内存,适合短时间内存储数据量小的数据集. 优点:使用灵活,使用完之后立即释放,不占用物理存储空间 缺点: ...
- 《深入理解Java集合框架》系列文章
Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framewo ...
- [C#高级编程].NET体系结构
本章内容: 编译和运行面向 .NET的代码 MSIL的优点 值类型和引用类型 数据类型化 理解错误处理和特性 程序集..NET基类和命名空间 本章主要介绍一些概念,内容不多. C#是专门为Micros ...
- C#函数式程序设计之用闭包封装数据
如果一个程序设计语言能够用高阶函数解决问题,则意味着数据作用域问题已十分突出.当函数可以当成参数和返回值在函数之间进行传递时,编译器利用闭包扩展变量的作用域,以保证随时能得到所需要的数据. C#函数式 ...
- Entity FrameWork 增删查改
Add #region 1.0 新增+void Add() /// <summary> /// 新增 /// </summary> static void Add() { // ...
- .net接口学习笔记
1.接口的声明 接口的声明不能包含:数据成员,静态变量:只能包含如下类型的静态成员函数的声明:方法,属性,事件,索引器.声明中不能包含任何实现的代码,而在每个成员成名的主体后,必须使用分号. 接口声明 ...
- trie树---(插入、删除、查询字符串)
HDU 5687 Problem Description 度熊手上有一本神奇的字典,你可以在它里面做如下三个操作: 1.insert : 往神奇字典中插入一个单词 2.delete: 在神奇字 ...
- JAVA多用户商城系统源码
最近公司要搞商城,让我多方咨询,最后看了很多,要不就是代码注释不全,要不就是bug多,要么就是文档缺少,最后决定自己开发一套商城. 下面是开发的一些心得体会,权且记录下来,给自己做个记录把. 网址 ...
- poi 导出 excel
private void exportAssetExcel(HttpServletRequest request, HttpServletResponse response) throws IOExc ...
- mysql启动报错:Starting MySQL...The server quit without updating PID file
在mysql的data目录下误删除了mysql-bin.000001,mysql-bin.000002等文件,但是没有删除mysql-bin.index文件,此时启动mysql就会报错: Starti ...