下拉刷新
C 项目

这里是按照「分类」阅读往期的 HelloGitHub 月刊内容, 您目前在查看 HelloGitHub C 项目 集合。

21、
gnucash
Star 3.7k
Vol.100
4 天前

完全开源的财务软件。这是一款适用于个人和小型企业的开源财务软件,它采用复式记账法,提供了简洁的操作界面,并支持生成报表、对账、多国货币,以及获取股票实时价格等功能,适用于 Windows、Linux 和 macOS 平台。

gnucash
Star 1.9w
Vol.99
4 天前

免费的开源视频转码工具。这是一款功能强大、社区驱动的开源视频转码工具,它支持将各种不同格式的视频文件,转换为 MP4 和 MKV 等常见格式。

HandBrake
23、
cmus
Star 5.7k
Vol.98
18 天前

小巧的命令行音乐播放器。这是一个专为类 Unix 系统设计的轻量级命令行音乐播放器,可以播放本地的音乐文件。它简单易用、占用资源少、启动速度快,支持多种音频格式。

cmus
Star 3.2k
Vol.98
7 个月前

轻量级的远程实时 CPU/GPU 分析器。该项目是用于监控 CPU 和 GPU 上多线程活动的工具。它提供了一个 C 文件,可轻松集成到项目中,并配备了一个实时监控 Web 界面,可通过浏览器远程观察和分析程序的性能。适用于监控游戏的实时运行性能和分析移动端应用的性能等场景。

Remotery
Star 3.9k
Vol.97
3 天前

运营商级的开源电话平台。这是一个支持 SIP、WebRTC 等多种通信协议的开源通信框架,它作为一个多用途的软交换机,可以用来创建各种语音和消息服务,比如企业电话系统、虚拟呼叫中心、视频会议服务等。

26、
NetHack
Star 3.1k
Vol.97
3 天前

一款历史悠久的 Roguelike 游戏。这是一款经典的 Roguelike 单机游戏,玩家将扮演一位地下城的探险者去寻找神秘的 Yendor 项链。游戏的界面由 ASCII 字符组成,具有自由度高、难度大、地图随机生成和永久死亡的特点,被玩家称为可以玩一辈子的游戏。

NetHack
Star 1.1w
Vol.97
4 小时前

小而美的物联网操作系统。这是一个由国人发起的开源物联网操作系统,具有优秀的可裁剪性和可扩展性。可以运行在 ARM Cortex-M0 芯片上的极小内核,到中等的 ARM Cortex-M3/4/7 系统,甚至是多核 64 位的 ARM Cortex-A、MIPS32/64 等不同架构的处理器。同时还提供了功能丰富的组件和软件包,可帮助开发者快速构建嵌入式系统产品。

rt-thread
Star 1.9w
Vol.96
4 天前

让 C 成为构建一次,可随处运行的语言。这个工具可以将 C 语言编写的程序,编译成可无缝运行在多种操作系统上的可执行文件。它采用自包含式二进制文件的设计,能够将程序所有依赖打包进可执行文件中,实现真正的跨平台运行,支持 Windows、macOS 和 Linux 等主流操作系统。

// 编译 cosmocc -o hello hello.c // 运行 ./hello // 调试 ./hello --strace ./hello --ftrace
Star 3.9k
Vol.96
8 个月前

一个 C 语言写的命令行编辑库。该项目是 Redis 作者用 C 语言实现的用于提升命令行交互体验的单文件库,整体代码大约 800 多行,轻量且易上手,提供了单/多行编辑模式、左右移动光标、上下回滚输入历史记录、命令补全等功能。

30、
xxHash
Star 9.7k
Vol.96
10 天前

超快的非加密哈希算法。哈希算法是一种将任意长度的输入数据转换为固定长度输出哈希值的算法。xxHash 是一种专为快速计算大型数据集哈希值而设计的非加密哈希算法。它具有出色的速度、零依赖和优秀的分布特性,支持流式计算模式和多种编程语言实现,适用于对计算性能要求很高的数据完整性检查、数据流分析、键值对检索等场景。

#include <string.h> #include "xxhash.h" // Example for a function which hashes a null terminated string with XXH32(). XXH32_hash_t hash_string(const char* string, XXH32_hash_t seed) { // NULL pointers are only valid if the length is zero size_t length = (string == NULL) ? 0 : strlen(string); return XXH32(string, length, seed); }