基础:《C语言程序设计:现代方法》(第2版)(C
Programming: A Modern Approach, 2nd Edition, K.N.King)《深入理解计算机系统》(修订版或第2版)(Computer Systems: A Programmer's Perspective,
Randal E. Bryant et al),阅读建议《C语言程序设计》(第2版)(The
C Programming Language, Brian W. Kernighan &Dennis M.
Ritchie)《程序员修炼之道》(The
Pragmatic Programmer: From Journeyman to master, Andy
Hunt &Dave Thomas)
02内核/驱动:Linux内核设计与实现》(第3版)(Linux
Kernel Development, 3rd Edition, Robert Love)《Linux设备驱动程序》(第3版)(Linux
Device Driver, 3rd Edition, Jonathan Corbet et al)《深入Linux内核架构》(Professional
Linux Kernel Architecture, Wolfgang Mauerer)
03应用:《UNIX环境高级编程》(Advanced
Programming in the UNIX Environment, W. Richard Stevens)《UNIX网络编程》(Unix
Network Programming, W. Richard Stevens)
04进阶:《C陷阱与缺陷》(C Traps and Pitfalls, Andrew Koenig)《C专家编程》(Expert C Programming, Peter
van der Linden)《ARM嵌入式系统开发:软件设计与优化》(ARM
System Developer's Guide: Designing and Optimizing System Software,
Andrew Sloss et al)
我就是做LINUX下的C开发的。准确的说,LINUX下C才是主要的开发语言,但是写应用程序还是要用面向对象的,尤其是图形界面的,不如QT和X和GTK等等。下面说的必须要求你C语言学的很好而且会使用LINUX的情况下。LINUX常用命令要熟悉。
要学LINUX下的C编程,先看一两本LINUX下C的书比较好,这个你自己选择,但是经典的书还是好一些,比如《LINUX程序设计》、《UNIX环境高级编程》,看这些的时候把书上的例子选择一些自己编译一下,哪怕是照着敲进去,事半功倍。
看完一本这样的书,你对LINUX系统编程的知识就足够了,这时候你可以开始阅读一些LINUX下的源代码来锻炼和提升能力了,LINUX下有很多开源的软件,你可以搜一下,应用程序也很多,但是最好的源代码还是LINUX内核。
推荐一本简单的内核书《linux内核完全剖析0.12》,这个讲的是0.12内核,代码量只有1万多行的内核,现在的2.6估计一千万,一辈子看不完。这个书讲了很多X86体系结构的知识,这时理解内核必备的,汇编你要能看懂。
能看懂内核代码了,就说明你至少不是初学者了,现在肯定能开发项目了,有了经验后,恭喜你,你就成为一名LINUX程序员了。
再由这些基础后,你就可以选择一些具体的开放方向了,比如底层一点,驱动,协议等、或者嵌入式应用等、或者是QT等。不过这就是后话了,呵呵
我自己的一些体会,希望能对你有用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)