`

Linux c/c++ 开发工具集锦

阅读更多

Linux c/c++ 开发工具集锦

我之前是一个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

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

我这里有个简单的册子:

 


2、文本的操作
~
: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缓冲区

 

5.3、替换操作
: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

 

5.7、使用替换的确认功能
: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之旅了。

分享到:
评论

相关推荐

    LINUX C/C++最佳开发工具

    LINUX C/C++最佳开发工具 博文链接:https://hanxiaoyidi.iteye.com/blog/1344541

    c/c++版eclipse开发工具 4.5 linux64位安装包

    c/c++开发工具 eclipse linux64位安装包,支持c/c++语法

    mingw C/C++程序环境

    MinGW 提供了一套简单方便的...MinGW是完全免费的自由软件,它在Windows平台上模拟了Linux下GCC的开发环境,为C++的跨平台开发提供了良好基础支持,为了在Windows下工作的程序员熟悉Linux下的C++工程组织提供了条件。

    mingwC/C++编译器

    是对著名的GCC开源编译工具的简单图形前端实现,通过wxpython语言开发而成。支持Windows XP,Windows 7 和 Linux 等多个平台。 wxgcc适用对象: •C/C++初学者 •不习惯终端操作的Linux用户 •不喜欢Windows下...

    eclipse 开发c/c++

    Cygwin 是用于 Windows 的类 UNIX 环境,它包括 GCC 移植以及所有必需的开发工具,包括 automake 和 GNU 调试器(GNU Debugger,GDB)。Cygwin 是在 cygwin1.dll 库基础上构建的。Cygwin 的备用解决方案是 ...

    C/C++笔试题合集

    C/C++笔试题合集 oracle数据库培训资料 android反编译工具集合 c++课程设计聊天程序 Linux与Unix Shell编程指南(PDF) C++从入门到精通,C++Primer中文版 嵌入式linux应用程序开发详解 VB程序设计资料ppt 我...

    Source Insight C/C++源代码阅读工具 嵌入式开发软件

    企业级源码查看和编辑工具,特别是在WINDOWS与Linux环境下的切换是相当方便的。国内外一线IT企业,嵌入式开发的王牌软件。 为了方便地学习Linux源程序,我们不妨回到我们熟悉的window环境下。但是在Window平台上...

    PROS内核源代码:VEX V5微控制器 的开源C/C++开发_C语言_代码_相关文件_下载

    PROS 是使用 GCC 工具链和标准 C/C++ 实践(C11 和 C++17 w/GNU 扩展)构建的,以缩短学习曲线。结构、指针、动态内存分配和函数指针都是可用的。此外,代码在裸机上运行,​​让您可以充分利用微控制器的功能。 您...

    Linux高性能服务器编程,linux高性能服务器编程 pdf,C,C++

    6服务器编程核心要素、原理机制、工具框架等多角度全面阐述编写高性能 linux 服务器的方法

    Linux系统上C/C++编译器gcc/egcs详解

    Linux 中最重要的软件开发工具是 GCC.GCC是 GNU的 C和 C++编译器。实际上,GCC 能够编译三种语言:C 、C++ 和ObjectC (C 语言的一种面向对象扩展)。利用 gcc命令可同时编译并连接 C和 C++源程序。

    gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子)

     ×适用于以C或C++开发的web服务中。  ×跨平台:Windows, Unix, Linux, Mac OS X, Pocket PC, Palm OS, Symbian等。  ×支持序列化程序中的本地化C/C++数据结构。  ×可以使用输入和输出缓冲区来提高效率,但是...

    Linux上搭建C/C++IDE开发环境

    Linux上面使用Anjuta和Glade以及Glademm软件包可以搭建一个linux下面进行C/C++软件开发的IDE环境,可以进行GTK+/Gnome的应用程序开发。以前开发Linux程序时写出好的图形化用户界面比较难。在GIMP工具包(GTK)诞生之后...

    linux局域网聊天工具(附带文档和源码参考)

    2.2 熟悉Linux操作系统下的C/C++应用程序开发环境,掌握linux系统下开发工具vi、gcc 和gdb的使用,以及makefile的写法; 2.3 掌握Linux环境下图形工具包GTK和网络编程中socket“套接字”的使用;

    QT文档linux可视化开发c++及c语言

    linux 开发C和C++程序的可视化开发工具的使用。

    嵌入式C / C ++ Web服务器-C/C++开发

    Windows的持续集成(AppVeyor):测试覆盖率检查(万用表,codecov)(使用不同的工具/设置):静态源代码分析(Coverity):项目任务项目任务是提供易于使用,功能强大的C(C / C ++)嵌入式Web服务器,并具有可选...

    用于在Linux上监视NVIDIA GPU的工具-C/C++开发

    NVIDIA GPU监控工具绑定此Github存储库包含以下两个库的Golang绑定:NVIDIA Management Library(NVML)是基于C的API,用于监视和管理NVIDIA GPU设备NVIDIA GPU监控工具绑定此Github存储库包含针对以下内容的Golang...

    Linux版本的ProcDump Sysinternals工具-C/C++开发

    ProcDump为Linux开发人员提供了一种方便的方法来基于p创建ProcDump ProcDump ProcDump是Linux对Sysinternals Windows工具套件中经典ProcDump工具的重新构想。 ProcDump为Linux开发人员提供了一种方便的方法,可以...

    MIngw(windows环境下对Linux c的模拟)

    MIngw是c/c++的编译器,当很多人用eclipse写java时,感觉这个工具很好用,于是想用它开发c++,也有一些人想在windows环境下使用Linux c和Linux c++的编译功能,而 MIngw就是对Linux c/c++的模拟编译器!在eclipse中...

    C C++ Linux 程序员必须了解的 10 个工具 - 开源中国

    实用的资源,如果你是C/C++的使用者,又或者你涉及linux下的程序开发,本链接总结了常用的10个工具

    eclipse-cpp-oxygen-3a-linux-gtk-x86_64.tar.gz

    linux 64位下的eclipse c/c++ 开发工具 “Eclipse IDE for C/C++ Developers”可以配合 arm-linux-gcc 和 jre在linux中搭建集成开发环境

Global site tag (gtag.js) - Google Analytics