下拉刷新
C 项目
分类

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

Star 3.1k
Fork 1.3k

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

Star 2.7k
Fork 449

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

NetHack
Star 9.7k
Fork 4.8k

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

rt-thread
Star 1.5w
Fork 504

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

// 编译 cosmocc -o hello hello.c // 运行 ./hello // 调试 ./hello --strace ./hello --ftrace
Star 3.6k
Fork 648

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

6
xxHash
Star 8.5k
Fork 754

超快的非加密哈希算法。哈希算法是一种将任意长度的输入数据转换为固定长度输出哈希值的算法。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); }
Star 1.1w
Fork 2.2k

一款免费、开源的音频编辑工具。该项目是最受欢迎的开源音频编辑软件之一,它拥有容易上手的界面,提供了音频的编辑和录制功能,支持多语言、录音、多音轨混音以及杂音消除等特性,适用于 Windows、macOS、GNU/Linux 操作系统。

audacity
Star 6.2k
Fork 905

一款开源的磁盘加密软件。该项目是基于知名、已停止维护的 TrueCrypt 开发,修复了已知的许多漏洞和安全问题。经过多年的迭代,VeraCrypt 的功能更加强大。它支持动态加密系统分区、硬件加速、隐藏加密容器、多重认证等功能,适用于 Windows、Linux 和 macOS 平台,提供了跨平台的硬盘加密开源解决方案。

VeraCrypt
9
genann
Star 1.9k
Fork 223

C 语言写的极简神经网络库。这是一个轻量、无依赖、单文件的 C 语言神经网络库,内含丰富的示例和测试。代码简洁易读,适合作为初学者学习神经网络的入门项目。

#include "genann.h" /* Not shown, loading your training and test data. */ double **training_data_input, **training_data_output, **test_data_input; /* New network with 2 inputs, * 1 hidden layer of 3 neurons each, * and 2 outputs. */ genann *ann = genann_init(2, 1, 3, 2); /* Learn on the training set. */ for (i = 0; i < 300; ++i) { for (j = 0; j < 100; ++j) genann_train(ann, training_data_input[j], training_data_output[j], 0.1); } /* Run the network and see what it predicts. */ double const *prediction = genann_run(ann, test_data_input[0]); printf("Output for the first test data point is: %f, %f\n", prediction[0], prediction[1]); genann_free(ann);
10
rsync
Star 2.3k
Fork 289

Linux 远程同步文件的工具。该项目提供了一种快速、增量的文件传输方式,即仅传输有变动的部分,可用于远程同步和备份文件。