Linux程序员入门

需要熟悉的工具:

编辑器:Vim/Emacs

当然有许多其他编辑器,但这两种是被最为广泛使用的。

其他桌面环境中的编辑器并不推荐。传说只有世界只有三种程序员,

一种用Vi,一种用Emacs,其他的归为第三类。

推荐CSDN easwy的Vim系列文章,当然,Vim最佳参考是其作者Bram Moolenaar的《Vim用户手册》。

另,这本书的中译本非常优秀。

编译器:gcc/g++。

非常多的命令行参数,以此熟悉早已忘却的编译原理课程。

调试器:gdb。

通过gdb熟悉命令行调试。有GUI调试界面DDD工具,但并不推荐。

推荐CSDN陈皓的《用gdb调试程序》,当然,这只是新手入门教程,GDB调试的最终参考是

其作者Stallman写的Debuging With GDB。

项目管理工具:make。

处理文件依赖关系,如头文件依赖,库依赖等。

VC++等IDE工具把细节隐藏了,因此从Windows转到Linux,需要自己处理此种依赖。

推荐CSDN陈皓《跟我写Makefile》,当然,这也只是新手入门教程,更好更完备的参考是《GNU Make项目管理》。

C/C++内存检测工具:valgrind

不仅仅是内存泄漏的检测,还有CPU,线程死锁,内存越界等检测。

最佳参考仍然是其手册。

其他工具:

在编程和辅助编程上,UNIX环境中有数十年沉淀下来的丰富的工具可供使用。

找到这些工具的一个捷径是查看man手册,然后从man手册最末的See also中跟踪下去,

你需要的,就在其中。

需要看的书:

Richard Stevens的两本经典著作:《UNIX环境高级编程 2/e》和《UNIX网络编程 3/e》。

Raymond的《UNIX编程艺术》,本书昵称TAoUP,讲述了UNIX世界的许多历史典故和程序设计哲学。

关于系统使用入门推荐:《Linux命令、编辑器与Shell编程》。

这本书显然不如前面的那么知名且辉煌,但作为入门,其浅显易懂的文风与选材,是非常适合新手的。

其他:

学习编程的最佳方法就是去编程。所以,了解一个系统的最佳方式就是去使用它。

虽然共享是最大的复用,但少不了个人的努力。因此,以上书单或工具介绍都写的非常简略,

有心者自己搜寻这些相关的资料。相信古语说的吧,功夫在诗外。

源文档 <http://blog.csdn.net/berlinix/archive/2009/04/07/4054724.aspx>

你可能感兴趣的:(linux)