文档介绍:linux 环境下的 c++ 编程就C ++开发工具而言,与 Windows 下微软( VC , VS2005 等)一统天下相比, Linux/Unix 下C ++开发, 可谓五花八门, 各式各样。 Emacs, vi, eclipse, anjuta , kdevelop 等层出不穷。 Windows 下,开发工具多以集成开发环境 IDE 的形式展现给最终用户。例如, VS2005 集成了编辑器, 宏汇编 ml ,C /C++ 编译器 cl, 资源编译器 rc, 调试器, 文档生成工具, nmake 。它们以集成方式提供给最终用户, 对于初学者而言十分方便。但是,这种商业模式,直接导致用户可定制性差,不利于自动化,集成第三方工具的能力弱。例如, 无法定制一些宏来处理一些重复操作; 体会不到自动化 makefile 一步到位快感; 无法远程登录到服务器上进行开发;无法使用某种粘合剂来把第三方工具(例如,文本工具,字符串工具)有效地调用起来。可以说,良好的商业支持和傻瓜式开发,是它们主要的优点。在 linux 下, 开发工具被切割成一个个独立的小工具。各自处理不同的问题。例如: 编辑器( emacs, vim ) 用来进行编辑程序的调试器( gdb ) 用来调试程序编译器( GCC ) 用来编译和链接程序的性能分析工具( gcov, gprof ) 用来优化程序的文档生成器( doxygen ) 用来生成文档的同时,还有一些系统工具和系统知识,我们是很有必要了解的:程序自动化机制 makefile , 系统粘合剂 shell , 系统查找工具 grep, locate, find 。其它的工具( 例如 ctags , OC I 公司的 MPC 等等) ,一旦熟练掌握,它们将成为你手中的利器。本文主要是一些针对 LINUX 下开发工具使用的经验之谈。由于,工具品种繁多, 我们没有能力也没有必要一一介绍。对于 LINUX 下 IDE 工具,例如 eclipse, anjuta 等,它们虽然也很实用, 但是使用起来比较简单, 而且目前还算不上主流。所以, 它们将不被着重介绍。同时, 本文也不打算写成各个工具的操作手册, 只着眼于介绍各个工具的想要解决的问题、运行机理和主要特性。编辑器要进行开发,第一件事情就是选择一个合适的编辑器。编辑器选择有几个要素: 1) 减少不必要的编辑动作,减少编辑的时间。一切能够无二义性描述出来的编辑任务, 都可以而且应该能被自动化。例如, 每一个C ++程序都会有一个 main 函数; 文件时,都希望加入一些预处理指令# define 来帮我们解决重复引用同一个头文件而带来的麻烦。鼠标操作总是比键盘操作要慢的。这方面 EMACS 做得可算是到了极致。所以, EMACS 用户经常会吹嘘: 他们编辑的速度等同于他们思考的速度。====================================================================== ======= 链表处理语言( 有专贴) LISP ( 全名 LISt Processor , 即链表处理语言),由约翰· 麦卡锡在 1960 年左右创造的一种基于λ演算的函数式编程语言。 LISP 有很多种方言, 各个实现中的语言不完全一样。各种 LISP