STL:C++标准模板库
boost:C++准标准库,它是强大地,江湖称之“千锤百炼”。-------若掌握,必横行世界。
deelx (轻量级的正则表达式解析类库,国产),boost里有强大的正则表达式解析库,但如果你只想要一个表达式解析,不想要拖上庞大的boost库时……支持一下国货。
iconv /iconvpp : C形式的编码转换函数库
C++的XML相关库不少,但是大部分其实都是C库,使用起来自然不那么轻便。其中基于DOM的有TinyXml,基于SAX的当然是Xerces。前者小巧快捷,便于使用,适合做数据交换。后者则是全功能的XML解析器。
xerces-c :最强大的XML解析库了,不是仅仅在开源库里,你尽管把商业的算在内。当然,它的变体,被IBM拿去卖钱的那个版本,多了数百兆的东东来支持各国编码转换,是更强大,但我觉得有小小的,开源的iconv在前不就够了?
对三个轻型xml解析开源库:SlimXml、TinyXml、RapidXml,对比如下:
解析这个3.3万行,1.5M大小的xml,三个库分别花了
SlimXml: 22msTinyXml: 54msRapidXml: 4ms!结论是,RapidXml果然很强悍,居然比SlimXml快5倍多。
比较欣慰的是,在没有很关注效率的情况下,SlimXml仍然比TinyXml快2.5倍。SlimXml走的是简单小巧路线,源代码只有 32k,而TinyXml和RapidXml的源码分别是147k和141k,有这样的效率可以满意了。因为这个库主要还是针对几十上百行的小文件,解析特别大的xml不在我考虑的范围之内。
还有irrlicht(鬼火引擎)的irrXMl解析器。
xsd (XML 与 C++数据结构的绑定工具)。(商业使用要钱)
我比较喜欢OTL(用于连接数据库)。
SDL (Simple DirectMedia Layer/多媒体直接访问层,用于游戏编程)。
相应的c开源库有ffmpeg、mpeg4、aac、avc、libmad、mpeg1、flac、ac3、ac3、matroska著名的多媒体播放器 TCPMP 天下闻名的跨平台、嵌入式手持设备视频播放器,
1、gSOAP SOAP协议的C++支持库及代码生成工具。
2、ACE 网络编程研究首选。
ACE适合于研究,大型网络编程上效率不足,大型网游里面几乎没有用到ACE的,很多用了ACE的项目也被证明了效率不高。
除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域, 还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的 C++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍然是进行系统和高性能网络编程的首选,其地位在一段时间内不会被撼动。它不但是 一个实用的程序库、框架集,还是一个典范的设计模式应用范例,非常值得学习。
3、有博友回复到POCO。我整理如下:
开源C++库,称为POCO(POrtable COmponents – 可移植元件),非常方便好用。
特性:
* 线程,程序同步及多线程编程高级抽象 * 流及文件系统访问 * 共享库将类加载 * 功能强大的日志和错误报告 * 安全及加密 * 网络编程 (TCP/IP 套接字, HTTP客户端和HTTP服务器, FTP, SMTP, POP3, 等) * XML解析 (SAX2 和 DOM) 及生成 * 配置文件及选项处理 * SQL数据库访问(ODBC, MySQL, SQLite)
可以运行的平台包括:
* Windows * Mac OS X * iPhone OS * (embedded) Linux * HP-UX * Tru64 * Solaris * QNX
BCG Windows平台下界面设计的第三方库,可以让你的界面更美好,更具时代感。
wxWidgets :使用wxWidgets ,开发者可以基于同一套代码,为Win32, Mac OS X, GTK+, X11, Motif, WinCE等平台开发应用程序。wxWidgets库可以被C++, Python, Perl, and C#/.NET等开发语言使用。跟其它有些同样支持跨平台GUI开发工具不同,基于wxWidgets的应用,拥有真实本地化的视觉及使用效果——因为,wxWidgets使用(各)平台原生的控件,而不是简单通过贴图去模拟。wxWidgets是使用广泛的,自由的,开源的,成熟的。
QT------界面(GUI)开发,支持C++/Java/Python/...多种语言。跨平台。最主要的好处是,API非常优美!Qt本身也不仅仅只是做GUI编程,实际它基本上可以做OS-API可以做的任何事情。象网络/数据库/OpenGL/...都提供完美的支持。传统上Qt被认为是可移植的GUI库,但实际上Qt现在已经是一个比较完整的可移植应用程序框架了,其中包含了大量的工具,比如正则表达式、Web和 Socket类、2D和3D图形、XML解析、SQL类等,甚至还包括了一个完整的容器类库,不过其王牌还是GUI。在目前的跨平台GUI框架中,Qt成熟度最高,已经被一些大公司应用在关键产品中。由于Trolltech对Qt采用的dual license模式,该产品既可以从开源社区获得支持,又能够赚取足够的商业利润,因此其前景也令人比较有信心。Qt的主要技术特色是其元对象模型。Qt实际上使用的并不是标准的C++,而是标准C++的一个扩展。它通过元对象模型扩展,实现了著名的signal/slot机制,而这一机制也成为Qt的最大特色和优势。
与Qt类似的可移植GUI框架还有wxWidget、FOX等
OpenCV,因特尔自主的开源库。支持C/C++/Python接口。这个感兴趣的朋友可以玩一下。如果结合OpenCV,你可以做一些外行人觉得很酷的程序。比如说用它的人脸识别函数,来对你的摄像头进行处理,判断人的动作等
GDAL,处理大图像。要是GIS专业的人肯定会语言到非常大的tif影像,动则几个GB的航空影像。GDAL对大图像的读写支持是非常棒的(像多波段的图像都可以搞定)。 支持C++/Java/Python...
国外开源的GIS软件QGIS就是用了gdal
C的图形图像库较多,libjpeg、libpng、zlib、tiff、JBIG、最著名的开源形图像处理软件Cximage
boost::smart_ptr,Hans-Boehm GC C/C++的内存管理是一个永恒的话题。一般来说,C++的开发者倾向于自己管理内存。然而,出乎很多C++开发者意料的是,近期C++的一些领袖人物已经公开宣称,如果不配备自动内存管理机制,用C++编写安全可靠的大型程序是非常困难的。而Bjarne Stroustrup也曾对中国开发者建议,如果没有特别的理由,应该在大型项目中使用自动内存管理工具。因此,今天的C++开发者应当积极地学习和应用自动内存管理设施。 说到自动内存管理,比较轻量级的做法是boost::smart_ptr,而激进的做法是引入完整的GC机制。目前开源而又比较可靠的GC中,Hans- Boehm GC无疑是最受信赖的。作为一个保守的GC,Hans-Boehm GC在性能和功能方面都算是卓越。特别是,使用这个GC,你仍然可以delete、free来自己管理内存,对于我们编程习惯的冲击比较小。
OpenSSL 安全是今天进行C/C++编程无法回避和必须重视的问题。然而编写安全的应用程序,特别是跟网络相关的C/C++应用程序,是一件十分困难的事情。可以 说,整个业界目前在这个进程上仍然处于“初级阶段”。特别是涉及到大量的安全、密码学相关的算法、规范,如果让开发者自己摸索,其工作量和难度达到了不现实的程度。因此必须借助可靠的相关程序库才有可能提高程序的安全性。在这方面,OpenSSL是目前最好的选择,其内容之全面可靠,已经成为业界标杆。然 而,由于安全编程固有的复杂性,即使使用penSSL,开发工作仍然是非常繁琐的。因此我们也希望能够尽快看到更简单、更易用的C/C++安全程序库。
MTL 自1995年以来,C++在科学计算领域当中取得了巨大的突破。这主要归功于template技术的高级应用,使得C++在科学计算的性能方面取得了巨大的进步,一大批优秀的C++科学计算库涌现出来。比如Blitz++、POOMA、MTL、Boost::uBLAS。而这其中,MTL就功能丰富程度、 性能、开发支持和成熟程度来讲,是比较突出的一个,因此可以优先考虑。值得一提的是,2002年,MTL与后来被Intel收购的KAI C++配合,曾经在性能评测中击败了FORTRAN。
1、分布式对象中间件:ICE ICE是分布式对象中间件领域里的后起之秀,可以大致地将其视为“改进版”的CORBA。目前应用在一些大型项目当中,其中包括波音公司主持的下一代陆军作战系统。 ICE的一个特别价值是其代码的范例意义。由于ICE的出现较晚,开发者比较系统地应用了新的C++编程风格,所以成为了研读C++代码的良好目标。
2、消息中间件:ZeroMQ,总结的几种特性如下:
1) 消息系统中,它差不多是最简洁的,只是个简洁的API,有n多种语言的绑定,没有专门的服务器; 2) 性能非常优越,远远高于RabbitMQ、ActiveMQ、MSMQ等; 3) 适合做分布式和并发应用。
boost::regex 正则表达式是编程工作中最强有力的工具之一。C++的正则表达式支持一直以来是一个软肋。大约在2001年左右,boost中出现了regex库,初步解决了这个问题。但是最初的regex无论在效率上还是可靠性方面都有一些问题,后来经过一次大规模的翻修之后,达到了比较完善的程度。 其他可以选择的替代品还有C语言的pcre库,Qt中的QRegExp类等。
Lua 随着软件系统越来越复杂,对软件的可配置型提出了越来越高的要求。传统上只要通过命令行参数来配置的系统,现在可能需要越来越多的方式和机制。目前越来越受欢迎、并且得到越来越多证实的做法,是将Lua嵌入到C/C++程序中,而用Lua程序作为配置脚本。这种做法的优势是,Lua语言强大灵活,可以适应 复杂的配置要求。同时,Lua便于嵌入C/C++程序,而且编译执行速度非常快,可以说是目前解决C/C++程序配置管理问题的一个出色方案。
1. Irrlicht http://irrlicht.sourceforge.net/
始于2003,次年即被评为最佳开源游戏引擎。官方支持C++和.Net,拓展语言绑定包含java,perl,ruby,python.跨平台支持,使用D3D,OpenGL以及自带API.
优点:容易上手;跨平台;自带XML解析器;大的社区;
缺点:最近开发慢下来了
2. Panda3D http://www.panda3d.org/
由迪斯尼开发,卡耐基-梅隆娱娱乐科技中心支持。Python是官方推荐语言。也支持C++。
优点:有用的社区;大量功能;定期开发;
缺点:缺乏工具支持;极差的文档;
3. OGRE http://www.ogre3d.org/
图像引擎中最好的一个。2000年立的项。推荐使用C++语言。需要非常熟悉编程才行。初学者不宜。
优点:大量功能;优异的文档;大规模的社区;活跃的开发
缺点:不适合初哥;只有图像引擎
4. Crystal Space http://www.crystalspace3d.org/main/Main_Page
1997年发行,用C++编写的开源游戏引擎。推荐使用C++
优点:不错的社区支持;大量功能;
缺点:难学;
5、Delta3d http://www.delta3d.org/index.php
Delta3D是一款由美国海军研究学院(Naval Postgraduate School)开发的全功能游戏与仿真引擎,得到美国军方巨大的支持与丰厚的投资。该引擎应用领域极为广泛,如开发在培训、教育、娱乐行业和科学计算可视化领域等方面建模与仿真的软件。它的标准化设计把一些知名开源软件和引擎如 Open Scene Graph(OSG), OpenDynamicsEngine (ODE), Character Animation Library (CAL3D), 还有 OpenAL融为一体。Delta3D通过对这些底层模块进行隐藏封装,整合在一起从而形成了一个使用更加方便的高级API 函数库,使得开发者在必要的时候能够使用底层函数进行二次开发。Delta3D在软件系列中,处于中间层(Middle layer)的位置上。
优点:适合各种3D游戏,仿真,很全面。一直在做更新。
缺点:参考资料比较少。中文文档也比较少。官方参考资料比较少。但是读源代码可以加快理解,应用。
-----------------------------------------------------------------------------------------------------------------------------------------
(1)ACE
庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。
http://www.cs.wustl.edu/~schmidt/ACE.html
http://download.dre.vanderbilt.edu/
(2)Asio
Asio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。
开源、免费,支持跨平台。
http://think-async.com/
(3)POCO
POCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、线程同步、文件系统访问、流操作、共享库和类加载、套接字以及网络协议包括:HTTP、 FTP、SMTP 等;其本身还包含一个 HTTP 服务器,提供 XML 的解析和 SQL 数据库的访问接口。POCO库的模块化、高效的设计及实现使得POCO特别适合嵌入式开发。在嵌入式开发领域,由于C++既适合底层(设备I/O、中断处理等)和高层面向对象开发,越来越流行。
http://pocoproject.org/
(4)libevent
Libevent是一个轻量级的开源高性能网络库,从它的官网标题:libevent-an event notification library就能知道它的机制是采用事件触发,封装了以下三种事件的响应:IO事件,定时器事件,信号事件。select模型来实现跨平台的操作,Windows环境下支持IOCP。Google的开源WEB浏览器Chromium在Mac和Linux版本中,也使用了Libevent,足见该库的质量。
http://libevent.org/
(5)libev
libev和libevent很像,按照作者的介绍,可以作为libevent的替代者,能够提供更高的性能。
libev是一个高性能事件循环,所实现的功能就是一个强大的reactor。
http://software.schmorp.de/pkg/libev.html
(6)c++ sockets library
封装了sockets C API的C++类库。
支持SSL, IPv6, tcp 和 udp sockets, sctp sockets, http协议, 高度可定制的错误处理。
http://www.alhem.net/Sockets/
(7)libcurl
libcurl是免费的轻量级的客户端网络库,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet, TFTP. 支持SSL, HTTP POST, HTTP PUT, FTP上传, HTTP form上传,代理,cookies, 用户名与密码认证。
如果你开发的是客户端,libcurl是一个不错的选择。
http://curl.haxx.se/libcurl/
-----------------------------------------------------------------------------------------------------------------------------------
一些库在各个项目经常重用.如jpeg,freetype,iconv 等.每次大型项目均会反复重用.因此按照原来项目规范,一般都放在项目libs目录下,但后来发现,每个项目都做重复操作.也完全没有必要.因为现在是将其归纲到一个comm_lib公用信息. 以下是常用库的ARM-Linux移植,我是放在/home/hxy/common_lib 目录下.按到移植规范,输出在 output/arm-linux下,库本身在 libs 下面. 以下是常见库的移植.在这里留作教学和备份用.
-------------------------------------------------------------------------------------------------------------------------------------------------------
[1]由 fffaraz 发起和维护。
内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。
C++标准库,包括了STL容器,算法和函数等。
C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template Library:标准模板库C POSIX library : POSIX系统的C标准库规范ISO C++ Standards Committee :C++标准委员会
C++通用框架和库
Apache C++ Standard Library:是一系列算法,容器,迭代器和其他基本组件的集合ASL :Adobe源代码库提供了同行的评审和可移植的C++源代码库。Boost :大量通用C++库的集合。BDE :来自于彭博资讯实验室的开发环境。Cinder:提供专业品质创造性编码的开源开发社区。Cxxomfort:轻量级的,只包含头文件的库,将C++ 11的一些新特性移植到C++03中。Dlib:使用契约式编程和现代C++科技设计的通用的跨平台的C++库。EASTL :EA-STL公共部分ffead-cpp :企业应用程序开发框架Folly:由Facebook开发和使用的开源C++库JUCE :包罗万象的C++类库,用于开发跨平台软件libPhenom:用于构建高性能和高度可扩展性系统的事件框架。LibSourcey :用于实时的视频流和高性能网络应用程序的C++11 evented IOLibU : C语言写的多平台工具库Loki :C++库的设计,包括常见的设计模式和习语的实现。MiLi :只含头文件的小型C++库openFrameworks :开发C++工具包,用于创意性编码。Qt :跨平台的应用程序和用户界面框架Reason :跨平台的框架,使开发者能够更容易地使用Java,.Net和Python,同时也满足了他们对C++性能和优势的需求。ROOT :具备所有功能的一系列面向对象的框架,能够非常高效地处理和分析大量的数据,为欧洲原子能研究机构所用。STLport:是STL具有代表性的版本STXXL:用于额外的大型数据集的标准模板库。Ultimate++ :C++跨平台快速应用程序开发框架Windows Template Library:用于开发Windows应用程序和UI组件的C++库Yomm11 :C++11的开放multi-methods.
音频,声音,音乐,数字化音乐库
FMOD :易于使用的跨平台的音频引擎和音频内容的游戏创作工具。Maximilian :C++音频和音乐数字信号处理库OpenAL :开源音频库—跨平台的音频APIOpus:一个完全开放的,免版税的,高度通用的音频编解码器Speex:免费编解码器,为Opus所废弃Tonic: C++易用和高效的音频合成Vorbis: Ogg Vorbis是一种完全开放的,非专有的,免版税的通用压缩音频格式。
生物信息,基因组学和生物技术
libsequence:用于表示和分析群体遗传学数据的C++库。SeqAn:专注于生物数据序列分析的算法和数据结构。Vcflib :用于解析和处理VCF文件的C++库Wham:直接把联想测试应用到BAM文件的基因结构变异。
压缩和归档库
bzip2:一个完全免费,免费专利和高质量的数据压缩doboz:能够快速解压缩的压缩库PhysicsFS:对各种归档提供抽象访问的库,主要用于视频游戏,设计灵感部分来自于Quake3的文件子系统。KArchive:用于创建,读写和操作文件档案(例如zip和 tar)的库,它通过QIODevice的一系列子类,使用gzip格式,提供了透明的压缩和解压缩的数据。LZ4 :非常快速的压缩算法LZHAM :无损压缩数据库,压缩比率跟LZMA接近,但是解压缩速度却要快得多。LZMA :7z格式默认和通用的压缩方法。LZMAT :及其快速的实时无损数据压缩库miniz:单一的C源文件,紧缩/膨胀压缩库,使用zlib兼容API,ZIP归档读写,PNG写方式。Minizip:Zlib最新bug修复,支持PKWARE磁盘跨越,AES加密和IO缓冲。Snappy :快速压缩和解压缩ZLib :非常紧凑的数据流压缩库ZZIPlib:提供ZIP归档的读权限。
并发执行和多线程
Boost.Compute :用于OpenCL的C++GPU计算库Bolt :针对GPU进行优化的C++模板库C++React :用于C++11的反应性编程库Intel TBB :Intel线程构件块Libclsph:基于OpenCL的GPU加速SPH流体仿真库OpenCL :并行编程的异构系统的开放标准OpenMP:OpenMP APIThrust :类似于C++标准模板库的并行算法库HPX :用于任何规模的并行和分布式应用程序的通用C++运行时系统VexCL :用于OpenCL/CUDA 的C++向量表达式模板库。
数据库,SQL服务器,ODBC驱动程序和工具
hiberlite :用于Sqlite3的C++对象关系映射Hiredis: 用于Redis数据库的很简单的C客户端库LevelDB: 快速键值存储库LMDB:符合数据库四大基本元素的嵌入键值存储MySQL++:封装了MySql的C API的C++ 包装器RocksDB:来自Facebook的嵌入键值的快速存储SQLite:一个完全嵌入式的,功能齐全的关系数据库,只有几百KB,可以正确包含到你的项目中。
调试库, 内存和资源泄露检测,单元测试
Boost.Test:Boost测试库Catch:一个很时尚的,C++原生的框架,只包含头文件,用于单元测试,测试驱动开发和行为驱动开发。CppUnit:由JUnit移植过来的C++测试框架CTest:CMake测试驱动程序googletest:谷歌C++测试框架ig-debugheap:用于跟踪内存错误的多平台调试堆libtap:用C语言编写测试MemTrack —用于C++跟踪内存分配microprofile- 跨平台的网络试图分析器minUnit :使用C写的迷你单元测试框架,只使用了两个宏Remotery:用于web视图的单一C文件分析器UnitTest++:轻量级的C++单元测试框架
动力学仿真引擎
Box2D:2D的游戏物理引擎。Bullet :3D的游戏物理引擎。Chipmunk :快速,轻量级的2D游戏物理库LiquidFun:2D的游戏物理引擎ODE :开放动力学引擎-开源,高性能库,模拟刚体动力学。ofxBox2d:Box2D开源框架包装器。Simbody :高性能C++多体动力学/物理库,模拟关节生物力学和机械系统,像车辆,机器人和人体骨骼。
XML就是个垃圾,xml的解析很烦人,对于计算机它也是个灾难。这种糟糕的东西完全没有存在的理由了。-Linus Torvalds
Expat :用C语言编写的xml解析库Libxml2 :Gnome的xml C解析器和工具包libxml++ :C++的xml解析器PugiXML :用于C++的,支持XPath的轻量级,简单快速的XML解析器。RapidXml :试图创建最快速的XML解析器,同时保持易用性,可移植性和合理的W3C兼容性。TinyXML :简单小型的C++XML解析器,可以很容易地集成到其它项目中。TinyXML2:简单快速的C++CML解析器,可以很容易集成到其它项目中。TinyXML++:TinyXML的一个全新的接口,使用了C++的许多许多优势,模板,异常和更好的异常处理。Xerces-C++ :用可移植的C++的子集编写的XML验证解析器。
一些有用的库或者工具,但是不适合上面的分类,或者还没有分类。
C++ Format :C++的小型,安全和快速格式化库casacore :从aips++ 派生的一系列C++核心库cxx-prettyprint:用于C++容器的打印库DynaPDF :易于使用的PDF生成库gcc-poison :帮助开发人员禁止应用程序中的不安全的C/C++函数的简单的头文件。googlemock:编写和使用C++模拟类的库HTTP Parser :C的http请求/响应解析器libcpuid :用于x86 CPU检测盒特征提取的小型C库libevil :许可证管理器libusb:允许移动访问USB设备的通用USB库PCRE:正则表达式C库,灵感来自于Perl中正则表达式的功能。Remote Call Framework :C++的进程间通信框架。Scintilla :开源的代码编辑控件Serial Communication Library :C++语言编写的跨平台,串口库。SDS:C的简单动态字符串库SLDR :超轻的DNS解析器SLRE: 超轻的正则表达式库Stage :移动机器人模拟器VarTypes:C++/Qt4功能丰富,面向对象的管理变量的框架。ZBar:‘条形码扫描器’库,可以扫描照片,图片和视频流中的条形码,并返回结果。CppVerbalExpressions :易于使用的C++正则表达式QtVerbalExpressions:基于C++ VerbalExpressions 库的Qt库PHP-CPP:使用C++来构建PHP扩展的库Better String :C的另一个字符串库,功能更丰富,但是没有缓冲溢出问题,还包含了一个C++包装器。
用于创建开发环境的软件
C/C++编译器列表
Clang :由苹果公司开发的GCC:GNU编译器集合Intel C++ Compiler :由英特尔公司开发LLVM :模块化和可重用编译器和工具链技术的集合Microsoft Visual C++ :MSVC,由微软公司开发Open WatCom :Watcom,C,C++和Fortran交叉编译器和工具TCC :轻量级的C语言编译器
在线C/C++编译器列表
codepad :在线编译器/解释器,一个简单的协作工具CodeTwist:一个简单的在线编译器/解释器,你可以粘贴的C,C++或者Java代码,在线执行并查看结果coliru :在线编译器/shell, 支持各种C++编译器Compiler Explorer:交互式编译器,可以进行汇编输出CompileOnline:Linux上在线编译和执行C++程序Ideone :一个在线编译器和调试工具,允许你在线编译源代码并执行,支持60多种编程语言。
C/C++调试器列表
Comparison of debuggers :来自维基百科的调试器列表GDB :GNU调试器Valgrind:内存调试,内存泄露检测,性能分析工具。
C/C++集成开发环境列表
AppCode :构建与JetBrains’ IntelliJ IDEA 平台上的用于Objective-C,C,C++,Java和Java开发的集成开发环境CLion:来自JetBrains的跨平台的C/C++的集成开发环境Code::Blocks :免费C,C++和Fortran的集成开发环境CodeLite :另一个跨平台的免费的C/C++集成开发环境Dev-C++:可移植的C/C++/C++11集成开发环境Eclipse CDT:基于Eclipse平台的功能齐全的C和C++集成开发环境Geany :轻量级的快速,跨平台的集成开发环境。IBM VisualAge :来自IBM的家庭计算机集成开发环境。Irony-mode:由libclang驱动的用于Emacs的C/C++微模式KDevelop:免费开源集成开发环境Microsoft Visual Studio :来自微软的集成开发环境NetBeans :主要用于Java开发的的集成开发环境,也支持其他语言,尤其是PHP,C/C++和HTML5。Qt Creator:跨平台的C++,Javascript和QML集成开发环境,也是Qt SDK的一部分。rtags:C/C++的客户端服务器索引,用于 跟基于clang的emacs的集成Xcode :由苹果公司开发YouCompleteMe:一个用于Vim的根据你敲的代码快速模糊搜索并进行代码补全的引擎。
提高质量,减少瑕疵的代码分析工具列表
Cppcheck :静态C/C++代码分析工具include-what-you-use :使用clang进行代码分析的工具,可以#include在C和C++文件中。OCLint :用于C,C++和Objective-C的静态源代码分析工具,用于提高质量,减少瑕疵。Clang Static Analyzer:查找C,C++和Objective-C程序bug的源代码分析工具List of tools for static code analysis :来自维基百科的静态代码分析工具列表C/C++程序员必须熟练应用的开源项目 http://blog.csdn.net/langeldep/article/details/6293655
[1]http://www.cnblogs.com/kanego/archive/2011/11/10/2244957.html [2]https://github.com/fffaraz/awesome-cpp [3] http://blog.jobbole.com/78901/
