UNIX環境高級編程(第三版)關於apue.h的用法


UNIX環境高級編程(第三版)中的例子用到apue.h這個頭文件,但是書里面寫的地址已經不能訪問。

經過一番查找之后,找到如下解決方案:

1、到www.apuebook.com上下載第2版的源碼,也可以直接點這里

2、下載后的源碼,需要修改一下:

    1、Make.defines.linux中第6行WKDIR=/home/sar/apue.2e更改為目錄的絕對路徑。

    2、apue.2e/ipp/ipp.h中第122行中的status換為Status。(也可換為其他,但要與下面對應)

    3、apue.2e/ipp/printd.h中第977行中的status替換為Status。(與上面對應)

    4、apue.2e/threadctl/getenv1.c和/root/apue.2e/threadctl/getenv3.c中第1行#include <limits.h>更換為#include <linux/limits.h>

3、在apue.2e目錄執行make命令進行編譯。如果編譯通過,會在apue.2e/lib/目錄下生成libapue.a靜態鏈接庫文件。

4、apue.2e/lib/libapue.a拷貝至/usr/local/lib/目錄下。

5、apue.2e/include/apue.h拷貝至/usr/local/include/目錄下。

6、完成,但編譯時要加上-lapue指令,例如編譯test.c文件,執行:gcc test.c -lapue

 

補充說明:程序里面的err_quit,err_sys等等函數在apue.2e/lib/error.c中, error.c 實現apue.h中的出錯處理函數。

當然,如果按照上面的步驟制作了libapue.a庫的話,不需要單獨包含error.c


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM