美文网首页C/C++学习交流
看完这篇文章的程序员技术提升了300%,建议收藏!(文末福利)

看完这篇文章的程序员技术提升了300%,建议收藏!(文末福利)

作者: 工程狮一图 | 来源:发表于2019-04-10 23:38 被阅读15次

    构建系统

    下面是一些 C 项目的自动化构建和测试工具。

    aimake – 一个被设计来避免复杂配置的构建工具。GNU GPL3 或更高版本。

    Autoconf – 一个可扩展的 M4 宏指令包,提供命令行脚本来自动配置软件源码包,是 Autotools 的一部分。GNU GPL3 或更高版本。

    Automake – 一个自动生成符合 GNU 代码标准的 Makefile.in 文件的工具。需要与 Autoconf 配合使用,它也是 Autotools 的一部分。GNU GPL3 或更高版本。

    Jam – 一个构建系统,它被设计的比make更加易用。隐式地理解 C 的构建规则。Jam License。

    Libtool – 一个通用库支持脚本,是 Autotools 的一部分。GNU GPL3 或更高版本。

    Meson – 一个非常快,用户友好的构建系统,基于 Ninja。Apache2.0.

    编译器

    Clang – 一个基于 LLVM 的 C 的编译器,支持 C11 标准。NCSA.

    CompCert – 一个经过充分验证的 C 编译器。支持几乎所有的 C89 标准。GNU GPL2.1 或更高版本。

    GCC – 在它的编译器集合中提供了 C 编译器。支持 C11 和 OpenMP 的标准。GNU GPL3 或更高版本。

    PCC – 一个值得尊敬的 C 编译器,支持 C99 标准。

    Various licenses,完全免费。

    TCC – 一个迷你,速度快的 C 编译器,支持 C99(除了复杂的类型)。 GNU LGPL2.1加密

    GnuTLS – 一个安全通信库,实现了 SSL,TLS 和 DTLS。GNU GPL2.1 或更高版本。

    libgcrypt – 一个通用的密码库,支持多种加密方法。 GNU LGPL2.1 (代码),GNU GPL2.1 或更高版本(说明书和工具)。

    OpenSSL – 一个 SSL 和 TLS 协议的实现,还包括一个加密库。Dual Licensed under the OpenSSL License and the SSLeay License。

    libsodium – 一个现代,易用的加密库。Expat。

    libtomcrypt – 一个相当全面,模块化和可移植的工具集。公开领域。

    mbed TLS – 一个 C 实现的加密库。Apache2.0。

    数据库

    下面列出了基于 C API 的数据库和数据存储

    BerkeleyDB – 一个高性能的嵌入式键值对数据库。GNU AGPLv3。

    Hiredis – 一个极简的 Redis 客户端。3-clause BSD。

    LMDB – 一个极快,极简的嵌入式键值对数据存储系统。newOpenLDAP。

    MariaDB – 一个强壮,可扩展和可靠的 SQL 服务器,设计来作为 MySQL 的替代品。3-clause BSD。

    mongo-c-driver – 一个高性能的 MongoDB 客户端。Apache2.0.

    PostgreSQL – 一个强大的对象关系数据库系统。PostgreSQL licence。

    recutils – 一个工具和 C 库的集合,用于访问可编辑,纯文本的名为 recfiles 的数据库文件。GNU GPL3 或更高版本。

    Redis – 一个先进的键值对存储系统。3-clause BSD。

    sophia – 一个现代,可嵌入的键值对数据库。FreeBSD。

    SQLite – 一个自包含,无服务器,零配置,支持事务的 SQL 数据库引擎,包括 C 接口。公开领域。

    UnQLite – 一个自包含,无服务器,零配置,支持事务的 NoSQL 数据库引擎,包括 C 接口。FreeBSD。

    文档生成

    Cxref – 生成 C 程序的文档,支持 LaTeX,HTML, RTF 或者 SGML 的格式。GNU GPL2.1

    DocOnce – 一种朴素的标签标记语言,可以用来生成多种格式的文档。3-clause BSD.

    Doxygen – 一个事实上的标准工具,用于从注释的代码中生成 C 文档。能够生成多种格式的文档。GNU GPL2.1。

    GTK-Doc – 一个从注释的代码中生成 C 文档的工具,支持 Autotools GNU GPL2.1(代码), GNU FDL1.1。

    编辑器

    这些是特别精致,IDE 类型的编辑器。

    如果你想要一个程序员的文本编辑器,看别的地方。此外,不管你选择哪一款编辑器,它都支持 C。

    Anjuta DevStudio – GNOME IDE。 GNU GPL2.1。

    Code::Blocks – 一个可扩展,可配置的 IDE,支持 C。GNU GPL3。

    CodeLite – 一个跨平台的 IDE。 GNU GPL2.1。

    Eclipse – 一个用java写成的 IDE。 EPL。

    Geany – 一个很小很快的 IDE。 GNU GPL2.1及更高版本。

    KDevelop – KDE IDE. GNU GPL2.1。

    环境

    下面列出了被设计来引领 Windows 进入支持 C 的 21 世纪的技术。

    Cygwin – 被设计用于在 Windows 下模拟 POSIX 兼容环境。Various licenses, all free。

    MinGW-w64 – 一个 Windows 下极简的 C 开发环境,支持 64 位。Various licenses, all free。

    框架

    这一节包括提供数据结构的大型库和你所期待“现代”的标准库。

    APR – Apache Portable Runtime;另一个跨平台的实用函数库。Apache2.0。

    C Algorithms – 一个常用算法和数据结构的集合。

    CPL – The Common Pipeline Library;一系列详尽,高效和强壮的软件工具包。GNU GPL2.1。

    EFL – 一个大型实用数据结构和函数的的集合。多种许可证,完全免费。

    GLib – 一个便携,高效和强大的实用函数和数据结构库。GNU LGPL2.1。

    GIO – 一个现代和易用的 VFS API。[GNU LGPL2.1]。

    GObject – 一个 C 的面向对象系统和对象模型。GNU LGPL2.1。

    libnih – 一个轻量级的 C 函数和数据结构库。GNU GPL2.1。

    libU – 一个提供基本实用函数的迷你库,包括内存分配,字符串处理和日志功能。

    PBL – 一个包括实用函数,特色数据结构等的大型库。GNU LGPL2.1及更高版本(库),GNU GPL2.1及更高版本(测试代码)。

    qlibc – 一个简单且强大的 C 库,当我们想要小且轻的库时,可作为 Glib 的替代品。qLib license (类似于 FreeBSD).

    stb – 一系列单文件 C 库。公共领域。

    游戏编程

    引擎

    这些作为 C 游戏编程代码的例子。

    Corange – 一个纯 C 的游戏引擎。FreeBSD。

    Darkplaces – 一个 Quake2 引擎的修改版本。GNU GPL2.1。

    ioquake3 – Quake3 引擎,终于免费啦。GNU GPL2.1。

    Orx – 一个便携,轻量级,插件化,数据驱动,面向 2D 的游戏引擎。zlib。

    Quake2 – Quake2 引擎。GNU GPL2.1。

    Spearmint – 一个为 FPS 游戏设计的引擎。GNU GPL3及更高版本。

    资源

    这些是排序过的对游戏编程有用的库。

    Allegro – 一个跨平台,视频游戏开发和多媒体库。zlib。

    Chipmunk2D – 一个快且轻量级的 2D 游戏物理库。Expat。

    CSFML – 一个用 C 封装的 SFML。zlib。

    FreeGLUT – 一个替代性的 OpenGL 实用工具包。

    允许用 OpenGL 上下文创建和管理窗口。X11。

    GLFW – 一个使用 OpenGL 上下文创建窗口的多平台库。zlib。

    libao – 一个有多种输出的跨平台音频库。GNU GPL2.1及更高版本。

    RetroArch – libretro 的参考前端。GNU GPL3。

    SDL – 一个跨平台库,通过 OpenGL 提供音频,键盘,鼠标,操纵杆和图形硬件的底层访问。zlib。

    SDL2- 一个跨平台库,通过 OpenGL 提供音频,键盘,鼠标,操纵杆和图形硬件的底层访问。这是最新版本。zlib。

    通用编程

    klib – 小且轻量级的常用算法和数据结构实现。Expat。

    图像

    Cairo – 一个 2D 图像库。GNU LGPL2.1 或者 MPLv1.1。

    Cogl – 一个 GPU 图像和实用 API。Expat(依赖使用 3-clause BSD 许可,库使用 LGPLv2.1 许可)。

    Clutter – 一个基于 OpenGL 的 UI 库。GNU LGPL2.1。

    heman – 一个迷你图像实用工具库,处理高度图,法线图,距离场等。Expat。

    libcaca – 一个基于终端接口的 ASCII 渲染器。WTFPLv2。

    libimagequant – 小且轻量级的库,用于高质量的从 RGBA 图像到 8 位像素图的转换。FreeBSD。

    libjpeg-turbo – 一个更快的读写 JPEG 文件库。Various licences。

    libpng – 官方 PNG 参考库。libpng license。

    libxmi – 一个光栅化 2D 位图的函数库。GNU GPL3 或更高版本。

    mozjpeg – 一个提升 JPEG 图像质量的编码器。3-clause BSD。

    OpenGL – 一个高性能图像的工业标准,提供了原生 C语言 绑定。Various licenses。

    图像用户接口

    这些具体来说就是控件工具包

    GTK+ – 一个跨平台的控件工具包。GNU LGPL2.1。

    IUP – 另一个跨平台的控件工具包。Expat。

    Tk – 一个基本控件工具包,Tcl/Tk 的一部分。Tcl/Tk License。

    XForms Toolkit – 一个为 XWindow 设计的控件工具包。GNU LGPL2.1。

    JSON

    Jansson – 一个编码,解码和处理 JSON 的 C 库。Expat。

    jsmn – 一个极简的 JSON 解析器。Expat。

    json-c – 一个处理 JSON 的库。Expat。

    WJElement – 高级 JSON 处理库,支持 JSON Schema。任意版本的 LGPL。

    YAJL – 一个很快的 JSON 流解析 C 库。ISC。

    学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料、视频

    相关文章

      网友评论

        本文标题:看完这篇文章的程序员技术提升了300%,建议收藏!(文末福利)

        本文链接:https://www.haomeiwen.com/subject/nhnaiqtx.html