主流开发语言的框架和库

C/C++

网络库:

Qt-----自然不用多少,不仅仅是GUI框架而已,而是企图弄出一个自己的“开发平台”,有自己的Core Lib,封装了不少的数据结构hash map pair list vector等等,还有XML操作和SQL库,网络库都有,不过Qt的网络库性能不好就是了。

boost------准标准库,学习C++ 11就靠这个了,有很多模块,xml操作,基础的数据结构和算法,其中的asio值得一用,是异步网络通信模块。

POCO--------C++的网络通信库。

ACE---------------也是C++的网络通信库,不过比较重量级。轻量级的有boost的asio。

libev-----------------C语言写的一个网络库,比较小。

libevent---------------C语言写的,非常经典。

libuv---------------------也不错。

libcurl-------------------怎么说呢?我只用过它来进程http下载和上传 = =,反正就是文件传输。

图形处理:

OpenGL------------大名鼎鼎无需介绍。

图像处理:

ImageMagick-------------C语言写的一个非常牛X的图像处理库。非常强大。

FreeImage--------------也不错,但是比之ImageMagick要差不少。

OpenCV------------------这个也是大名鼎鼎,不用介绍了。

多媒体框架:

Live555------------这个不错,VLC播放器底层处理RTSP就是靠它。

vlcSDK--------------VLC播放器提供的SDK

gstreamer----------------Linux经常看到,没用过。

编码和国际化库:

libiconv------------这个Linux底下经常见iconv命令。不用说了。

音视频处理:

FFmpeg----------------这个就不用说了,非常牛X,因为作者就是个很牛逼的人物。现在很多视频播放器都是FFmpeg的封装,提供非常强的视频编码解码方案。

OpenAL----------------一个跨平台的音频处理库

压缩库:

bzip2------------------挺牛逼的这玩意儿。

LZ4-----------------------压缩速度很快。

LZMA-------------------7z格式的压缩。

zlib--------------------名声远播。

加密库:

OpenSSL---------大名鼎鼎,https协议就要基于它。当然,它是SSL协议的开源版。

游戏开发:

Cocos2D-x---------------比较有名了,写2D方便。

并发 框架:

OpenCL---------------名声不错。

OpenML--------------名声也不错。

进程通信中间件:

Internet Communications engine(ICE)--------单独用一种ice的DSL描述RPC远程调用映射,实现各种语言的RPC。

Apache Thrift---------------这个有名了,非常不错。

ZeroMQ----------------非常快,异步通信,类似的有ActiveMQ和RabbitMQ等等,一个消息通信队列吧。

序列化库:

protobuf------------------可以用于各种语言的序列化,C++,java等等。google久经考验的东西。

单元测试:

cppUnit--------C++单元测试的框架

cppUTest--------C++的单元测试框架

日志库:

glog------------C++轻量的日志库

log4cplus----------也比较好用

references:

https://github.com/fffaraz/awesome-cpp

原文地址:https://www.cnblogs.com/foohack/p/5309912.html