值得推荐的C/C++框架、库等资源

转自:https://blog.csdn.net/xiaoxiaoyeyaya/article/details/42541419?utm_source=blogxgwz2 用于记录

C++ 资源大全

关于 C++ 框架、库和资源的一些整理,包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。

 

标准库

C++标准库,包括了STL容器,算法和函数等。

框架

C++通用框架和库

  • Qt :跨平台的应用程序和用户界面框架    http://download.qt.io/archive/qt/
  • Boost :大量通用C++库的集合。
  • Apache C++ Standard Library:是一系列算法,容器,迭代器和其他基本组件的集合
  • Folly:由Facebook开发和使用的开源C++库
  • LibSourcey :用于实时的视频流和高性能网络应用程序的C++11 evented IO
  • Loki :C++库的设计,包括常见的设计模式和习语的实现。
  • Reason :跨平台的框架,使开发者能够更容易地使用Java,.Net和Python,同时也满足了他们对C++性能和优势的需求。
  • STLport:是STL具有代表性的版本
  • Windows Template Library:用于开发Windows应用程序和UI组件的C++库

 

人工智能

  • Evolving Objects:基于模板的,ANSI C++演化计算库,能够帮助你非常快速地编写出自己的随机优化算法。
  • Neu:C++11框架,编程语言集,用于创建人工智能应用程序的多用途软件系统。

 

异步事件循环

  • Boost.Asio:用于网络和底层I/O编程的跨平台的C++库。
  • libev :功能齐全,高性能的时间循环,轻微地仿效libevent,但是不再像libevent一样有局限性,也修复了它的一些bug。
  • libevent :事件通知库
  • libuv :跨平台异步I/O。

 

音频

音频,声音,音乐,数字化音乐库

  • FMOD :易于使用的跨平台的音频引擎和音频内容的游戏创作工具。
  • Maximilian :C++音频和音乐数字信号处理库
  • OpenAL :开源音频库—跨平台的音频API
  • Opus:一个完全开放的,免版税的,高度通用的音频编解码器
  • Tonic: C++易用和高效的音频合成

 

压缩

压缩和归档库

  • ZLib :非常紧凑的数据流压缩库
  • bzip2:一个完全免费,免费专利和高质量的数据压缩
  • LZHAM :无损压缩数据库,压缩比率跟LZMA接近,但是解压缩速度却要快得多。
  • LZMA :7z格式默认和通用的压缩方法。
  • Minizip:Zlib最新bug修复,支持PKWARE磁盘跨越,AES加密和IO缓冲。

 

并发性

并发执行和多线程

  • Boost.Compute :用于OpenCL的C++GPU计算库
  • Bolt :针对GPU进行优化的C++模板库
  • C++React :用于C++11的反应性编程库
  • OpenCL :并行编程的异构系统的开放标准
  • VexCL :用于OpenCL/CUDA 的C++向量表达式模板库。

 

容器

  • C++ B-tree :基于B树数据结构,实现命令内存容器的模板库
  • Hashmaps: C++中开放寻址哈希表算法的实现

 

密码学

  • Bcrypt :一个跨平台的文件加密工具,加密文件可以移植到所有可支持的操作系统和处理器中。
  • Crypto++:一个有关加密方案的免费的C++库
  • GnuTLS :实现了SSL,TLS和DTLS协议的安全通信库
  • OpenSSL : 一个强大的,商用的,功能齐全的,开放源代码的加密库。

 

数据库

数据库,SQL服务器,ODBC驱动程序和工具

  • hiberlite :用于Sqlite3的C++对象关系映射
  • Hiredis: 用于Redis数据库的很简单的C客户端库
  • MySQL++:封装了MySql的C API的C++ 包装器
  • RocksDB:来自Facebook的嵌入键值的快速存储
  • SQLite:一个完全嵌入式的,功能齐全的关系数据库,只有几百KB,可以正确包含到你的项目中。

 

调试

调试库, 内存和资源泄露检测,单元测试

 

游戏引擎

  • Cocos2d-x :一个跨平台框架,用于构建2D游戏,互动图书,演示和其他图形应用程序。
  • Polycode:C++实现的用于创建游戏的开源框架(与Lua绑定)。

 

图形用户界面

  • GTK+: 用于创建图形用户界面的跨平台工具包
  • gtkmm :用于受欢迎的GUI库GTK+的官方C++接口。
  • Qwt :用户与技术应用的Qt 控件
  • QwtPlot3D :功能丰富的基于Qt/OpenGL的C++编程库,本质上提供了一群3D控件
  • OtterUI :OtterUI 是用于嵌入式系统和互动娱乐软件的用户界面开发解决方案
  • wxWidgets C++库,允许开发人员使用一个代码库可以为widows, Mac OS X,Linux和其他平台创建应用程序

 

图形

  • magnum C++11和OpenGL 2D/3D 图形引擎
  • Skia 用于绘制文字,图形和图像的完整的2D图形库

 

图像处理

  • Boost.GIL:通用图像库
  • CImg :用于图像处理的小型开源C++工具包
  • CxImage :用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K。
  • OpenCV : 开源计算机视觉类库

 

国际化

  • libiconv :用于不同字符编码之间的编码转换库

 

Jason

  • jbson :C++14中构建和迭代BSON data,和Json 文档的库
  • JeayeSON:非常健全的C++ JSON库,只包含头文件
  • json-parser:用可移植的ANSI C编写的JSON解析器,占用内存非常少
  • libjson:轻量级的JSON库
  • qt-json :用于JSON数据和 QVariant层次间的相互解析的简单类
  • QJson:将JSON数据映射到QVariant对象的基于Qt的库

 

日志

  • Boost.Log :设计非常模块化,并且具有扩展性
  • Log4cpp :一系列C++类库,灵活添加日志到文件,系统日志,IDSA和其他地方。

 

机器学习

  • Caffe :快速的神经网络框架
  • mlpack :可扩展的C++机器学习库
  • OpenCV:开源计算机视觉库

 

多媒体

  • libVLC :libVLC (VLC SDK)媒体框架
  • QtAv:基于Qt和FFmpeg的多媒体播放框架,能够帮助你轻而易举地编写出一个播放器
  • SDL :简单直控媒体层

 

网络

  • ACE:C++面向对象网络变成工具包
  • Boost.Asio:用于网络和底层I/O编程的跨平台的C++库
  • libcurl :多协议文件传输库
  • Mongoose:非常轻量级的网络服务器
  • Muduo :用于Linux多线程服务器的C++非阻塞网络库
  • WebSocket++ :基于C++/Boost Aiso的websocket 客户端/服务器库

 

机器人学

  • MRPT:移动机器人编程工具包
  • Robotics Library (RL): 一个独立的C++库,包括机器人动力学,运动规划和控制。
  • RobWork:一组C++库的集合,用于机器人系统的仿真和控制。
  • ROS :机器人操作系统,提供了一些库和工具帮助软件开发人员创建机器人应用程序。

 

脚本

  • ChaiScript :用于C++的易于使用的嵌入式脚本语言。
  • Lua :用于配置文件和基本应用程序脚本的小型快速脚本引擎。
  • SWIG :一个可以让你的C++代码链接到JavaScript,Perl,PHP,Python,Tcl和Ruby的包装器/接口生成器
  • V8 :谷歌的快速JavaScript引擎,可以被嵌入到任何C++应用程序中。

 

视频

  • FFmpeg :一个完整的,跨平台的解决方案,用于记录,转换视频和音频流。
  • libde265 :开放的h.265视频编解码器的实现。
  • OpenH264:开源H.264 编解码器。

 

虚拟机

  • TinyVM:用纯粹的ANSI C编写的小型,快速,轻量级的虚拟机。

 

Web应用框架

  • Civetweb :提供易于使用,强大的,C/C++嵌入式Web服务器,带有可选的CGI,SSL和Lua支持。
  • Wt :开发Web应用的C++库。

 

XML

XML就是个垃圾,xml的解析很烦人,对于计算机它也是个灾难。这种糟糕的东西完全没有存在的理由了。-Linus Torvalds

  • Libxml2 :Gnome的xml C解析器和工具包
  • libxml++ :C++的xml解析器
  • Xerces-C++ :用可移植的C++的子集编写的XML验证解析器。

 

多项混杂

一些有用的库或者工具,但是不适合上面的分类,或者还没有分类。

  • DynaPDF :易于使用的PDF生成库
  • googlemock:编写和使用C++模拟类的库
  • HTTP Parser :C的http请求/响应解析器
  • libusb:允许移动访问USB设备的通用USB库
  • PCRE:正则表达式C库,灵感来自于Perl中正则表达式的功能。
  • Remote Call Framework :C++的进程间通信框架。
  • ZBar:‘条形码扫描器’库,可以扫描照片,图片和视频流中的条形码,并返回结果。
  • PHP-CPP:使用C++来构建PHP扩展的库

软件

用于创建开发环境的软件

编译器

C/C++编译器列表

  • Clang :由苹果公司开发的
  • GCC:GNU编译器集合
  • LLVM :模块化和可重用编译器和工具链技术的集合
  • Microsoft Visual C++ :MSVC,由微软公司开发


调试器

C/C++调试器列表

  • GDB :GNU调试器
  • Valgrind:内存调试,内存泄露检测,性能分析工具。

 

集成开发环境(IDE)

C/C++集成开发环境列表

  • Microsoft Visual Studio :来自微软的集成开发环境
  • NetBeans :主要用于Java开发的的集成开发环境,也支持其他语言,尤其是PHP,C/C++和HTML5。
  • Qt Creator:跨平台的C++,Javascript和QML集成开发环境,也是Qt SDK的一部分。
  • Xcode :由苹果公司开发

 

构建系统

  • Bear :用于为clang工具生成编译数据库的工具
  • CMake :跨平台的免费开源软件用于管理软件使用独立编译的方法进行构建的过程。
  • Ninja :专注于速度的小型构建系统

 

静态代码分析

提高质量,减少瑕疵的代码分析工具列表

  • Cppcheck :静态C/C++代码分析工具
  • include-what-you-use :使用clang进行代码分析的工具,可以#include在C和C++文件中。
  • OCLint :用于C,C++和Objective-C的静态源代码分析工具,用于提高质量,减少瑕疵。
基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [资源说明] 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值