apue原始碼使用方法
1. 下載原始碼,並解壓去http://www.apuebook.com/下載原始碼wget http://www.apuebook.com/src.tar.gz -P /usr/local/src
解壓原始碼到指定的路徑:/root/bin,由參數-C指定,解壓會在指定目錄產生apue.2e的目錄
tar zxvf /usr/local/src/src.tar.gz -C /root/bin
2. 修改工作路徑和awk工具名稱
vi /root/bin/apue.2e/Make.defines.linux
將其中的WKDIR改為我們解壓產生的路勁
WKDIR=/root/bin/apue.2e
vi /root/bin/apue.2e/std/linux.mk
將其中的nawk換成gawk
gawk -f makeconf.awk >conf.c
gawk -f makeopt.awk >options.c
3. 編譯產生靜態庫libapue.a
cd /root/bin/apue.2e/lib
make -f linux.mk
如果make的時候報"ARG_MAX"未定義錯誤,那麼修改include目錄下的apue.h檔案,添加一行:#define ARG_MAX 4096
然後修改threadctl/getenv1.c和threadctl/getenv3.c這兩個檔案,添加#include "apue.h".然後再make
4. 拷貝相應的檔案到相應的目錄包括:
靜態庫檔案:libapue.a
標頭檔:apue.h
cp /root/bin/apue.2e/lib/libapue.a /usr/include/
cp /root/bin/apue.2e/include/apue.h /usr/apue/include/
5.這樣就可以在自己敲的代碼中使用#include <apue.h>,編譯的時候需要加上-lapue選項.比如要編譯hello.c:
gcc hello.c -lapue -o hello