一款 JavaScript 模块打包工具,可将大量模块和资源打包成少量产物,并支持代码分割与加载器。
- Star
- 3,329
- Fork
- 215
- 未关闭 Issue
- 85
- 最近提交
- 3天前
这是什么?
nob.h 是一个单文件 C 语言库,用来以 C 代码而非 Make、CMake 或 shell 脚本编写构建流程。其核心理念称为 NoBuild:只需一个 C 编译器就能引导项目的构建系统。先编译一个小型 nob.c 程序,再由它完成项目其余部分的构建。
使用时只需把头文件复制到项目中即可。由于构建逻辑就是普通 C 代码,构建脚本可以直接复用项目自身的代码,项目也能使用为构建编写的辅助函数。项目作者称其仍属实验性质,适合希望构建简单、可移植、不依赖复杂依赖管理的 C 和 C++ 项目。
它更接近用 C 编写 shell 脚本,而不是使用完整的构建生成器,因此需要熟悉 C 语言,并自行实现部分工具函数。同样思路也有 C++、Java、Fortran 等语言的移植版本。
核心功能
- 01以单个头文件形式发布,直接复制到项目中即可使用。
- 02只依赖 C 编译器,无需 make、CMake 或 shell。
- 03构建逻辑用 C 编写,可与项目代码共享。
- 04可在 Linux、macOS、Windows、FreeBSD 等带有 C 编译器的平台上运行。
适用场景
- 在不安装 make 或 CMake 的情况下构建中小型 C/C++ 项目。
- 编写在不同操作系统上行为一致的可移植构建脚本。
- 仅通过一条编译器命令即可引导整个 C 项目的构建。
快速上手
- 1
从仓库下载单个头文件 nob.h
- 2
将 nob.h 复制到你的项目中开始使用;示例见 how_to/ 文件夹
使用前须知
- 作者称其为实验性研究项目,不对其适用性做任何保证。
- 不适合依赖大量 CMake 模块和复杂依赖的项目。
- 编写构建脚本需要熟悉 C 语言并自行实现许多功能。
- 仅适用于 C/C++ 项目。
标签
常见问题
- nob.h 是什么?
- 单头文件的 C 语言库,用 C 编写构建脚本,只需 C 编译器即可完成构建。 nob.h 是一个单文件 C 语言库,用来以 C 代码而非 Make、CMake 或 shell 脚本编写构建流程。其核心理念称为 NoBuild:只需一个 C 编译器就能引导项目的构建系统。先编译一个小型 nob.c 程序,再由它完成项目其余部分的构建。
- nob.h 可以免费使用吗?用的什么许可证?
- nob.h 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- nob.h 还在维护吗?
- 活跃维护中。nob.h 最近一次提交是在 2026年10月18日。
- nob.h 适合用来做什么?
- 在不安装 make 或 CMake 的情况下构建中小型 C/C++ 项目。 编写在不同操作系统上行为一致的可移植构建脚本。 仅通过一条编译器命令即可引导整个 C 项目的构建。
- nob.h 怎么安装和运行?
- 从仓库下载单个头文件 nob.h 将 nob.h 复制到你的项目中开始使用;示例见 how_to/ 文件夹
- 在哪里获取 nob.h?
- 源代码和安装说明在 GitHub 上:https://github.com/tsoding/nob.h
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
6.6万9492JavaScriptMIT更新于 10小时前
一个零配置的 Web 构建工具,无需配置文件即可打包 HTML、CSS、JavaScript 和各类静态资源。
4.4万2318JavaScriptMIT更新于 前天
一款速度极快的 JavaScript、TypeScript、JSX 和 CSS 打包工具,提供 CLI、JS 和 Go 接口。
4万1367GoMIT更新于 2个月前
一个用 Go 编写的跨平台任务运行工具,受 Make 启发,通过 YAML 格式的 Taskfile 进行配置。
1.6万927GoMIT更新于 昨天
一个快速、易用、类 Flask 路由风格的 C++ 微框架,用于构建 HTTP 和 WebSocket 服务。
5009565C++Other更新于 昨天
为 Claude Code、Codex 等编程智能体提供技能、代理、钩子、记忆与安全扫描的统一工作框架。
28.5万4.2万JavaScriptMIT更新于 17小时前