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, OCI
公司的 MPC 等等),一旦熟练掌握,它们将成为你手中的利器。
本文主要是一些针对 LINUX 下开发工具使用的经验之谈。由于,工具品种繁多,
我们没有能力也没有必要一一介绍。对于 LINUX 下 IDE 工具,例如 eclipse, anjuta 等,它
们虽然也很实用,但是使用起来比较简单,而且目前还算不上主流。所以,它们将不被着重
介绍。同时,本文也不打算写成各个工具的操作手册,只着眼于介绍各个工具的想要解决的
问题、运行机理和主要特性。
编辑器
要进行开发,第一件事情就是选择一个合适的编辑器。编辑器选择有几个要素: