Repolode
tsoding

tsoding/nob.h

单头文件的 C 语言库,用 C 编写构建脚本,只需 C 编译器即可完成构建。

可替代:CMakeGNU Make

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. 1

    从仓库下载单个头文件 nob.h

  2. 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 数据每日更新。

相关项目