Skip to content

awesome-c AwesomeList Status

C 好东西的精选列表. 此列表包含 free software 对于代码,以及对物理资源不邪恶的卖家.

寻找维护者:这个列表目前几乎不活跃. 我正在寻找可以让它再次变得伟大的维护者. 看 #26 了解更多信息,但过程很简单:添加或修复此列表中的一些内容,您将成为 850+ 星列表的贡献者.

此列表以前由维护 @kozross . 他决定将列表切换为 new platform,所以我决定分叉它,这样我们就可以将它保存在 GitHub 上.

Contents

Build Systems

这些是用于自动构建和测试 C 项目的工具.

Compilers

Compiler libraries

用于编译器、解释器和低级别项目的库.

Compression

Crypto

Database

这列出了具有 C API 的数据库和数据存储.

Deep Learning

  • Darknet - 用 C 和 CUDA 编写的开源神经网络框架. 它速度快,易于安装,并支持 CPU 和 GPU 计算.

Documentation Generation

Editors

这些是特别高级的 IDE 类型的编辑器. 如果您想要程序员的文本编辑器,请查看其他地方. 此外,无论您做出什么选择,最有可能支持 C.

Embedded Systems

这些项目允许人们使用微控制器和其他资源受限的架构.

RTOS

实时操作系统 (RTOS) 旨在服务于以低延迟延迟处理数据的实时应用程序.

  • Amazon FreeRTOS - 用于微控制器的 RTOS,可使小型低功耗边缘设备易于编程. MIT
  • ChibiOS - 具有完整开发环境(HAL、驱动程序、支持文件和工具)的 RTOS. Various Licenses
  • Contiki - 将低成本、低功耗的微控制器连接到互联网. 3-clause BSD
  • Zephyr Project - 可扩展的实时 RTOS,支持多种硬件架构,针对资源受限的设备进行了优化. Apache 2.0
  • RIOT OS - 实时多线程操作系统,支持物联网中常见的一系列设备. LGPL-2.1

Environments

这是一个技术列表,旨在将 Windows 带入 21 世纪,支持 C.

Frameworks

本节有大型库,提供数据结构和您期望“现代”标准库提供的其他内容.

Game Programming

Engines

这些是作为 C 游戏编程代码的示例提供的.

Resources

这些是对游戏编程有用的各种库.

Generic Programming

  • klib - 通用算法和数据结构的小型轻量级实现. MIT

Graphics

Graphic APIs

  • OpenGL - 行业采用 2D 和 3D 图形 API. 更多资源在 awesome-opengl.
  • OpenGL ES - 业界为移动和嵌入式设备采用了 2D 和 3D 图形 API.
  • OpenGL SC - 需要系统安全认证的行业的图形和计算标准.
  • Vulkan - 用于现代跨平台开发的显式图形和计算 API. 更多资源在 awesome-vulkan.

Graphical User Interface

这些是专门 widget toolkits.

Hashing

所有与哈希相关的库,无论是否加密.

Image Processing

JSON

Learning, Reference and Tutorials

This is a list of resources for learning C programming in general, or something useful relating to C programming.

Online

Reference

Language Standards

Beginner

Intermediate

Advanced

Self-study courses

Physical

Reference

Beginner

Intermediate

Advanced

Macros

  • P99 - 用于实现高级功能的宏套件,例如默认函数参数、范围绑定资源等(需要 C99) Q Public License

Memory Allocators

各种系统和平台的内存分配器的实现.

  • jemalloc - 强调避免碎片和可扩展并发支持的通用 malloc(3) 实现,常用于生产系统. FreeBSD
  • dlmalloc - Doug Lea 的 malloc(3) 实现,可用于学术和研究目的. Public Domain
  • Hoard - 适用于 Linux、Windows、Mac 和 Solaris 的快速、可扩展且内存高效的 Malloc. GNU GPL2
  • nedmalloc - 用 C 编写的极其快速的可移植线程缓存 malloc(3) 实现. GNU GPL2
  • rpmalloc - 跨平台,无锁内存分配器. Public Domain

Multimedia

Networking and Internet

Web Frameworks

  • balde - 基于 GLib 的 C 微框架. GNU LGPLv2.1
  • onion - 用于创建简单 HTTP 服务器和 Web 应用程序的 C 库. Apache 2.0
  • kore - 易于使用、可扩展且安全的 Web 应用程序框架,用于用 C 语言编写 Web API.
  • klone - KLone 是一个功能齐全的多平台 Web 应用程序开发框架.
  • duda - Duda I/O 是一个事件驱动的高性能 Web 服务框架,用 C 语言编写. Apache 2.0

Numerical

Parallel Programming

Parsers

Regex

> “有些人在遇到问题时会想‘我知道,我会使用正则表达式’.现在他们有两个问题.” - 杰米扎温斯基.

  • PCRE - 与 Perl 5 相同的正则表达式的实现. 3-clause BSD
  • regexp4 - 使用自己的语法简单而完整地实现正则表达式. GNU GPL3 or later
  • SLRE - 超轻正则​​表达式库; Perl 正则表达式语法子集的一个非常小的实现. GNU GPL2.1
  • sregex - 非回溯基于 NFA/DFA 的 Perl 兼容正则表达式引擎库. 3-clause BSD
  • TRE - 符合 POSIX 标准、功能齐全的正则表达式库. FreeBSD

Serialization

Source Code Collections

这包含小源代码的集合. 如果您想要大而集成的东西,请查看框架部分.

Standard Libraries

这包含标准 C 库.

String Manipulation

Testing

Text Editor Extensions

虽然几乎任何体面的程序员的文本编辑器都支持 C,但有一些扩展使其更令人愉快. 这是按编辑器分类的.

Atom

Emacs

Vim

Tools

这是一个有用的程序列表,可帮助您编写和调试 C 代码,它们不是编辑器、库或编译器.

Utilities

这是一个“包罗万象”的类别,适用于任何不适合其他地方的东西.

XML

> “XML 是废话.真的.没有任何借口.XML 对人类来说很难解析,即使对计算机来说解析也是一场灾难.没有理由存在这种可怕的废话.” - 莱纳斯·托沃兹