下拉刷新
C 项目
分类

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

Star 1.5w
Fork 497

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

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

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

3
xxHash
Star 8.4k
Fork 749

超快的非加密哈希算法。哈希算法是一种将任意长度的输入数据转换为固定长度输出哈希值的算法。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 899

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

VeraCrypt
6
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);
7
rsync
Star 2.3k
Fork 283

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

Star 4k
Fork 86

将"Activate Windows"水印移植到 Linux 系统。这是一个可以在桌面系统的右下角,显示“激活 Linux” 字样的小工具,就是图一乐。

activate-linux
9
kew
Star 429
Fork 15

一款 C 语言写的命令行音乐播放器。适用于 Linux 系统的命令行音乐播放器,支持搜索音乐、播放列表、专辑封面等功能。

kew
10
barrier
Star 2.6w
Fork 1.4k

一套键盘鼠标控制多台电脑的工具。该项目通过模拟 KVM 切换器功能,实现多台电脑、不同操作系统,共享一套键盘鼠标,让工作流程更加高效。它安装简单使用方便,无需复杂的配置,支持自定义热键、多种操作系统、可视化操作界面等功能。

barrier