• Linux C/C++ 开发工具集锦


    转自:http://tech.e800.com.cn/articles/2009/721/1248144971714_1.html

         

          我之前是一个C程序员,而且是个Windows的程序员,在windows下使用VC6.0/VS2005等microsoft的傻瓜式工具工作,对于那个vc 6.0/vs2005的快捷操作,debug操作是那么的熟悉,可以说vc 6.0/vs2005是window下开发c/c++最好用的工具了,可以查看调用堆栈,内存变化情况,变量值,另外安装 visual assist x后让VC看起来是那么的完美。

          但是windows下写成代码到了linux下是有问题的,所以建议在vc中将工具-》选项—》制表符—》制表符大小4,插入空格,另外的问题就是 那个回车换行的问题,例如windows下是0d,0a,到了linux下用vi看到的都是^M,给别人带来不便,所以如果提交的服务器是linux,而你是在windows下开发,可以在svn/cvs中进行设置,就可以自动进行dos2unix的转换,相关的文档可以查看svn/cvs的相关手册,其中都有这样的设置。

          有幸这次我转到了Linux下开发,有幸认识了linux,但是随之而来的就是特别头疼的问题:Linux下使用什么工具进行编码,编译,debug呢??我感到非常的迷茫,然后就是网上大搜索,看到那么多的网友推荐VIM时,我失望了,特别的失望,然后用VIM敲了一个下午,累的手的麻了,感到特别的不爽,就像是用左手拿筷子一样,全身的力量无法施展,所以 我还是计划再找找看。不过后来我还是找到了适合自己的工具。呵呵,真是太高兴了,今天把我自己这几天搜集的一些资料整理一下,给以后转向linux的程序员一点提示吧!

    主要的工具如下:
    1. vim + ctags + taglist + cscope + cppcomplete + global

      这个我也试过了,比较有用的帖子如下:

    http://www.linuxsir.org/bbs/showthread.php?t=241578

    http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx

    但是这个要记大量的命令,不过还好,这些命令有两三天就可以记住了,

    这里有个简单的册子可以参考下:

     [文本的操作]
    
    ~
    :e! file1 在当前文件下编辑新的文件
    :r /etc/passwd 实现文件的读入功能
    :wq 保持并退出
    :q! 强行退出
    
    O:重起一行
    
    U:撤销 : C-R :重做
    
    dd 删除一行 d$删除行后的
    
    e:移动单词    ge ß-----  --à e
    
    %:括号匹配
    
    33G:跳到33行
    
    gg :跳到第一行
    
    C-O /C-I来回跳转
    
    H –HOME L –last
    
    ma :定义标签 a,‘a:回到a
    
    C-V文本块操作
    
    /\匹配整个单词 :n  下一个
    
     yy :复制一行,p:粘贴
    ^ 将光标快速跳转到本行的首行字符
    $ 将光标快速跳转到本行的行尾字符
    :m,ny 复制第m行到第n行之间的文本到VI缓冲区
    
     
    
    [替换操作]
    
    :s/old/new 替换当前行的第一个字符old为字符new
    :s/old/new/g 替换当前行的所有字符old为字符new
    :m,ns/old/new/g 替换当前行号m到行号n的所有字符old为字符new
    :%s/old/new/g 替换整个文本的所有字符old为字符new
    
     
    
    [使用替换的确认功能]
    :s/old/new/c 替换当前行的第一个字符old为字符new并提示用户确认操作
    :s/old/new/gc 替换当前行的所有字符old为字符new并提示用户确认操作
    :m,ns/old/new/gc 替换当前行号m到行号n的所有字符old为字符new并提示用户确认操作
    :%s/old/new/gc 替换整个文本的所有字符old为字符new并提示用户确认操作
    
    
    :edit foo.txt  ---编辑另一个文档
    
    :next 进行文件切换
    
     C-W   切换窗口
    
    vimdiff main.c~ main.c
    
    :g+//+s/foobar/barfoo/g
    
    CTags:
    
    Ctags –R/ctags *
    
    :set tags =/../tags
    
    跳转定义,跳回
    
    :Tlist
    
    F3查找
    
    :make
    
    :cw   :cn  :cp
    
    mm 标签,F2 切换
    
    cscope –Rbq
    
    :cs add /../cscope.out   /../
    
    :cs find g xxx
    
    :cs find c vim_strsave
    
    :cw
    
    按tab键自动补全。
    
     
    
    
    缺点是: 自动补全功能麻烦,必须先建立ctags,写代码还是很累,我写了一下午,写的手都麻了。出错检查 啊,括号自动匹配啊,
    单词补全功能啊,都不满意,另外对C++的支持不好。
    比如我刚写了2个config.h,config.cpp,这2个文件
    没有进行CTAG,CSCOPE操作,就不能单词补全,括号匹配不能检测,不知道是我配置有问题还是怎么回事啊。
    另外不能进行DEBUG,所以我只能放弃。
    

      

    2.emacs+插件

    可以查看

    http://blog.163.com/yu_hongchang/blog/static/3989413820081121512613/

    这个我没有试验,估计和vim一样,都是命令操作,听说这个功能强大一些,能够通过xterm进行调试,这个我之前用过,但是那个xterm真的不怎么好用,界面,鼠标,我都不喜欢。

    3. kdevelop

    这个工具做的比较差劲吧,我也不喜欢,比如他的自动补全功能很不爽,比如:有个函数

    Int test(int c1,int c2)

    当我们敲下 tes时,只能出现test,而后面的参数列表都不能显示,所以当代码量比较大,函数参数比较多的时候,我们都记不住参数,没有参数列表提示,就会觉得很不爽。不过还好,它集成了kgdb可以进行debug.


    4.eclipse +cdt

    好多人用这个IDE,还算好吧,但是eclipse是个java的,运行速度慢的很,另外单词补全功能太差劲了,只能补全结构体或者类,在写下./->之后才能补全,另外要按 control+/ 才能补全,不能在敲代码的同时自动显示,eclipse对c/c++的支持远远不如对JAVA的支持强大,但是我至少认为比在vim中写要舒服一些,可能是个人习惯了那个IDE的工作环境。


    5.code::blocks

    可以查看:
    http://www.codeblocks.org/

    支持的平台不全,我的是redhat 企业版 5.0,就安装不上,所以我也没有能够一睹它的芳容,可惜啊。


    6. anjuta

    这个我下载了安装不上,不知道为什么,而且要求配置的比较多,也比较麻烦,如果你感兴趣,可以看

    http://hi.baidu.com/my2008space/blog/item/140de5255fab81084c088d1e.html

     
    7. Kylix

      这个没有试。


    8.netbeans

      这个也不错,我装过试了试,能满足我的功能,但是可定制稍微差点,但是能满足需要了,也还不错吧,如果没有下面要提到的slick edit,我就会选择它了。


    9.windows ue+ssh

    有很多的人用这个方法,我不太喜欢,可能是不喜欢ue那个界面吧,应该和vim之类的类似。


    10.slick edit

     呵呵,我最终选择的是这个,很好用,可定制性强,支持的语言多,非常的好用,能够直接进行debug,而且速度也很快,界面和vc 6.0很相似,是一个唯一可以和 vc 相媲美的工具,但不是免费的,不过还是要感谢那些的黑客,让这个软件得到了破解,

    你可以通过下面的链接下载:
    http://www.slickedit.com/content/view/409/239/

    下载SlickEdit v14.0.2.2

    然后到http://download.csdn.net/source/1481066

    去下载破解的文件,然后覆盖就可以了。

    这个工具非常的好用啊,大家可以试一试啊,

    这个工具最好的地方就是可以查看memory的情况,这点我喜欢。呵呵!


    11.编译工具和DEBUG工具

    主要的编译工具都是gcc,当代码量大的时候就要写makefile了,另外的调试工具主要都是gdb,这些可视化的IDE基本都是包装了gcc,gdb。所以slickedit对于我这种刚转到Linux,对makefile不熟悉的人来说无疑是一根救命的稻草,能让我很快的进入工作状态,当然,你只是把它当成编辑的工具,也会发现它能大大缩小你编码的时间,让你的手不会因为写代码而感到疲惫。

    终于尘埃落定,以后我要用slickedit来开始我的Linux之旅了。

  • 相关阅读:
    Go语言通道(chan)——goroutine之间通信的管道
    GO语言数组,切片,MAP总结
    GO数组
    GO切片
    GO语言测试
    GO语言html模板
    Go语言中defer语句使用小结
    微信小程序 某个页面直接返回首页
    小程序常用变量
    bzoj1030
  • 原文地址:https://www.cnblogs.com/dartagnan/p/2253128.html
Copyright © 2020-2023  润新知