C/C++开发常用工具及系统编程

来源:互联网 发布:购物软件排行 编辑:程序博客网 时间:2024/06/05 17:16

windows下面一定要看“windows程序设计”和“windows核心编程”,unix下面一定要看“Unix系统编程”(UPE)和“Unix环境高级编程”(AUPE),单纯的编程语言没有意义,一定要放在系统下才有意义。

开发环境

这里以ISO C 99 和ISO C++ 2003为标准

---->Turbo c (2.0/3.0)

DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士。

---->Visual C++ 6.0/7.0

VC6、VC7、VC8者是当前还活跃的3个ms的C/C++编译环境——不过可惜的是,他们都不是免费的!
在这里提VC的原因呢,有两点:

1. 虽然他们不免费,不过,在中国来说——等于免费,原因吗?大家心知肚明,我就不说了!

2. MS不提供大餐,甜点还是有的:
Microsoft Visual C++ Toolkit 2003
这个编译工具包——免费!
然后Microsoft Visual C++ 2005也有一个免费版!当然不是全功能的,不过对于初学者,也是够用了!

稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色。Microsoft的经典之作,功能强大自不必言说。附带的一些工具也很 不错,比如:Spy++。但编译器较之同类,支持c++标准的程度不够好,尤其6.0及以前的版本。

---->BCB

Borland的C++ Builder是可以与VC匹敌的另一个功能强大的IDE,速度和稳定性稍逊,但对c++标准支持的程度较好。

---->Cygwin

Windows平台下的C++编译器,基于gcc,又完全兼容Window特有的东西,比如对winsock的支持。从http://www.cygwin.com可以找到有关Cygwin的详细信息。

---->Dev-c++

Windows平台下,一个类似VC、BCB的c++ IDE开发环境,属于共享软件。界面亲切优雅,size也不大10MB左右,其4.9.x版有中文语言支持,无需汉化。编译器基于gcc,完全支持 STL。但是对于规模较大的软件项目,恐怕难以胜任。可以从:http://www.bloodshed.net/dev/devcpp.html找到有关Dev-c++的有关信息。本软件就不用说了,这是pfan论坛上的首选IDE环境;他默认安装minGW作为编译器——就是windows化了的GCC编译器。版本应该是3.4;

由于其编辑器使用简单,而内核gcc3.4对c99和c++2003的支持度都比较高,所以,这个软件比较适合标准C/C++初学者!除了支持外部库,Dev-C++还支持自己的开发包,你可以从升级“包”这个功能上获得许多有用的东西;

你可以在http://www.bloodshed.net下载,或者baidu,最新版本威5.0beta(4.9.9.2)。

MinGW Developer Studio V2.05 Unix 下著名编译器 gcc 的 Windows 版(26MB左右),并附带一个小巧的开发环境。

---->WxDev-C++


不知道是英雄落幕还是怎么的?Dev-C++已经停止更新了!最新的版本应该是4.9.9.2——不更新,这个就计较郁闷了!不过,另一波人把这个项目接 了过来,在Dev-C++的基础上添加了很多的东西,比如RAD工具(就是像VB那样,能快速通过拖拉就可以做win32程序界面的工具),还修改了前作 Dev-C++的一些bug。

还有就是它兼容vc6、vc7、vc8的工程设置——就是说,vc6、vc7、vc8的工程可以照搬到WxDev-C++下来使用!

当然,最大的好消息,就是,这么好的工具竟然也是免费的!

下载:http://wxdsgn.sourceforge.net/

---->Magic C++

Magic C++是一款Windows下的可视化远程Unix/Linux C/C++开发工具,基于服务器/客户机模型工作,是专为C/C++开发人员高效完成Unix/Linux平台下开发任务而设计的快速开发工具 (RAD)。具备完善和强大的编辑、编译、调试等功能,其用户界面、操作方法均遵循业界主流标准及规范,与Visual C++完全兼容,让Unix/Linux开发人员可以借助与平台无关的标准软件开发特性提高开发效率、缩短开发周期、降低维护成本,尤其适用于具备 Windows平台开发经验的开发人员。
Magic C++关键特性:
(1)全功能C/C++可视化集成开发环境
(2)用户界面、操作方法遵循业界主流标准及规范,完全兼容Microsoft Visual C++
(3)智能的编辑功能,支持自动代码补齐、语法高亮、自动缩进、括弧匹配定位等高级特性
(4)完善的编译、调试功能,无缝集成所有主流Unix/Linux下的编译器、调试器
(5)支持版本控制系统(CVS)
(6)高可用性/低负载,支持团队协同开发
(7)支持在线、脱机、慢速连接(如拨号上网)等不同网络状况下的远程开发
还有更多特性......
Magic C++ V2.5新增特性:
(1)服务器端开放源代码
(2)HTML网页方式的man在线帮助
(3)Call Stack函数调用栈查看
(4)多个工程的依赖关系
(5)批量编译
(6)调试器中的信号处理
(7)支持手工命令输入的自动登陆终端。

---->Code::Blocks

这个有着怪名字的东西,是个比较新的免费IDE,当前是面向C/C++使用而开发的工具;注意,这个是开源跨平台的哦!这个软件是用插件式构架的,那么这个软件就设定成可以非常的个性化!

由于它支持多编译器,所以,它没有默认绑定编译器;由于它支持的编译器比较多,我就挑点讲:
minGW的GCC编译器、vc7还有vc8以及Borland C++ 5.5;

下载:http://www.codeblocks.org/

---->Ultimate++

这个软件也式跨平台的——就我看来,其最大的特点,就是有自己的GUI库!

下载:http://www.ultimatepp.org/index.html

---->Eclipse

这个巨大的东西,也是跨平台的——不过这个东西太大了点,我也就不说了——不符合简单易学的规则。

下载:http://www.eclipse.org/

---->Source Insight

有着和Dev c++一样漂亮的界面,提供代码的编辑和察看功能,具有丰富的语法加亮功能,可以像VC一样自动弹出成员函数的提示,并具有快速方便的函数跳转功能(但是 跳转速度似乎有点慢)。只是默认设置不适合时,需要仔细的调整和修改。无法查找经typedef之后的名字。

---->SC++

SC++是一个简单的C++ IDE,适合于初学者或测试一些简单的代码,作为一个IDE,SC++具备了一些基本的功能。

  • SC++只提供一些基本的库和头文件,如果在连接的时候提示找不到相应的库或头文件
    可从VC的Include,Lib目录里复制
  • 输入 { 时 ,程序会自动转换为 { },如果你只是想输入单个的{ ,请按一下Ctrl+Z
  • 当按下空格时,会自动转换关键字,函数等(如将sendmessage转换为SendMessage)
    如果不想它转换,请按 Shift + 空格
  • 块注释方面的语法高亮暂时未完善
  • 如果你的程序没有使用资源文件,那么在第一次编译的时候,
    SC++会复制templates/res.res为该程序的资源文件
    (但如果存在rc文件,则会优先编译rc文件)
  • 按Alt+X 可以将当前选定的十六进制值转换为字符,Alt+Shift+X则反之(这是由RichEdit本身提供的)
  • SC++使用的是RichEdit.RichEdit本身有一些Bug,例如在98下,如果行数太多,可能会导致意料不同的结果
    当然,程序本身也可能存在一些Bug,如你遇之,请报予我,以改正
  • 如果你对SC++的源代码有兴趣,请来信
    (请一定要自备几个袋子,免得吐得满地 ^_^ ................... -_-)

    ---->C++ Editor

    顾 名思义,是 C++ 的文本编辑器,该编辑器可以将语法的不同部分以不同的颜色显示,并且具有标准IDE(集成开发环境)编辑器的所有基本功能。而 C++ Editor 设计的主要目的(功能)是能让程序员在 IDE 外编辑源文件,可以同时打开不同的文件,以方便进行查找和比较。

     

     

    辅助工具

    ---->Visual Assist

    VC IDE环境下的辅助编程工具,能识别各种关键字、函数、成员变量,自动给出tip,并自动更正大小写错误,标示拼写错误等。是VC开发的良好伴侣。

    ---->AppFace For VC

    一 个免费的Windows界面开发库,它能够使您更轻松,更快捷的开发软件界面。 您也可以把它称做"应用程序皮肤工具"。AppFace界面开发包的使用非常简单,只需添加四行代码,瞬间就能使您的软件拥有漂亮的外观。它能最大限度的 降低您在软件界面上所花费的时间和精力,使您能够将工作重心完全放在软件的核心价值的开发上。

    AppFace For VC 的主要特点:
    .彻底更换软件界面,包括所有Windows标准控件,系统菜单,通用对话框等
    .全面支持Win9X/WinNT/WIN2K/WINXP,UNICODE/ANSI
    .皮肤包很小,您甚至可以把它放到资源中加载
    .没有时间限制,也没有弹出式对话框
    .使用非常简单,只需添加四行代码就可以实现换肤功能。

    V0.4 的新增特性:
    支持多线程
    支持在纯C 开发的程序中使用AppFace
    支持图形按钮
    支持隐式的加载 appface.dll
    增加了一个输出函数 SkinThread
    修正了 Read Only edit 控件的边框显示错误
    修正了调用 EnableWindow(hWnd,FALSE) ,按钮会隐藏的错误
    修正了WinNT/2K/XP/2003 下 ,动态SetMenu 的错误
    改进了对Static control的skin
    改进了对Sizebox control的skin

    ---->Understand for C++

    一款c/c++IDE编程的辅助工具,支持反向工程,代码导向和一些统计功能,从http://www.scitools.com可以找到有关Understand for C++的详细信息。

     

    程序编辑器

    ---->EditPlus

    一款很不错的文本编辑软件,功能强大却又十分轻巧。支持不同语言的语法加亮,还有Project组织功能,具有丰富的自定义功能。通过设置User Tool,可以和其他语言编译器结合,形成一个简单的IDE。

    ---->Ultra Edit

    功能和EditPlus相当,通过脚本文件提供的配置功能可以定制编辑环境,但自6.0版以后一直没多大变化,就编程而言,自定义设置没有EditPlus方便。

    ---->EMACS

    公认的世界上功能最多,最复杂的文本编辑器,其实也可以当作程序员用的编辑器。

    ---->Visual Slick Edit

    一个功能强大的程序员用编辑器。最值得一提的是其定制功能,很好用,可以和EMACS相比。自带了一套PCODE解释器,用c的语法,还可以挂接动态库。配合mingw一起使用很方便。从http://www.slickedit.com可以找到有关SlickEdit的详细信息。

    ---->IQEdit

    全功能的程序员用编辑器,界面很漂亮,从http://pwksoftware.com可以找到有关IQEdit的详细信息。

     

    UML/建模

    ---->Rational Rose

    强大的建模工具,早已“家喻户晓”,功过自然不必多加评说了。从http://www.rationalsoftware.com.cn可以找到有关Rational Rose的详细信息。

    ---->Visual Modeler

    MS Visual Studio 6.0所附的小工具。属于Rational和MicroSoft合作的战略产品,是Rose的简化版。

    ---->Visio

    Microsoft的建模工具,感觉更人性化一些,但功能没有Rose多、强、专,支持正向的代码生成,以及对代码的反向工程。

    ---->Together

    另一款功能强大的建模工具,用java编写而成,口碑不错,不过速度稍稍慢了一些。从http://www.togethersoft.com可以找到有关Togather的详细信息,另外,以下网址提供了一个有关Together的教程: http://www.cc.puv.fi/~tka/kurssit/Tietojarjestelmien_suunnittelu/together/TCCGuide6

    ---->Visual UML

    支持多种语言类型,比如:VC、VB、DELPHI、CORBA IDL等,可以直接从UML设计图生成代码,简单易用,完全适合Personal use,界面也很清爽。从http://www.visualObject.com可以找到有关Visual UML的详细信息。

    ---->SmartDraw

    通用图表制作软件,可以用来制作组织机构图、流程图、统计图表等。随带有图库,基本满足制作各类图表的需要。从http://www.smartdraw.com可以找到有关SmartDraw的详细信息。

    ---->PlayCase

    国产面向对象的建模软件,兼容UML和IDEF,轻量级软件,只是界面看起来有点简朴,乃是高展先生用Delphi完成的。

     

    版本控制

    ---->ClearCase

    Rational的版本控制管理软件,功能强大,可以控制多种类型的文档,甚至包括Word、Excel、PowerPoint文档。但使用复杂,不易上手,且不是免费软件。

    ---->CVS

    为基于Web的分布式协同开发提供了版本控制管理手段,且是免费软件,可以通过脚本定制功能。但在权限控制方面功能相对较弱。

    ---->VSS

    微软的版本控制管理工具,功能相对简单,适合于小型团队开发,将其整合到微软的其他开发工具中,使用起来十分方便。

    ---->SourceOffSite

    微软为开发人员提供的远程访问VSS数据库的工具,使数据库得以远程更新,以支持远程办公。其他的版本管理工具还包括:PVCS、VCS、RCS等。

     

    XML

    ---->expat

    用于读取和处理XML文档的c函数库,最初是James Clark的个人作品,简单轻巧,且速度快。但支持的编码方式有限,最遗憾的是不支持中文。从http://expat.sourceforge.net可以找到有关expat的详细信息。

    ---->xml4c

    IBM的XML Parser,用c++语言写就,功能超级强大。号称支持多达100种字符编码,能够支持中文,适合于大规模的xml应用。若只是很小范围的应用,则非最佳选择,毕竟,你需要“背负”约12M左右的dll的沉重负担。从http://www.alphaworks.ibm.com/tech/xml4c可以找到有关xml4c的详细信息。

    ---->Xerces c++

    Apache的XML项目,同样是c++实现,来源于IBM的xml4c,因此编程接口也是和xml4c一致的。但是目前只支持少数的字符编码,如ASCII,UTF-8,UTF-16等,不能处理包含中文字符的XML文档。从 http://xml.apache.org/xerces-c可以找到有关Xerces c++的详细信息。

     

     

    测试

    ---->CppUnit

    一个c++的单元测试框架,可以通过派生测试类的方式,定制具体的测试方案。xUnit家族的一员,从JUnit移植而来,JUnit是Java语言的单元测试框架。从http://cppuint.sourceforge.net可以找到有关CppUint的详细信息。

    ---->Rational ROBOT

    Rational的自动化测试工具,通过编写脚本的方式提供自动化测试特性。其GUI方式的脚本录制功能,有助于对GUI软件进行功能测试;其VU方式的脚本录制功能,有助于测试某些软件的数据通讯功能。

    ---->Rational Purify

    同样是Rational的自动化测试工具,不需要被测程序的源代码,可以用来检查内存访问错误、Windows API调用错误等,以完成软件的可靠性测试,属于白盒测试。

    其他的Rational测试工具还包括:TestFactory、PureCoverage、TestManager等。

     

    日志

    ---->log4cpp

    一个用于日志记录的c++函数库,可以将内容以定制的方式记录到不同的目的地,比如:文件、控制台syslog等,同时还可以通过控制记录级别来屏蔽掉某些无关记录。从http://log4cpp.sourceforge.net可以找到有关log4cpp的详细信息。

     

    注释

    ---->Doc++

    注释文档生成工具,根据源程序中的文档注释,可以输出TeX和HTML格式的文档。除了支持c/c++语言外,还支持IDL和java。仅提供命令行使用方式。从http://docpp.sourceforge.net可以找到有关Doc++的详细信息。

    ---->Doxygen

    注释文档生成工具,较之Doc++功能更为齐全,可以生成包括HTML、PDF、RTF在内的多种格式的文档,并有GUI界面,除了支持c/c++语言外,还支持IDL、java、PHP、c#等。从http://www.stack.nl/~dimitri/doxygen可以找到有关Doxygen的详细信息。
    参考资料:http://tb.blog.csdn.net/TrackBack.aspx?PostId=1337979

  •  

    转:http://hi.baidu.com/zhao_gw/blog/item/72be6a6425def7faf736548b.html