在Linux中开发C应用程序时使用的重要且方便的工具和命令

在Linux中开发C应用程序时使用的重要且方便的工具和命令,c,linux,C,Linux,到目前为止,我有使用VisualStudio的经验。但我打算使用一些Linux工具来开发和维护用C编写的应用程序 我对此进行了彻底的研究,但它谈论的IDE太多了。我很乐意使用它们,但我想知道哪些其他工具对于上述练习是方便和重要的。我还想知道是否有任何命令可以使事情变得简单。谢谢 编辑:我使用过vim,熟悉gcc及其重要标志。任何进一步的操作都会有所帮助。您需要熟悉linux命令行工具。特别是: 学习一个好的编辑器,如vim或emacs 使用make 使用gcc编译 使用gdb进行调试 源代码管

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

我对此进行了彻底的研究,但它谈论的IDE太多了。我很乐意使用它们,但我想知道哪些其他工具对于上述练习是方便和重要的。我还想知道是否有任何命令可以使事情变得简单。谢谢


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

您需要熟悉linux命令行工具。特别是:

  • 学习一个好的编辑器,如
    vim
    emacs
  • 使用
    make
  • 使用gcc编译
  • 使用gdb进行调试
  • 源代码管理:如果你有选择的奢侈,我推荐一个现代的DVCS,比如git或mercurial。否则,您的团队已经在使用的任何工具都应该是好的
这只是触及基本要素的表面,但它可能会帮助您开始


这些工具也非常有用:

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

您需要能够在代码库中找到内容,为此,我建议:

  • 。它就像一个
    find
    /
    grep
    组合,但更易于使用,更有用,并且直接面向程序员
  • 。它将帮助您通过编辑器(vi/emacs等)以类似于ide的方式浏览代码库(将代码视为一组超链接)

  • 在使用processus或htop时,使用多术语终止符并易于切换

    我推荐emacs(-nw)或vi

    Gcc编译您的C代码

    您还希望使用GDB进行调试


    Valgrind用于检查泄漏和内存转储

    在Linux下使用C进行开发时,此工具非常有用:

  • IDE:
    Vim
    带有
    solarized
    主题()
    Ctgas
    Taglist
    轻松浏览代码()
  • 用于编译和配音
    gcc
    gdb
    make
  • 对于大型项目:
    AUTOCONF
    AUTOMAKE
    LIBTOOL
  • 要检查所有与内存相关的内容:
    Valgrind
    检查函数CPU时间消耗
    Callgrind
    () 以及全球
    Valgrind的工具套件
    (http://valgrind.org/info/tools.html)这是一个很好的工具
  • 对于高质量代码:
    gnugcov
    (测试覆盖率),这是一篇关于代码测试和高质量C代码()
  • GNU-locate
    :轻松查找所有文件
  • Git
    用于源代码配置
  • Doxygen
    :为代码生成文档
  • 如果您开发网络程序:
    wireshrak
    tcpdump
  • 使用
    LXR
    (http://lxr.linux.no)()
  • Strace
    跟踪系统调用(它始终是调试打开配置文件的程序的好工具)
  • 手册页
    是最好的工具


    还有很多其他的好东西:-

    是的,谢谢!我使用过vim,熟悉gcc及其重要标志。任何进一步的措施都会有所帮助。谢谢@沙什-没问题,我为您添加了更多工具:)+1用于
    screen
    (再次+1用于
    ssh
    )+1用于DVCS、
    screen
    和所有其他很棒的工具。尽管我更喜欢像
    geany
    (用于GTK环境)或
    kile
    (用于QT环境)这样的图形编辑器。关于
    valgrind
    家族呢?@JonasWielicki-好的观点,我包括了
    valgrind
    以及
    lint
    。Wondring这个问题是否更适合社区维基。