unix網絡編程 "apue.h"獲取

1.進入網站http://www.apuebook.com/,找到相應版本的Source Code.linux

2.複製到虛擬機下,解壓。函數

3.將Make.defines.linux文件中的WKDIR換成本身的相應源碼解壓的目錄。WKDIR=/home/xxx/apue.2e --->  WKDIR=/home/user/apue.2e 網站

  進入std目錄,將linux.mk中的全部nawk該爲awkget

4.執行make命令。出現錯誤:源碼

  getenv1.c:4: error: ‘ARG_MAX’ undeclared here (not in a function)虛擬機

5.搜索該錯誤。io

  在apue.2e/include/apue.h中添加一行:
  #define ARG_MAX 4096function

  打開apue.2e/threadctl/getenv3.c(包括getenv1.c),添加一行:
  #include "apue.h"thread

6.不報錯了。awk

7.而後把 /home/yarkee/apue.2e/inlcude 目錄下的 apue.h 文件和位於 /home/yarkee/apue.2e/lib 目錄下的 error.c 文件都複製到 /usr/include 目錄下。 /home/yarkee/apue.2e/lib/libapue.a 複製到 /usr/lib

之因此要這樣作,是由於gcc在連接頭文件時會到 /usr/include 這個目錄下尋找須要的頭文件,若找不到則報錯。

8.在apue.h的#endif前增長#include "error.c",用以支持錯誤函數。

相關文章
相關標籤/搜索