Project Icon

awesome-c

C语言开源项目精选 从AI到Web框架的全面资源

这个项目汇集了C语言领域的优质开源资源,涵盖AI、编译器、压缩、并发、加密、数据库等多个方向。它提供了丰富的库、工具和学习材料,包括构建系统、调试工具和文档生成器等实用工具。该列表严格筛选纯C项目,不含C++内容,是C语言开发者的重要参考。项目分类详细,涵盖从基础组件到高级应用的各个方面,体现了C语言生态系统的广度和深度。资源保持定期更新,社区活跃度高,欢迎开发者参与贡献,共同完善这个宝贵的C语言资源库。

Awesome C

A curated list of C good stuff. This list contains only [open source][13] code (as defined by the linked Open Source Definition), and sellers who aren't evil for physical resources.

This is released under a Creative Commons-Attribution-ShareAlike license, version 4 (SPDX code CC-BY-SA-4.0). You can find its text in the LICENSE file.

An important note: This project does not index anything C++-related; only pure C stuff is considered.

Note for contributors: If you want to make a pull request, please read CONTRIBUTING.md first.

Contents

AI

Computer vision, neural nets, machine learning, and other similar things. Basically, if your university calls it AI, it lives here.

  • [ccv][195] - C-based/Cached/Core Computer Vision library; modern computer vision. [BSD-3-Clause][BSD-3-Clause]
  • [Cranium][525] - Portable, header-only ANN library in C99. [MIT][MIT]
  • [FANN][325] - Fast Artifical Neural Network library; an implementation of neural networks. [GPL-2.0-only][GPL-2.0-only]
  • [Genann][412] - Simple ANN in C89, without additional dependencies. [Zlib][Zlib]
  • [KANN][327] - Two-file ANN library. [MIT][MIT]
  • [LibDEEP][477] - Deep learning library. [BSD-3-Clause][BSD-3-Clause]
  • [m2cgen][610] - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT][MIT]
  • [sod][611] - An Embedded Computer Vision & Machine Learning Library. [GPL-3.0-only][GPL-3.0-only]

Benchmarking

Comparing the performance of various subsystems across different chip/system architectures.

  • [b63][553] - Light-weight micro-benchmarking tool for C. [Apache-2.0][Apache-2.0]

Build Systems

Tools that automate the building and testing of projects in C.

  • [Autotools][583] - Also known as the GNU build system (automake, autoconf, libtool...) is one of the most widely used build systems (configure && make). [GPL-1.0-or-later][335]
  • [Autotools project skeleton][584] - A simple autotools skeleton (template) to quickly bootstrap new projects. [BSD-2-Clause][BSD-2-Clause]
  • [CMake][329] - Cross-platform family of tools designed to build, package and test software. [BSD-3-Clause][BSD-3-Clause]
  • [GNU Make][324] - Tool which controls the generation of executables and other non-source files of a program. [GPL-3.0-or-later][GPL-3.0-or-later]
  • [Meson][368] - Extremely fast, user-friendly build system. Based on Ninja. [Apache-2.0][Apache-2.0]
  • [Premake][435] - Command-line utility which reads a scripted definition of a software project and uses it to generate project files for Visual Studio and GNU Make. Other targets are also being worked on. [BSD-3-Clause][BSD-3-Clause]
  • [SCons][521] - Software construction tool using Python. [MIT][MIT]
  • [xmake][271] - Cross-platform build utility. [Apache-2.0][Apache-2.0]
  • [zproject][420] - Project generator and build system support tool. [MPL-2.0][MPL-2.0]

Compilers

Compilers, as well as compiler- and compilation-related tooling.

  • [ccache][466] - Compiler cache designed to speed up recompilation. [GPL-3.0-or-later][GPL-3.0-or-later]
  • [Clang][38] - Compiler for LLVM. Supports C11. [NCSA][NCSA]
  • [cproc][574] - A C11 compiler using QBE as a backend. [ISC][ISC]
  • [distcc][452] - Program that allows builds to be distributed among several machines. [GPL-2.0-or-later][GPL-2.0-or-later]
  • [Firm][361] - Library that provides a graph-based intermediate representation, optimizations and assembly code generation suitable for use in compilers. Comes with an example C front-end under the same license. [LGPL-2.1-only][LGPL-2.1-only]
  • [GCC][40] - Provides a C compiler as part of its compiler set. Supports C11. [GPL-3.0-or-later][GPL-3.0-or-later]
  • [PCC][74] - Venerable compiler. Supports C99. [Various licenses][75], all open source.

Compression

  • [blosc][445] - Extremely fast, multi-threaded, meta-compressor library. Various licenses, all open source.
  • [Brotli][24] - General-purpose lossless compression algorithm library. Has speeds comparable to DEFLATE, but much higher compression ratios. [MIT][MIT].
  • [clzip][432] - C version of the high-quality data compressor [Lzip][433] (LZMA implementation). [GPL-2.0-or-later][GPL-2.0-or-later]
  • [CRoaring][481] - C implementation of [Roaring bitmaps][482]. [Apache-2.0][Apache-2.0]
  • [FiniteStateEntropy][2] - Two highly efficient compression codecs optimized for modern CPUs. [BSD-2-Clause][BSD-2-Clause]
  • [DENSITY][506] - Super-fast compression library. [BSD-3-Clause][BSD-3-Clause]
  • [heatshrink][514] - Data compression/decompression library for embedded and real-time systems. [ISC][ISC]
  • [fast_zlib][533] - Improved zlib, which runs 2 to 10 times faster. [BSD-3-Clause][BSD-3-Clause]
  • [fastLZ][586] - Lightning-fast lossless compression library (LZ77 type). Embbedable on small target like ARM Cortex-M families. Source code directly embbedable on your project ( a pair of h/c files), no dynamic memory allocation. [MIT][MIT]
  • [huffandpuff][214] - Minimal Huffman encoder and decoder. Public domain.
  • [libzip][587] - C library for reading, creating and modifying zip archives. [BSD-3-Clause][BSD-3-Clause]
  • [libbzip2][427] - Patent-free, high-quality data compression library. [BSD-4-Clause][BSD-4-Clause]
  • [Lizard][489] - Formerly LZ5; an efficient compressor with fast decompression. Achieves compression ratios comparable with zip and zlib at decompression speeds of 1000MB/s and faster. [BSD-2-Clause][BSD-2-Clause]
  • [lz4][508] - Library for an extremely fast compression algorithm. [BSD-2-Clause][BSD-2-Clause]
  • [lzo][338] - Fast data compression library. [GPL-2.0-or-later][GPL-2.0-or-later]
  • [pixz][49] - Parallel, indexed xz compressor. [BSD-2-Clause][BSD-2-Clause]
  • [shoco][363] - Compressor for small text strings. [MIT][MIT]
  • [SIMDComp][519] - Simple library for compressing lists of integers using binary packing. Makes use of SIMD instructions on x86. [BSD-3-Clause][BSD-3-Clause]
  • [smaz][364] - Efficient string compression library. [BSD-3-Clause][BSD-3-Clause]
  • [squash][393] - Compression abstraction library, complete with some utilities. [MIT][MIT]
  • [TurboPFor][471] - Fastest integer compression. [GPL-2.0-or-later][GPL-2.0-or-later]
  • [TurboRLE][484] - Most efficient run-length encoding. [GPL-2.0-or-later][GPL-2.0-or-later]
  • [zip][520] - Really really small zip archive processing library. [Unlicense][Unlicense]
  • [Zlib][230] - Massively spiffy yet delicately unobtrusive compression library. [BSD-3-Clause][BSD-3-Clause]
  • [libarchive][548] - libarchive is a portable, efficient C library that can read and write streaming archives in a variety of formats. [BSD-3-Clause][BSD-3-Clause]
  • [zlib-ng][1] - Zlib replacement with optimizations for 'next-generation' systems. [BSD-3-Clause][BSD-3-Clause]
  • [Zstandard][510] - Fast, lossless compression algorithm, targeting real-time compression scenarios at zlib-level or better compression ratios. [BSD-3-Clause][BSD-3-Clause]

Concurrency and Parallelism

  • [cchan][243] - Small library for channel constructs for inter-thread communication. Public domain.
  • [checkedthreads][465] - A simple library for parallelism, with built-in checking for race conditions. [BSD-2-Clause][BSD-2-Clause]
  • [ck][242] - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD-2-Clause][BSD-2-Clause]
  • [FCFS RWLock][540] - First-come first-served Readers/Writers lock for POSIX threads. [CC0-1.0][CC0-1.0]
  • [Libaco][599] - A blazing fast and lightweight C asymmetric coroutine library. [Apache-2.0][Apache-2.0]
  • [libconcurrent][390] - Concurrent programming library, using coroutines, for C11. [BSD-3-Clause][BSD-3-Clause]
  • [libcsp][572] - High performance concurrency C library influenced by the CSP model. [MIT][MIT]
  • [libdill][442] - Library which makes structured concurrent programming easy. [MIT][MIT]
  • [libhl][478] - Library implementing a thread-safe API to manage a range of data structures. Also provides some supporting functions and structures for concurrent and lockfree programming. [LGPL-3.0-only][LGPL-3.0-only]
  • [liburcu][474] - Data synchronization library, which scales linearly with the number of cores. [LGPL-2.1-or-later][LGPL-2.1-or-later]
  • [mill][352] - Go-style concurrency. [MIT][MIT]
  • [oclkit][311] - Two-file OpenCL wrapper. [GPL-3.0-or-later][GPL-3.0-or-later]
  • [OCL-MLA][312] - OpenCL Mid-Level Abstractions. [BSD-3-Clause][BSD-3-Clause]
  • [OpenMP][37] - Set of pragmas designed to allow for easy parallelization of code. Standard (licensing not applicable).
  • [Open MPI][284] - Message passing interface implementation. [BSD-3-Clause][BSD-3-Clause]
  • [pal][459] - Optimized library for maths, parallel processing and data movement. [Apache-2.0][Apache-2.0]
  • [pth][180] - Portable implementation for non-preemptive priority-based scheduling for multiple threads of execution. [GPL-3.0-or-later][GPL-3.0-or-later]
  • [pthreads][146] - POSIX thread library. Standard (no license applicable).
  • [TinyCThread][115] - Portable, small implementation of the C11 threads API. [Zlib][Zlib]

Crypto

Mostly library implementations of well-known cryptographic algorithms or protocols.

  • [GNU SASL][160] - Implementation of the Simple Authentication and Security Layer and a few common SASL mechanism. [GPL-3.0-or-later][GPL-3.0-or-later]
  • [GnuTLS][112] - Secure communication library, implementing SSL, TLS and DTLS. [LGPL-2.1-or-later][LGPL-2.1-or-later]
  • [libgcrypt][142] - General-purpose cryptography library, with a range of available ciphers. [LGPL-2.1-or-later][LGPL-2.1-or-later]
  • [OpenSSL][110] - Implementation of the SSL and TLS protocols. Also includes a cryptography library. [Dual Licensed under the OpenSSL License and the SSLeay License][111].
  • [liboqs][493] - Library for quantum-resistant cryptographicl algorithms. [MIT][MIT]
  • [libsodium][198] - Modern and easy-to-use crypto library. [MIT][MIT]
  • [libtomcrypt][299] - Fairly comprehensive, modular and portable cryptographic toolkit. Public domain.
  • [mbed TLS][291] - Another crypto implementation. [Apache-2.0][Apache-2.0]
  • [MIRACL][480] - Multiprecision Integer and Rational Arithmetic Cryptographic Library; an SDK for elliptic curve cryptography. [AGPL-3.0-or-later][AGPL-3.0-or-later]
  • [retter][507] - Collection of hash functions, ciphers, tools, libraries and materials related to cryptography and security. Public domain.
  • [s2n][359] - C99 implementation of the TLS/SSL protocols, designed to be simple, fast and with security as a priority. [Apache-2.0][Apache-2.0]
  • [sphlib][526] - Set of implementations of various hash functions, including several cryptographic ones. [MIT][MIT]
  • [trezor-crypto][485] - Heavily optimized crypto algorithms for embedded devices. [MIT][MIT]
  • [bfish][598] - A single include ANSI-C Blowfish ECB crypto library. Public domain.

Database

Databases and data stores with C APIs.

  • [BerkeleyDB][380] - Library for a high-performance embedded database for key-value data. [AGPL-3.0-only][AGPL-3.0-only]
  • [DuckDB][702] - Fast in-process analytical database, with C API. [MIT][MIT]
  • [EJDB2][568] - Embeddable JSON Database engine. [MIT][MIT]
  • [Groonga][524] - Columnar store with full-text search. [LGPL-2.1-only][LGPL-2.1-only]
  • [Hiredis][201] - Minimalistic client library for Redis. [BSD-3-Clause][BSD-3-Clause]
  • [libmongoc][233] - High-performance client library for [MongoDB][234]. [Apache-2.0][Apache-2.0]
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号