C/C++ Linux 程序员必须了解的 10 个工具

1. 基本命令
http://mally.stanford.edu/~sr/computing/basic-unix.html
http://pangea.stanford.edu/computing/unix/shell/commands.php
http://infohost.nmt.edu/tcc/help/unix/unix_cmd.html

2. 编辑器– vi, Emacs
http://www.atmos.albany.edu/deas/atmclasses/atm350/vi_cheat_sheet.pdf
http://cmgm.stanford.edu/classes/unix/emacs.html

3. 构建工具 – make/Cmake
http://frank.mtsu.edu/~csdept/FacilitiesAndResources/make.htm
http://www.cmake.org/cmake/help/cmake_tutorial.html

4. 调试器 – gdb
http://www.cs.cmu.edu/~gilpin/tutorial/

5. 版本控制 – cvs, svn, git
http://mrsrl.stanford.edu/~brian/cvstutorial/
http://www.cs.ubc.ca/~vailen/svn_howto.htm
http://maverick.inria.fr/~Xavier.Decoret/resources/svn/index.html
http://www.vogella.com/articles/Git/article.html

6. 代码查看工具 – ctags, cscope
http://www.linux-tutorial.info/modules.php?name=Howto&pagename=C-editing-with-VIM-HOWTO/random.html
http://www.cs.washington.edu/education/courses/cse451/12sp/tutorials/tutorial_cscope.html
http://cscope.sourceforge.net/cscope_vim_tutorial.html

7. 进程间通讯机制
http://tldp.org/LDP/tlk/ipc/ipc.html

8. 多线程库 – Pthreads, BOOST library
https://computing.llnl.gov/tutorials/pthreads/
http://ashishgrover.com/boost-multi-threadingfor-c/

9. 内存工具 – Purify, Valgrind
http://www.cprogramming.com/debugging/valgrind.html
http://pages.cs.wisc.edu/~hasti/cs368/resources/purify.html

10. GUI – Qt
http://zetcode.com/gui/qt4/introduction/
http://www.digitalfanatics.org/projects/qt_tutorial/
http://doc.trolltech.com/4.3/tutorial.html

时间: 2024-10-10 18:13:53

C/C++ Linux 程序员必须了解的 10 个工具的相关文章

C/C++ Linux 程序员必须了解的 10 个工具(转)

1. 基本命令http://mally.stanford.edu/~sr/computing/basic-unix.htmlhttp://pangea.stanford.edu/computing/unix/shell/commands.phphttp://infohost.nmt.edu/tcc/help/unix/unix_cmd.html 2. 编辑器– vi, Emacshttp://www.atmos.albany.edu/deas/atmclasses/atm350/vi_cheat

程序员必须进行的10项投资

你的健康 显而易见,开发人员经常都是坐着不动的.每天坐8到16个小时,只休息很短的时间,你的肚子周围很容易会堆起赘肉.肥胖是其它疾病的催化剂,而其中心脏病又是最可怕的.多花点时间运动一下就能避免这样的情况,如果有可能的话,花点钱办一张健身房的会员卡. 长时间以不符合人体工程学的姿势打字,也容易使开发人员选成重复性的肌肉损伤,比如说腕管综合征.每隔几个小时拉伸一下你的手腕或者买块鼠标和键盘都能用的手腕护垫可以避免这样的损伤. 盯着屏幕也会给你的眼睛造成压迫,这就是为什么建议配一副防眩光眼镜而不是普

程序员必须进行的10项投资(转)

你的健康 显而易见,开发人员经常都是坐着不动的.每天坐8到16个小时,只休息很短的时间,你的肚子周围很容易会堆起赘肉.肥胖是其它疾病的催化剂,而其中心脏病又是最可怕的.多花点时间运动一下就能避免这样的情况,如果有可能的话,花点钱办一张健身房的会员卡. 长时间以不符合人体工程学的姿势打字,也容易使开发人员选成重复性的肌肉损伤,比如说腕管综合征.每隔几个小时拉伸一下你的手腕或者买块鼠标和键盘都能用的手腕护垫可以避免这样的损伤. 盯着屏幕也会给你的眼睛造成压迫,这就是为什么建议配一副防眩光眼镜而不是普

Java程序员常犯的10个错误

本文总结了Java程序员常犯的10个错误. #1. 把Array转化成ArrayList 把Array转化成ArrayList,程序员经常用以下方法: List<String> list = Arrays.asList(arr); Arrays.asList() 实际上返回一个ArrayList,但是这个ArrayList是Arrays的一个内部私有类,而不是java.util.ArrayList类.这个私有类java.util.Arrays.ArrayList有set(), get(), c

程序员必须知道的10大基础实用算法及其讲解

程序员必须知道的10大基础实用算法及其讲解 原文出处: cricode 算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比 较,但这种状况并不常见.事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构 上很有效率地被实现出来. 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子

程序员必知的10大基础实用算法

    算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2) 次比较,但这种状况并不常见.事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的 架构上很有效率地被实现出来. 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists). 算法步骤: 1 从数列中挑出一个元

(转) Java程序员应该知道的10个调试技巧

原地址:http://www.csdn.net/article/2012-09-03/2809495-java-debugging-tips-with-eclipse 调试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序.但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运行时上面. 在开始之前,推荐大家去看看Eclipse shortcuts这篇文章,它将会给你带来很多方便.在本文中使用的是Ecli

堆排序算法---《程序员必须知道的10大基础实用算法及其讲解》

> 原帖地址:http://www.oschina.net/question/1397765_159365 快速排序算法的基本特性: 时间复杂度:O(N * logN) 堆排序为不稳定排序,不适合记录较少的排序. var arr = [], count = 100, i = 0, parentIndex, exeCount = 0, startTime = + new Date(), stackSort = function(a){ if(a.length === 1) return a; va

Python 程序员经常犯的 10 个错误

关于PythonPython是一种解释性.面向对象并具有动态语义的高级程序语言.它内建了高级的数据结构,结合了动态类型和动态绑定的优点,这使得... 关于Python Python是一种解释性.面向对象并具有动态语义的高级程序语言.它内建了高级的数据结构,结合了动态类型和动态绑定的优点,这使得它在快速应用开发中非常有吸引力,并且可作为脚本或胶水语言来连接现有的组件或服务.Python支持模块和包,从而鼓励了程序的模块化和代码重用. 关于这篇文章 Python简单易学的语法可能会使Python开发