C和C++嵌入式系统编程 //偏嵌入式底层;
C++ GUI Programming with Qt 4 中文版 //Qt框架
C++ Primer 3rd Edition 中文完美版 //经典教材
C++ PrimerPlus //初学者入门
深度探索C++对象模型 //偏学术
C语言深度解剖 //讲得很好,基础概念的深入剖析
关键字
符号
预处理
指针和数组
内存管理
函数
文件结构
高质量C++编程指南 //讲解很多基本概念,加强基础;
文件结构、版式、命名规则
表达式和基本语句
常量、常量定义规则
函数设计
内存管理
C++函数的高级特性
类的构造函数和析构函数、赋值函数
类的继承与组合
其他
Thinking in C++ 中文版 //讲解了很多机制,有深度
对象的演化、数据抽象、隐藏实现
初始化与清除、输入输出流介绍
常量、内联函数、命名控制、引用和拷贝构造函数
运算符重载、动态对象创建、继承与组合、多态和虚函数
模板和包容器类
多重继承
异常处理
运行时类别识别
《Linux Device Driver》《Linux设备驱动程序》 //关于Linux设备驱动程序的好书。不过内容有些杂乱,如果您没有一些写驱动的经验,初次看会有些摸不着南北。
《用TCP/IP进行网际互连》Douglus.E.Comer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议
第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。
卷三可以作为参考手册,其中地例子也很经典。
《TCP/IP详解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。
《Unix Network Programing》W.Richard Stevens 《UNP》
第一卷讲BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSD Socket,
第二卷没有涉及到网络的东西,主要讲进程间通讯和Posix线程。所以看了《APUE》以后,就可以看它了,基本上系统的东西就由《APUE》和《UNP》vol2概括了
国内是清华翻译的《Unix网络编程》
《Advanced Programing in Unix Envirement》 W.Richard Stevens
也是非常经典的书,但是事实上它是《Unix Network Programing》的一本辅助资料
国内的翻译的《UNIX环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容易
《The C Programing Language》K&R 经典的C语言程序设计教材,作者是C语言的发明者,教材内容深入浅出。
另外也可用谭浩强的《C语言程序设计》代替
内核和驱动开发
《linux kernel development》,黑话叫lkd
《understading the linux kernel》,黑话叫utlk
《linux源码情景分析》
《Operating System - Design and Implement》《操作系统设计与实现》 //读了这本书,对操作系统的底层怎么工作的就会
有一个清晰的认识
这四本书为搞内核的必读书籍
路线:
从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码
其中学习linux常用命令时就要学会自己编译内核,优化系统,调整参数
先学学编辑器,vim, emacs什么的都行。
然后学make file文件,只要知道一点就行,这样就可以准备编程序了。
学习linux/unix编程方法的建议
我的书单:
《深入理解计算机系统》《计算机网络》
《C Primer Plus》 《C++ Primer Plus》
《鸟哥私房菜》
《程序员的自我修养》
《C专家编程》《C和指针》《C陷阱与缺陷》
《Linux系统编程》
《Linux shell脚本攻略》
《Unix环境高级编程》
《Unix网络编程》卷一卷二
《用TCP/IP进行网际互连》卷一
《TCP/IP详解》卷一卷二
《WireShark网络分析》