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]

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

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

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

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

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

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多