扫一扫
关注 HG 公众号
发现更多开源乐趣

C 项目

兴趣是最好的老师,HelloGitHub 就是帮你找到编程的兴趣。

DungeonRush

第 48 期 Star 973 Watch 22 Fork 136
元气贪吃蛇游戏。作者受到元气骑士的启发,基于贪吃蛇进行一些玩法上的创新。该项目适用于 C 语言初学者、第一次尝试使用跨平台图形库的同学,参考本项目就可以写出一个可玩性高的游戏,收获满满成就感
DungeonRush

freebsd

第 46 期 Star 5.3k Watch 508 Fork 2.0k
FreeBSD 操作系统源码仓库。快拉住我,我有点飘了竟然敢点开操作系统看源码 😅

xmake

第 45 期 Star 3.0k Watch 111 Fork 320 中文
一个基于 Lua 的轻量级跨平台自动构建工具。支持在各种主流平台上构建项目,主要用于解决 C/C++ 项目的跨平台构建,同时支持与其他语言的混合编译。工程配置语法简单易读,对初学者友好、上手方便

add_requires("libuv master", "ffmpeg", "zlib 1.20.*", "tbox >1.6.1")
target("test")
    set_kind("shared")
    add_files("src/*.c")
    add_packages("libuv", "ffmpeg", "tbox", "zlib")

xmake

smartdns

第 45 期 Star 3.0k Watch 109 Fork 537 中文
一个运行在本地的 DNS 服务器。能够提高网络访问速度等诸多妙用,架构图如下:
smartdns

scrcpy

第 44 期 Star 37.9k Watch 834 Fork 3.8k 中文
一款可以用电脑显示并控制 Android 手机的开源工具。连接方便使用方便,手机无需 root、无需安装任何应用。支持 USB、Wi-Fi 两种方式连接,支持 Windows、macOS、Linux 三种操作系统。注意电脑端需要安装 adb 工具
scrcpy

tmux

第 43 期 Star 19.0k Watch 433 Fork 1.3k
一个终端复用工具,可极大的提高工作效率。

  • 提供了强劲的、易于使用的命令行界面
  • 可横向和纵向分割窗口
  • 窗格可以自由移动和调整大小,或直接利用四个预设布局之一
  • 可在多个缓冲区进行复制和粘贴
  • 可通过交互式菜单来选择窗口、会话及客户端
  • 等等

tmux

linq4c

第 42 期 Star 28 Watch 1 Fork 5
如果你想在 C 中使用隔壁 C# 的 linq 方法,那么不妨来使用这个项目!这是它的 C 语言版。实现了 linq 的大部分方法(60+)。现在它还在不断完善中,欢迎更多的小伙伴加入共同维护

bool WhereCallback(void *item) {
    char *str= (char *)item;
    return str[0] == 'h';
}

void *SelectCallback(void *item) {
    return newStr("%s_1", (char *)item);
}

char *str1 = "huang", *str2 = "hai", *str3 = "feng";

ArrayList array = arrlist_new();
arrlist_append(array, str1);
arrlist_append(array, str2);
arrlist_append(array, str3);

Linq *lq = From(array);
ArrayList result = 
    lq
    ->Where(lq, WhereCallback)
    ->Select(lq, SelectCallback)
    ->ToArray(lq);

for(int i = 0; i < arrlist_size(result); i++) {
    printf("%s\n", arrlist_get(result, i));
}

linq4c

TDengine

第 40 期 Star 13.8k Watch 682 Fork 3.5k 中文
一个专门针对物联网等行业以及应用监控进行设计优化的大数据平台。它的数据库插入、查询操作比其它的数据库快了 10 倍!消耗的成本也非常低,和其他典型的此类解决方案相比。TDengine 只需要不到 1/5 的计算资源,它还提供了 Java、C/C++、Python、Go、RESTful API 等用于开发的接口。还在为数据的写入、读取、计算的性能发愁吗?有了它相信你的头发存活率会大大提高

SuperWeChatPC

第 40 期 Star 3.3k Watch 182 Fork 871 中文
这是一个超级微信电脑客户端。没错,是超级!因为它不仅是一个微信电脑客户端,还支持以下功能:

  • 无限多开
  • 消息防撤销
  • 语音消息备份
  • 等等
项目里还有相关技术内幕的文章链接,快前去学习吧

json-tutorial

第 33 期 Star 3.7k Watch 214 Fork 2.4k 中文
Milo Yip发起的用 C 从零开始编写 JSON 库教程。大纲:

  1. 启程:编译环境、JSON 简介、测试驱动、解析器主要函数及各数据结构。
  2. 解析数字:JSON number 的语法
  3. 解析字符串:使用 union 存储 variant、自动扩展的堆栈、JSON string 的语法、valgrind
  4. Unicode:Unicode 和 UTF-8 的基本知识、JSON string 的 unicode 处理
  5. 解析数组:JSON array 的语法
  6. 解析对象:JSON object 的语法、重构 string 解析函数
  7. 生成器:JSON 生成过程、注意事项。练习完成 JSON 生成器
  8. 访问与其他功能:JSON array/object 的访问及修改