人生导师——如何学习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 ...
随机推荐
- [Architect] Abp 框架原理解析(3) DynamicFilters
本节目录 介绍 定义Filter 设置Filter 这是Abp中多租户.软删除.激活\禁用等如此方便的原因 Install-Package EntityFramework.DynamicFilters ...
- 常用的android弹出对话框
我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等 ...
- C#引用C++代码
现在在Windows下的应用程序开发,VS.Net占据了绝大多数的份额.因此很多以前搞VC++开发的人都转向用更强大的VS.Net.在这种情况下,有很多开发人员就面临了如何在C#中使用C++开发好的类 ...
- dictionary 添加数据
var empList = from p in customers select new { p.Personnel_ID, p.PersonName }; var empTempList = emp ...
- DirectShow程序运行过程简析
这段时间一直在学习陆其明老师的<DirectShow开发指南>一书,书中对DirectShow的很多细节讲解清晰,但是却容易让人缺少对全局的把握.在学习过程中,整理了关于DirectSho ...
- 一些js小题(一)
一些js小题,掌握这些对于一些常见的面试.笔试题应该很有帮助: var a=10; function aa(){ alert(a); } function bb(){ aa(); } bb();//1 ...
- 如何rename sqlserver database
Problem Sometimes there is a need to change the name of your database whether this is because the or ...
- 使用Vue编写点击数字小游戏
使用vue编写一个点击数字计时小游戏,列入你在文本框中输入3,点击开始会生成一个3行3列的表格,表格数据为1-9随机排列,这时候从1开始点击,按顺序点到9,当按正确顺序点击完毕,会提示所用的时间,如果 ...
- CSS Hack(转)
做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道 ...
- Microsoft Dynamics CRM 前瑞开发
做CRM开发最大的感受就是其前瑞开发过程中,调试起来比较麻烦,需要做一些断点还要配制一些浏览器设置,对新手来说比较困难.还有就是对REST调试,经常为了调试一个正确的结果而花费大量的时间.现在推荐一个 ...