7

到目前为止,我有使用 Visual Studio 的经验。但我打算使用一些 Linux 工具来开发和维护用 C 编写的应用程序。

我彻底解决了这个问题,但它谈论了太多关于 IDE 的内容。我很高兴使用它们,但我想知道还有哪些其他工具对上述练习很方便且很重要。我也想知道是否有任何命令可以让事情变得简单。谢谢!

编辑:我使用过 vim 并且熟悉 gcc 及其重要标志。任何进一步的事情都会有所帮助。

4

4 回答 4

11

您需要熟悉 linux 命令行工具。尤其:

  • 学习一个好的编辑器,例如vimemacs
  • 使用脚本编写您的构建make
  • 编译使用gcc
  • 调试使用gdb
  • 源代码控制:如果您有选择的余地,我推荐使用现代 DVCS,例如 git 或 mercurial。否则,您的团队已经使用的任何工具都应该没问题。

这只是触及基本要素的表面,但它可能会帮助您入门。


这些工具也非常有用:

  • grep- 您需要一种搜索​​源文件的好方法。此命令与 vim 和 emacs (?) 集成在一起,因此在大多数情况下,您可能希望直接从编辑器中使用它。
  • ctags- 正如其他人所说,这将使您在编辑器中浏览源代码变得更加容易同样,请咨询您的编辑以了解如何使用 ctags。
  • valgrind- 在您的应用程序中查找内存泄漏。
  • lint- 一种静态分析工具,如夹板,用于查找 C 代码中的编码错误。
  • rpm或其他打包系统 - 根据您部署应用程序的方式,您可能希望使用包管理器来帮助进行版本控制、安装/升级脚本等。
  • screen- 终端多路复用器允许您拆分终端,以便(例如)在一个窗格中查看源代码并在另一个窗格中调试/执行/搜索日志。如果您必须连接到您支持的任何远程计算机,这也很方便,因为如果您碰巧断开连接,您可以稍后重新连接到远程屏幕会话,而不必担心您的所有命令都被终止。例如,如果您处于 a 中间,yum update您不必担心它会因为您的连接被切断而在事务中终止。
  • ssh// sftpetc - 如有必要,将文件安全地复制到您的测试/生产机器。
于 2012-08-14T13:40:41.673 回答
6

在 Linux 下使用 C 语言开发时,此工具很有用:

  1. IDE:Vim带有solarized主题(http://ethanschoonover.com/)。CtgasTaglist轻松浏览您的代码(http://www.thegeekstuff.com/2009/04/ctags-taglist-vi-vim-editor-as-sourcece-code-browser/
  2. 用于编译和调试gcc, gdb,make
  3. 对于大型项目:AUTOCONF、、AUTOMAKELIBTOOL
  4. 检查所有与内存相关的东西:Valgrind 检查函数 CPU 时间消耗Callgrind( http://valgrind.org/info/tools.html ) 全局Valgrind's Tool Suite(http://valgrind.org/info/tools.html) 是一个很棒的工具
  5. 对于高质量代码:(GNU gcov测试覆盖率),这是一篇关于代码测试和高质量 C 代码的精彩文章(http://aleccolocco.blogspot.fr/2009/08/sqlite-lesson-in-low-defect-software。 html )
  6. GNU locate:轻松查找所有文件
  7. Git用于源代码配置
  8. Doxygen:为代码生成文档
  9. 如果您开发网络程序:wireshraktcpdump
  10. LXR使用(http://lxr.linux.no) ( http://www.ittc.ku.edu/~niehaus/classes/800-s04/notes/setup_lxr.txt )轻松浏览内核代码
  11. Strace跟踪系统调用(它始终是调试打开配置文件的程序的好工具)

MAN PAGES是最好的工具

还有很多其他好东西:-

于 2012-08-14T14:21:07.200 回答
2

在使用 processus 或 htop 时使用终止符进行多术语和轻松切换。

我推荐 emacs (-nw) 或 vi

Gcc 来编译你的 C 代码。

您还想使用 GDB 进行调试。

Valgrind 检查泄漏和内存转储

于 2012-08-14T13:43:35.900 回答
1

你需要能够在你的代码库中找到东西,为此我建议:

  1. 确认。它就像一个find/grep组合,但更容易使用,更有用并且直接面向程序员。
  2. 标记。它将帮助您通过编辑器(vi/emacs 等)以与 IDE 类似的方式浏览代码库(将代码视为一组超链接)
于 2012-08-14T13:42:31.490 回答