前言
因为要上高级操作系统与网络编程,用的教材是《UNIX环境高级编程(第三版)》,所以在这里记录一下源码及编译过程。
源码地址
http://www.apuebook.com/
这里可以下到各个版本的源码。
环境配置
系统:Ubuntu16.04
- 源码下载之后,进行解压:
tar -zxvf src.3e.tar.gz
,得到一个文件夹。 - 安装依赖库
sudo apt-get install libbsd-dev
- 进入刚才解压的文件夹,命令行下输入
make
- 复制make出来的头文件及静态库
sudo cp ./include/apue.h /usr/include/ sudo cp ./lib/libapue.a /usr/local/lib/ sudo cp ./lib/libapue.a /usr/lib/
- 创建头文件
aupeerror.h
并将其复制到系统的头文件去#include "apue.h" #include <errno.h> /* for definition of errno */ #include <stdarg.h> /* ISO C variable aruments */ static void err_doit(int, int, const char *, va_list); /* * Nonfatal error related to a system call. * Print a message and return. */ void err_ret(const char *fmt, ...) { va_list ap; va_start(ap, fmt); err_doit(1