Logo

#C语言

Logo of Mojoc
Mojoc
Mojoc是一个开源的跨平台C语言游戏引擎,使用OpenGLES3,当前支持IOS和Android。其核心理念是简化复杂概念,使其更为简洁高效。无需第三方库,仅依赖标准C库,并采用独特的面向对象C编程模型。Mojoc适合学习和理解C语言编程,提供组件化架构、状态机和消息驱动机制。未来将支持Vulkan、Metal和D3D等图形模块,并计划推出游戏编辑器和自定义脚本语言。
Logo of acwj
acwj
acwj是一个开源项目,记录了构建C语言子集自编译编译器的完整过程。项目详细介绍了从词法分析到代码生成的各个步骤,涵盖变量、函数、指针等C语言特性的实现。它还包括ARM和6809等不同目标平台的后端开发。acwj提供了理论解释和实践指导,是学习编译原理和实现编译器的有价值参考资源。
Logo of base64
base64
这是一个C99实现的Base64流式编解码库,支持多种SIMD指令集和OpenMP加速。库提供简单的字符串编解码函数,注重性能、易用性和代码优雅。在x86平台上,库会进行运行时特性检测,自动选择最优编解码方案,显著提升性能。支持AVX2、AVX512、NEON等多种SIMD指令集,适用于不同架构的处理器。
Logo of chsrc
chsrc
chsrc是一款跨平台命令行换源工具,支持Linux、Windows、macOS等主流操作系统和多种CPU架构,包括国产龙芯、飞腾等。采用C99开发,无额外依赖,轻量高效。可为操作系统、编程语言和常用软件快速切换镜像源,还提供灵活的换源框架方便扩展。作为开源项目,采用GPL-3.0-or-later许可证发布,设计理念强调轻量简洁,避免引入大型解释器。用户可轻松自定义新的换源方案。
Logo of OOP-in-C
OOP-in-C
OOP-in-C项目展示了C语言中实现面向对象编程的核心概念:封装、继承和多态。项目提供代码示例、视频教程和PDF文档,适用于桌面和嵌入式系统开发。支持跨平台编译,为开发者学习和应用C语言OOP技术提供了实用资源。
Logo of tensor
tensor
该项目用C语言实现了一个简单的1D浮点张量库,功能类似PyTorch的Tensor和NumPy的ndarray。库支持高效切片操作,并提供Python接口。通过展示张量对象如何管理Storage和View来实现高效内存利用,帮助开发者理解底层张量操作原理。项目还演示了如何将C代码封装为Python模块,并使用pytest进行测试。
Logo of ffi-convert-rs
ffi-convert-rs
ffi-convert-rs 是一个开源项目,提供函数、特征和数据结构等工具,用于简化 Rust 和 C 兼容数据结构间的转换。该项目旨在提升跨语言开发效率,适用于 Rust 和 C 交互的场景。ffi-convert-rs 适用于嵌入式系统开发、系统级编程等需要 Rust 和 C 语言协同工作的领域,能够显著提高开发效率和代码可维护性。由 Sonos 公司开源,具有完善的文档,采用 Apache 2.0 和 MIT 双重许可。项目欢迎开发者参与贡献,持续改进其功能和性能。
Logo of C
C
The Algorithms - C是一个开源C语言算法实现集合,涵盖计算机科学、数学、统计学和数据科学等领域。项目提供详细文档,使用标准C库实现,无外部依赖,适合教学和学习。严格遵循C11标准保证可移植性,通过自检和持续集成确保正确性。模块化设计便于开发者在其他项目中应用这些算法实现。该项目为教育者和学生提供了宝贵的学习资源,包含多种算法策略和优化方法的实现。代码经过严格测试,在主流操作系统上编译运行,确保了高质量和可靠性。开源许可允许自由使用和修改,有助于促进算法学习和应用。
Logo of llm.c
llm.c
llm.c是一个使用纯C和CUDA实现的高效轻量级语言模型训练框架。该项目不依赖PyTorch或cPython等大型框架,通过简洁代码实现GPT-2和GPT-3系列模型的预训练。llm.c支持单GPU、多GPU和多节点训练,提供详细教程和实验示例。项目在保持代码可读性的同时追求高性能,适用于教育和实际应用。此外,llm.c支持多种硬件平台,并有多个编程语言的移植版本。
Logo of llama2.c
llama2.c
llama2.c是一个用纯C语言实现的Llama 2模型推理引擎,仅需700行代码即可运行PyTorch训练的模型。项目设计简洁易用,提供从训练到推理的完整方案,支持Meta官方和自定义小型Llama 2模型。通过模型量化技术,llama2.c能够提升推理速度并缩小模型体积,为轻量级大语言模型部署提供了高效解决方案。
Logo of miniaudio
miniaudio
miniaudio是一个C语言编写的单文件音频库,无外部依赖,支持主流桌面和移动平台。它提供简洁灵活的API,包含低级和高级接口,实现声音管理、混音、音效和3D空间化。该库还包括节点图系统、资源管理、音频编解码、重采样和通道映射等功能,适用于各种音频开发需求。
Logo of awesome-c
awesome-c
这个项目汇集了C语言领域的优质开源资源,涵盖AI、编译器、压缩、并发、加密、数据库等多个方向。它提供了丰富的库、工具和学习材料,包括构建系统、调试工具和文档生成器等实用工具。该列表严格筛选纯C项目,不含C++内容,是C语言开发者的重要参考。项目分类详细,涵盖从基础组件到高级应用的各个方面,体现了C语言生态系统的广度和深度。资源保持定期更新,社区活跃度高,欢迎开发者参与贡献,共同完善这个宝贵的C语言资源库。
Logo of smolar
smolar
smolar是一个开源的C语言多维数组库,类似numpy但更轻量,仅包含一个文件。目前支持float类型的N维数组,实现了创建、初始化、遍历和广播等基本功能。该项目探索多维数组实现原理,适用于学习和教育目的。未来计划扩展数组操作、支持更多数据类型,并引入并行计算提升性能。
Logo of The-C-20-Masterclass-Source-Code
The-C-20-Masterclass-Source-Code
此项目是一个C++20新标准的教程源代码仓库,提供了学习现代C++编程的资源。仓库包含C++20新特性和改进的代码示例,有助于开发者掌握最新的C++编程技巧。项目内容适合不同水平的C++程序员,为学习C++语言的最新发展提供了实用的参考资料。
Logo of crun
crun
crun是一个用C语言编写的OCI容器运行时,具有高性能和低内存占用特点。它完全符合OCI规范,可作为库轻松集成到其他项目中。与Go语言实现的runc相比,crun在性能和资源利用率方面表现更佳,能在更严格的内存限制下运行容器。crun支持静态编译,并提供Lua绑定,适合需要高效容器管理的应用场景。