Linux 系统编程:动手实践入门 ‘Demo’ 程序
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,要么使用诸如 include、lib、makefiles 等名称。
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