第二版
參考:https://blog.csdn.net/freeking101/article/details/78184757
1.到www.apuebook.com下載源碼
2.tar解包,cd apue.2e
3.vi Make.defines.linux 修改變量WKDIR,指向你的apue源碼的位置,
我的是/home/huangz/code/apue.2e,所以 WKDIR=/home/huangz/code/apue.2e
4.vi include/apue.h
增加一個常量ARG_MAX,這是threadctl/getenv1.c和threadctl/getenv3.c要用到的;4096這個值是參考裏給的,如果有問題,自己修改吧。
#define ARG_MAX 4096
5.vi threadctl/getenv1.c 增加
#include "apue.h"
6.vi threadctl/getenv3.c 增加
#include "apue.h"
7.vi threads/badexit2.c 修改第31行,將pthread_self()的返回值轉換爲int類型。
printf("thread 2: ID is %d\n", (int)pthread_self());
8.vi std/linux.mk 將兩個nawk改爲gawk
9.make
10.sudo cp include/apue.h /usr/include
sudo cp lib/libapue.a /usr/lib
11. 使用gcc -o hello hello.c libapue.a來編譯你的代碼
備註:下載的源碼中std/conf.c可能被重命名了,是的話改回來。
第三版