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

C 项目

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

LCUI

第 53 期 Star 3.2k Watch 153 Fork 285 中文
一个使用 C 开发的图形界面开发库。可借助 XML 和 CSS 构建简单的跨平台桌面应用,提供与网页类似的开发体验。因此,你可以使用它轻松做出十分漂亮的界面。与 Electron 不同,它只是一个应用了部分 Web 技术的传统 GUI 开发库
LCUI

baulk

第 53 期 Star 111 Watch 8 Fork 8 中文
一个用 C 编写的极简 Windows 包管理器。易于使用、免安装、不修改系统环境变量,能够和 Windows Terminal 集成、添加到右键菜单。可以说是一个精简版的 Scoop
baulk

libevent

第 54 期 Star 6.7k Watch 481 Fork 2.5k
C 语言实现的轻量级、高性能事件通知库。基于事件驱动,支持多种 I/O 多路复用技术:epoll、poll、select、kqueue 等。libevent 就是这些系统基础库的统一封装,提供更高级的 API 并解决跨平台的问题

raspberry-pi-os

第 52 期 Star 9.4k Watch 481 Fork 809
基于树莓派的操作系统开发教程(还未完结)。你的树莓派在吃灰吗?把它插上电用来学习开发操作系统吧

SimpleKernel

第 52 期 Star 969 Watch 41 Fork 105 中文
一个用来练手的简单内核项目。提供了各个阶段完成度不同的内核,可以选择从自己喜欢的地方开始
SimpleKernel

u6a

第 51 期 Star 35 Watch 3 Fork 7
函数式编程语言 Unlambda 的一个朴素实现,包含字节码编译器和解释器。此项目可以帮助初学者理解函数式编程的思想,并提供了实现函数式编程语言解释器的一些朴素思路。

  • 性能优异:运行性能远高于官方实现,且优于多数现有的开源实现
  • 稳定可靠:有丰富的测试样例支撑,可靠性高
  • 简单朴素:代码简单易读,且提供了实现思路文档,对初学或者完全没有学过编译原理的新手非常友好

goaccess

第 51 期 Star 12.2k Watch 282 Fork 827
实时 Web 日志分析工具
goaccess

switch-lan-play

第 49 期 Star 1.1k Watch 41 Fork 117
让您和您的朋友像在局域网中一样玩 switch 游戏。教程

myscan

第 48 期 Star 33 Watch 2 Fork 10 中文
开源的多线程 socket 扫描 IP 端口的程序。目前仅支持 Windows 系统,代码简单可作为初学者学习项目

命令:
myscan -p Port1[,Port2,Port3...] [-t Thread](default 10) [-d] (DEBUG) StartIp EndIp
例子:
myscan -p 80 192.168.1.1 192.168.1.254
myscan -p 21,22,23,80,443,8080 -t 256 192.168.1.1 192.168.1.254

libhv

第 48 期 Star 791 Watch 37 Fork 164
一个跨平台、简单易用的非阻塞 IO 事件循环库。用它可以快速的编写 HTTP 客户端/服务端,可提供高性能的 httpd 服务。项目模块划分清晰,代码可读性高,快去看下源代码吧。示例代码:

#include "HttpServer.h"

int http_api_echo(HttpRequest* req, HttpResponse* res) {
    res->body = req->body;
    return 0;
}

int main() {
    HttpService service;
    service.base_url = "/v1/api";
    service.AddApi("/echo", HTTP_POST, http_api_echo);

    http_server_t server;
    server.port = 8080;
    server.service = &service;
    http_server_run(&server);
    return 0;
}