人生导师——如何学习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 ...
随机推荐
- .Net魔法堂:史上最全的ActiveX开发教程——部署篇
一.前言 接<.Net魔法堂:史上最全的ActiveX开发教程——发布篇>,后我们继续来部署吧! 二. 挽起衣袖来部署 ActiveX的部署其实就是客户端安装ActiveX组件,对未签 ...
- CART(分类回归树)原理和实现
前面我们了解了决策树和adaboost的决策树墩的原理和实现,在adaboost我们看到,用简单的决策树墩的效果也很不错,但是对于更多特征的样本来说,可能需要很多数量的决策树墩 或许我们可以考虑使用更 ...
- Hibernate中延迟加载和缓存
什么是延迟加载? 延迟加载是指当应用程序想要从数据库获取对象时(在没有设置lazy属性值为false),Hibernate只是从数据库获取符合条件的对象的OId从而生成代理对象,并没有加载出对象 访问 ...
- Scrum1.2--spring计划
项目功能--深入分析 燃尽图
- C#设计模式——代理模式(Proxy Pattern)
一.概述在软件开发中,有些对象由于创建成本高.访问时需要与其它进程交互等原因,直接访问会造成系统速度慢.复杂度增大等问题.这时可以使用代理模式,给系统增加一层间接层,通过间接层访问对象,从而达到隐藏系 ...
- 关于iPhone多点触控
虽然这个问题很简单,但是对于我这接触两天的菜鸟来说也弄了很久,网上又找不到相关的解决方法,避免其他人和我一样,还是记录一下 一般网上找到的教程是这么教: -(void )touchesBegin:(N ...
- 【循序渐进学Python】11.常用标准库
安装完Python之后,我们也同时获得了强大的Python标准库,通过使用这些标准库可以为我们节省大量的时间.这里是一些常用标准库的简单说明.更多的标准库的说明,可以参考Python文档 sys 模块 ...
- idea中maven项目xml资源文件无法读取
解决方法:编辑pom.xml文件 添加如下标签 <build> <resources> <resource> <directory>src/main/j ...
- 强大的修改数据库修改语句ALTER TABLE(一)[20160712]
今天开始的时间比昨天晚,其实午休的时间是差不多的,只是起来后稍微看了一点新闻,10分钟时间就没有了,所以要养成一个好习惯还真不容易,另外就是工作时间少看新闻,太浪费时间. 昨天在执行一个alter S ...
- 【转载】NodeJS、NPM安装配置步骤(windows版本)
1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL” ...