APUE Source Code - 源代码的编译和使用
一. 编译源代码:
1. APUE的源代码可以从 www.apuebook.com下载
2. 解压 tar -xzvf src.tar.gz 预设解压名称为 apue.2e
3. 阅读readme并修改工作目录,我是ubuntu系统,所以修改Make.defines.linux文件
内容为 WKDIR = /home/leo/apue/apue.2e (根据各自工作路径进行修改)
4. [貌似这步为可选] 进入apue.2e/std目录,编辑linux.mk,修改里面所有的nawk为awk。
5. 在apue.2e目录下运行make命令
6. 错误解决,编译threadctl时会提示“ARG_MAX”未定义,有两种解决方法
方法一: 在usr/include/limits.h里添加 #define ARG_MAX 4096
方法二: 在apue.2e/include/apue.h中添加一行: #define ARG_MAX 4096
打开apue.2e/threadctl/getenv3.c(包括getenv1.c),添加一行: #include "apue.h"
7. 再次编译即可
二. 使用源代码:
1. 获取源代码软连接与位置
leo@leo-Veriton-M275:~/apue/apue.2e$ ls -l fig1.3
lrwxrwxrwx 1 leo leo 10 2011-11-30 17:56 fig1.3 -> file/ls1.c
2. 进入file目录 leo@leo-Veriton-M275:~/apue/apue.2e/file$ ls
3. 运行 leo@leo-Veriton-M275:~/apue/apue.2e/file$ ./ls1 /home/
.
leo
..