最近因為工作需要,需要在linux平台上程式設計,所以想看看《unix環境高階程式設計》,但是裡面的例子在我的電腦裡編譯都通不過(我的是fedora 8,通不過是顯而易見,因為在這些程式裡作者自定義了很多自己的標頭檔案等等),經過上網查了些資料,編譯環境已經基本配置好(參考過小刀聽雨、vampire的部落格),寫這篇博文的主要用意是防止自己以後忘記了,再在網上查詢,這樣很浪費時間,所以自己就以部落格的形式記錄下來。也希望能給那些遇到同樣問題的初學者一點捷徑,快點進入學習核心知識中去,不要在這些配置上花費大量的時間。我的配置步驟如下:
2. 我儲存到了/home/von/linuxpro下.解壓縮:tar -xzvf src.tar.gz(我
的普通使用者為:von)
3.cd apue.2e進入apue.2e目錄,修改make.defines.linux再make
vi make.defines.linux 修改wkdir=/root/apue.2e 就是說工作目錄為
wkdir=/root/apue.2e,
我的修改為:
wkdir=/home/von/linuxpro/apue.2e
4.進入apue.2e/std/linux.mk把全部的nawk改為awk.因些linux預設沒有nawk,可以使用
:%s/nawk/awk/g (在底行命令列輸入,注意冒號)
5.在apue.2e下面:make
然後:6.啟動乙個終端,進入root使用者,再進入#cd /usr/include;
7.將/home/von/linuxpro/apue.2e/include/apue.h拷到第6步的目錄下:
命令為:cp /home/von/linuxpro/apue.2e/include/apue.h .(注意有. 表示拷到當前目錄下)
再將/home/von/linuxpro/apue.2e/lib/error.c拷到第6步的目錄下:
命令為:cp /home/von/linuxpro/apue.2e/lib/error.c .(同上)
8. 編輯apue.h
#vi apue.h
在最後一行 #endif
前面新增一行 #include "error.c"
:wq 儲存,退出.
ok 完成!
找個例子編譯:隨機編譯乙個fig3.2檔案:
出現錯誤:"fig3.2: file not recognized: file format not recognized
collect2: ld returned 1 exit status"
解決辦法:將fig3.2換成原始檔。
unix環境高階程式設計
unix 日曆時間 自1970 年1 月1 日00 00 00 以來的國際標準時間 utc 程序時間 cpu 時間 時鐘時間 程序執行時間的總量。使用者cpu 時間 執行使用者指令時間量。系統cpu 時間 執行核心所經歷時間。命令 time 第三章至第七章 原子操作 任何乙個要求多於1 個函式呼叫的...
unix環境高階程式設計
檔案描述符file descriptor通常是乙個小的非負整數,核心用以標識乙個特定程序正在訪問的檔案。當核心開啟乙個現有檔案或建立乙個新檔案時,它都返回乙個檔案描述符。在讀寫檔案時,可以私用這個檔案描述符。按管理,每當執行乙個新程式時,所有的shell都為其開啟了3個標準檔案描述符 標準輸入,標準...
UNIX環境高階程式設計
本書是被譽為unix程式設計 聖經 的advanced programming in the unix environment一書的更新版。在本書第1版出版後的十幾年中,unix行業已經有了巨大的變化,特別是影響unix程式設計介面的有關標準變化很大。本書在保持了前一版風格的基礎上,根據最新的標準對...