awesome-c

awesome-c

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

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

C语言开源代码工具资源列表Github开源项目

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]

编辑推荐精选

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

下拉加载更多