https://blog.csdn.net/junkie0901/article/details/44679837php
==================================================html
(1)ACEnode
庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。python
http://www.cs.wustl.edu/~schmidt/ACE.htmlmysql
(2)Asioreact
Asio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。linux
开源、免费,支持跨平台。c++
(3)POCOgithub
POCO C++ Libraries 提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、线程同步、文件系统访问、流操做、共享库和类加载、套接字以及网络协议包括:HTTP、 FTP、SMTP 等;其自己还包含一个 HTTP 服务器,提供 XML 的解析和 SQL 数据库的访问接口。POCO库的模块化、高效的设计及实现使得POCO特别适合嵌入式开发。在嵌入式开发领域,因为C++既适合底层(设备I/O、中断处理等)和高层面向对象开发,愈来愈流行。
(4)libevent
Libevent是一个轻量级的开源高性能网络库,从它的官网标题:libevent-an event notification library就能知道它的机制是采用事件触发,封装了如下三种事件的响应:IO事件,定时器事件,信号事件。select模型来实现跨平台的操做,Windows环境下支持IOCP。
(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协议, 高度可定制的错误处理。
(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是一个不错的选择。
Webbench是一个在linux下使用的很是简单的网站压测工具。它使用fork()模拟多个客户端同时访问咱们设定的URL,测试网站在压力下工做的性能,最多能够模拟3万个并发链接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。
下载连接:http://home.tiscali.cz/~cz210552/webbench.html
tinyhttpd是一个超轻量型Http Server,使用C语言开发,所有代码只有502行(包括注释),附带一个简单的Client,能够经过阅读这段代码理解一个 Http Server 的本质。
下载连接:http://sourceforge.net/projects/tinyhttpd/
cJSON是C语言中的一个JSON编解码器,很是轻量级,C文件只有500多行,速度也很是理想。
cJSON也存在几个弱点,虽然功能不是很是强大,但cJSON的小身板和速度是最值得赞扬的。其代码被很是好地维护着,结构也简单易懂,能够做为一个很是好的C语言项目进行学习。
项目主页:http://sourceforge.net/projects/cjson/
cmockery是google发布的用于C单元测试的一个轻量级的框架。它很小巧,对其余开源包没有依赖,对被测试代码侵入性小。cmockery的源代码行数不到3K,你阅读一下will_return和mock的源代码就一目了然了。
主要特色:
下载连接:http://code.google.com/p/cmockery/downloads/list
libev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它能够将IO事件,定时器,和信号统一块儿来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,而且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源。
下载连接:http://software.schmorp.de/pkg/libev.html
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它经过在内存中缓存数据和对象来减小读取数据库的次数,从而提供动态数据库驱动网站的速度。Memcached 基于一个存储键/值对的 hashmap。Memcached-1.4.7的代码量仍是能够接受的,只有10K行左右。
Lua很棒,Lua是巴西人发明的,这些都令我不爽,可是还不至于脸红,最多眼红。
让我脸红的是Lua的源代码,百分之一百的ANSI C,一点都不掺杂。在任何支持ANSI C编译器的平台上均可以轻松编译经过。我试过,真是一点废话都没有。Lua的代码数量足够小,5.1.4仅仅1.5W行,去掉空白行和注释估计能到1W行。
下载地址:http://www.lua.org/
SQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特色是高度便携、使用方便、结构紧凑、高效、可靠。足够小,大体3万行C代码,250K。
下载地址:http://www.sqlite.org/ 。
UNIX V6 的内核源代码包括设备驱动程序在内 约有1 万行,这个数量的源代码,初学者是可以充分理解的。有一种说法是一我的所能理解的代码量上限为1 万行,UNIX V6的内核源代码从数量上看正好在这个范围以内。看到这里,你们是否是也有“若是只有1万行的话没准儿我也能学会”的想法呢?
另外一方面,最近的操做系统,例如Linux 最新版的内核源代码听说超过了1000 万行。就算不是初学者,想彻底理解所有代码基本上也是不可能的。
下载地址:http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6
NetBSD是一个免费的,具备高度移植性的 UNIX-like 操做系统,是现行可移植平台最多的操做系统,能够在许多平台上执行,从 64bit alpha 服务器到手持设备和嵌入式设备。NetBSD计划的口号是:”Of course it runs NetBSD”。它设计简洁,代码规范,拥有众多先进特性,使得它在业界和学术界广受好评。因为简洁的设计和先进的特征,使得它在生产和研究方面,都有卓越的表现,并且它也有受使用者支持的完整的源代码。许多程序均可以很容易地经过NetBSD Packages Collection得到。
关于 C++ 框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。
C++标准库,包括了STL容器,算法和函数等。
C++通用框架和库
音频,声音,音乐,数字化音乐库
生物信息,基因组学和生物技术
压缩和归档库
并发执行和多线程
数据库,SQL服务器,ODBC驱动程序和工具
调试库, 内存和资源泄露检测,单元测试
动力学仿真引擎
XML就是个垃圾,xml的解析很烦人,对于计算机它也是个灾难。这种糟糕的东西彻底没有存在的理由了。-Linus Torvalds
一些有用的库或者工具,可是不适合上面的分类,或者尚未分类。
用于建立开发环境的软件
C/C++编译器列表
在线C/C++编译器列表
C/C++调试器列表
C/C++集成开发环境列表
提升质量,减小瑕疵的代码分析工具列表