zoukankan      html  css  js  c++  java
  • 主流开发语言的框架和库

    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

  • 相关阅读:
    java 多线程4: java线程的优先级
    Thread.currentThread().getName() ,对象实例.getName() 和 this.getName()区别
    go http
    go redis
    go tcp
    go 单元测试
    go 定时器
    go channel
    go goroutine
    go 错误处理
  • 原文地址:https://www.cnblogs.com/foohack/p/5309912.html
Copyright © 2011-2022 走看看