Linux 系统编程:动手实践入门 ‘Demo’ 程序

发布: (2026年1月14日 GMT+8 18:08)
3 min read

Source: Hacker News

简介

本仓库包含我所著《Linux 系统编程:动手实践》一书中程序的源代码。该书由 No Starch Press 出版,可在亚马逊这里购买:. 你可以在网页上了解更多信息 .
本仓库中的代码可能与书中当前版本的代码不同。若想查看书籍首版的代码,请 checkout firstprinting 分支。

构建程序

有关构建程序的说明,请参见 How To Use This Repository 小节。
有关自书籍最近一次印刷以来对代码所做更改的说明,请查看 CHANGES 文件。

许可

本仓库中提供的所有完整程序均受 GNU 通用公共许可证(第 3 版)保护,许可证副本位于本目录下的 COPYING.gplv3 文件中。
所有库函数的源代码(位于 common/include/ 目录下)受 GNU 较宽通用公共许可证(第 3 版)保护,许可证副本位于本目录下的 COPYING.lgplv3 文件中。

子目录组织

子目录要么以章节命名,形式为 ChapterNN,要么使用诸如 includelibmakefiles 等名称。
ChapterNN 目录包含对应章节中介绍的代码。
其他目录的名称皆为自解释的。

欢迎提出建议、纠正错误、报告 bug 以及其他改进。目前没有 CONTRIBUTING 文件,因为说明相对简单。如果发现需要改进的地方,请创建 issue 并尽可能提供详细信息。请确保你的描述清晰,并包含足够的复现步骤。

如何使用本仓库

每一章节都是一个独立的程序集合。如果章节中有 README 文件,请在进行任何操作前先阅读该文件。所有程序代码都依赖 common 目录中的文件。

要在任意章节中构建程序,请按如下方式设置环境:

# After cloning the repository
cd common
make
make install

make install 会将 make 生成的头文件复制到本仓库的 include 目录,并将静态库 libutils.a 复制到 lib 目录。

随后,切换到你想要构建的章节并在那里运行 make,例如:

cd ../chapter05
make
Back to Blog

相关文章

阅读更多 »

Linux

什么是 Linux?如果你曾经使用过台式电脑或任何类型的计算设备,你已经直接与必须进行通信的软件交互……