需要熟悉的工具:
编辑器: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>