C++ 专题
Abstract Keywords 专题 Code Snippets C/c++ 专题
Citation Yao Qing-sheng.C++ 专题.FUTURE & CIVILIZATION Natural/Social Philosophy & Infomation Sciences,20210220. https://yaoqs.github.io/20210220/c-zhuan-ti/
C++ 资源大全
关于 C++ 框架、库和资源的一些汇总列表,内容包括:标准库、Web 应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。
- C++ reference
- Awesome C++ A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-… stuff.
- Awesome Modern C++A collection of resources on modern C++.The goal is to collect a list of resources to help people learn about and leverage modern C++11 and beyond.
- awesome-cA curated list of C good stuff. This list contains only free software for code, and sellers who aren’t evil for physical resources.
- Awesome CA curated list of C good stuff. This list contains only open source code (as defined by the linked Open Source Definition), and sellers who aren’t evil for physical resources.
- C++ 资源大全中文版标准库、Web 应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。
- AwesomeCppC 学习笔记和常见面试知识点,C11 特性,包括智能指针、四种强制转换、function 和 bind、移动语义、完美转发、tuple、多态原理、虚表、友元函数、符号重载、函数指针、深浅拷贝、struct 内存对齐、volatile 以及 union\static 等各种关键字的用法等等
¶ 不容错过的 13 个顶级 C++ 程序库
- C++ 标准库 – 精华中的精华
一提到 C++ 标准库,马上就会想到 STL。作为 C++ 标准语言的一部分,C++ 标准库不仅是编程语言,更是标准的程序库资源,且由国际标准化组织(ISO)监督制定。点击链接,可以直接找到目前最新的 C++ 版本及其标准库。
FileSystem 库,则提供了对文件系统及其组件(如路径、目录和常规文件)执行操作的工具。在 C++ 14 中,这个库还只是试验性的产品,而到 C++ 17,则成为了标准库的一部分。准确地说,命名空间由 std::experimental::filesystem 变成了 std::filesystem。 使用标准库内的工具总是最好的,因为行为可以在不同平台得到广泛地定义,只要平台支持 C++。
那么,STL 呢?标准模板库是处理容器、迭代器和算法的标准库子集。STL 是一个通用库,帮助用现代高效算法管理数据集合。我认为 C++ 标准库,包括 STL,都是 C++ 程序员的日常必备。
- Boost
当然,Boost 也必须在清单之内。我在上一节讨论了 FileSystem 库,其实,FileSystem 库是以 Boost FileSystem 库为基础建立的。在 C++ 标准库中,有许多其他的实例都使用了 Boost 库,这也充分证明了 Boost 的实力。Boost 是一个免费、开源、经过专家评审的库,受 Boost 软件协议管理,可以较为自由地使用。Boost 在行业口碑很好,由多个开发师编写,其中包含支持线性代数、伪随机数生成、多线程、图像处理、正则表达式、字符串和文本处理和单元测试等多种代码包。但其缺陷在于,Boost 本身庞大而复杂,使用门槛较高。另外,链接到 Boost 会导致可执行文件的大小增加。
- Poco
POCO C++ 库,兼具易用性和性能优越的特点,是一个强大的跨平台 C++ 库。Poco 代表便携式组件,提供一些特定的功能,如:构建以网络为中心,或者以网络为基础的便携式应用程序。Poco 库具有模块化的特点,因此非常适合嵌入式开发(在物联网、汽车、安全、工业自动化等行业)。在许可协议方面,Poco 有一个开源版本,由 Boost software license 1.0 授权。另外还有一个订阅的专业版本,提供商业源代码许可。你可以从 GitHub 下载 POCO。
- OpenSSL
OpenSSL 是网络安全、加密的利刃。其 libcrypto 组件中包含了通用的高强度加密例程,libssl 组件可实现所有 TLS 协议。OpenSSL 是一个 C 语言库,但它在加密应用程序中非常重要,因此我将它包括在这里。一般来说,程序库的一个小小漏洞很少会被注意,也更不可能有它自己的专属网页。但是,OpenSSL 的 “滴血之心”(Heartbleed Bug)漏洞造成的恐慌几乎席卷全球,具体信息,可以点击链接阅读。
- FFmpeg
如果你需要任何处理音频和视频,你就会用到 FFmpeg。除了提供 ffmpeg 这个命令行可执行文件外,该项目还包括一组高质量库,用于音频 / 视频编解码器的编码和解码、多媒体容器格式的解复用器和多路复用器、媒体文件管理器、图像缩放和颜色空间格式转换操作等。FFmpeg 是一个免费的开源库,在 GNU LGPL V2.1 许可下发布。
- SQLite
SQLite 是一种 C 语言库,并实现了一个功能齐全、自包含、与 ACID 兼容的 SQ L 数据库引擎。SQLite 是世界上使用最多的数据库引擎,其重要性不言而喻。SQLite 的源代码是公开的,大家都可以免费使用。SQLite 的使用也很特别,通常通过 Amalgamation 这个源代码文件编译到客户机应用程序中。
- Dear ImGui
Dear ImGui 是一个出色的图形用户界面 C++ 库,使用 Dear ImGui 的应用程序数据可以证明其性能优越。Dear ImGui 兼具快速、可移植、兼容且独立的特点。其设计目标是简单和高效,因此尤其适合游戏引擎、沉浸式 3D 应用程序、全屏和嵌入式应用程序。Dear ImGui 是开源的 C++ 库,提供免费的许可,可通过链接下载。
- 现代 C++ JSON 库
现代 C++ JSON 库,是可在 C++ 中使用的 JSON 单个头文件,这也是我用过的 JSON 最好的程序库。语法简单直接,且使用 MIT 许可。因为这是一个只有头文件的库,并且只是一个 json.hpp 头文件,因此,集成相当轻便、简单。
- GoogleTest
很多 C++ 程序员更喜欢用 GoogleTest 进行单元测试。GoogleTest 是一个开源的、维护良好的 xUnit 测试框架和 C++ 库,其中包括一个模拟框架,非常适合执行左移战略的企业。
- Eclipse Mosquitto
如果你需要在 C++ 中使用 MQTT 协议,你就会用到 Eclipse Mosquitto。MQTT 是一种轻量、高效的协议,需要的资源极少,因此适合像小型微控制器这样的低功耗设备。MQTT 的体系结构可以是发布或订阅,其中,MQTT 客户机与 MQTT 代理直接对话。Eclipse Mosquitto 库为发布者和订阅者提供了实用程序,具体资源可从链接下载。
- OpenCV
关于 Open CV,我只有赞美之词(可参考之前的博客《CMake、OpenCV 和单元测试》)。用于图像处理和计算机视觉的 C++ 库不计其数,但都比不上 OpenCV 的通用性。OpenCV 具有实时的计算机视觉、机器学习和用于人脸识别、目标检测和 3D 模型提取的深度学习库。OpenCV 库成熟、完善,拥有 Apache 开放源码许可。
- oneAPI Threading Building Blocks
Threading Building Block 库现在是开源的,并更名为 oneAPI Threading Building Blocks (oneTBB)。这个程序库可帮助并行 C++ 程序,充分利用多核处理器,这些处理器便携、易于组合且具有发展潜力。OneTBB 也提供 Apache 开放源码许可,具体信息可查看链接。
- Tensorflow
除非你在过去五年与世隔绝,否则你肯定听说过 Tensorflow。这是一个用 C++ 编写的机器学习框架,包括杰出的 C++ 库资源,可用于开发机器学习模型中的许多常见任务。Tensorflow 最初是由 Google Brain 团队的研究人员开发的,他们当时负责研究机器学习和深层神经网络问题。Tensorflow 有一个开放源码 Apache 2.0 许可。
¶c 语言源代码
- http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscripts -- 提供数以百计的 C 和 C++ 脚本和程序。
- http://www.daniweb.com/ --DANIWEB 提供的实用代码段 。
- http://www.programmersheaven.com/ --programmersheaven.com 上的 C 编程资源。
- http://www.cprogramming.com/cgi-bin/source/source.cgi --C 和 C + + 编程资源。
- http://www.codecogs.com/ --CodeCogs 是一项协作的开放源码库,C/C++ 的数值方面的组件。
- http://www.google.com/codesearch?q=programming++lang:c&cs_r=lang:c -- 谷歌代码的 C 源代码。
- http://www.cis.temple.edu/~ingargio/cis71/code/ -- 为学生提供的一个简单的 C 语言程序的列表。
- http://www.codeproject.com/?cat=2 --codeproject 提供的 C/C++ 资源代码项目。
- http://www.thefreecountry.com/sourcecode/cpp.shtml -- 以下是一些 C 和 C++ 库的 DLL,VCLs,源代码,元件,模块,应用程序框架,类库,源代码片段等,你可以在您的项目中使用而不需要支付费用和版税。
- http://people.sc.fsu.edu/~burkardt/cpp_src/cpp_src.html -- 这是一个全面的关于 C++ 的 345 个源代码清单。
- http://www.cplusplus.com/ --C++ 写的通用控制台程序和 Windows 程序代码清单。
- http://users.cs.fiu.edu/~weiss/dsaa_c++/code/ --C++ 语言数据结构与算法分析(第二版)的源代码。
- http://www.moshier.net/ 天文学和数值软件源代码
- http://cplus.about.com/od/cgames/C_Games_with_Source_Code.htm -- 游戏有关的 C++ 源代码。
- http://www.mathtools.net/C_C__/Utilities/index.html --C/C++ 工具。
- http://www.programmerworld.net/resources/c_library.htm -- 免费 C++ 源代码和其它有用的工具。
- http://www.robertnz.net/ -- 这是一个收集了数 C/C++ 网站链接列表的网页。
- http://www.josuttis.com/libbook/examples.html -- 在这里,你可以看到并下载所有的本书的 C++ 标准库例子 。
- http://www.einet.net/directory/65892/Developers.htm --C 程序
- http://www.daniweb.com/code/cplusplus.html -- 实用代码段。
- http://www.programmersheaven.com/ --C++ 编程资源,programmersheaven.com
- http://www.google.com/codesearch?hl=en&lr=&q=programming -- 谷歌代码搜索 - C++ 编程语言
- http://cplus.about.com/od/codelibrary/Code_Library_for_C_C_and_C.htm -- 代码库 C、C + + 和 C#。
- http://www.c.happycodings.com/ --Visual Basic、PHP、ASP 技术、C、C++ 大全。
- http://www.java2s.com/Code/Cpp/CatalogCpp.htm --C++ 源代码。
- http://www.josuttis.com/libbook/examples.html --C++ 标准库 - 教程和参考资料。
Address:Department of Natural/Social Philosophy & Infomation Sciences, CHINA
Biography...
Like this article? Support the author with