linux下C++开发常用工具

时间:2021-06-03 21:48:08

0. 编辑器:其实如果是界面编程的话,还是推荐QT Creator,一般的vi和sublime text2都挺好用的,人生苦短,好用就行,不要为了用工具而用工具。

1. c/c++编译器 gcc/g++    

2. UML建模工具 umbrello,这个软件的优点是简介和易用,拥有正向和逆向功能,而且window和linux下都可用。除了可以绘制CLASS图,还可以绘制状态图、工作流图、用例图等,功能全面和易用,是个挺好的工具。相比之下bouml其实已经是收费软件了,真可惜。

3. makefile文件编写工具 :autoconf,automake
无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,
我们都经常要用到make或 make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,
对于一个包括几百个源文件的应用程序,但是如果通过查阅make的帮助文档来手工编写Makefile,对任何程序员都是一场挑战。
幸而有GNU 提供的Autoconf及Automake这两套工具使得编写makefile不再是一个难题

使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系,autoconf,automake一般配合libtool使用。

一篇些的非常好的文章,介绍了相关的自动化测试的内容,http://www.doc88.com/p-671120110249.html


4. 调试工具:gdb
在window下编程,调试工具已经具成到VS环境,在linux/Unix下调试则通过gdb来调试,个人觉得gdb调试比vs调试高效很多。

5. 内存泄漏工具:valgrind
对于动则成千上万行的代码,很难通过手工的方式去保证内存没有泄漏,
valgrind通过内存申请、释放匹配的原则来检测内存泄漏,内存越界的BUG。当然,良好的编程习惯也是保证代码质量高效必不可少的条件。


6. 源代码管理工具:svn
软件开发不再是个人大师的年代,都是以团队的方式来开发,如何保证代码的同步,协同开发,svn给我们提了很好的帮助。

7. 网络协议分析工具:wireshark
编写网络程序,就不可避免要处理网络协议,分析网络数据.wireshark提供了关于网络层和上层协议的各种信息。
命令行下分析网络协议可以使用tcpdump.