※ 引述《somi (SoMiMi FaReRe)》之銘言:
@@此版本適用於系上的Debian Linux
@@首先設定proxy server以免出國太慢time out,也可以不設定
[b89098]/home/student/89/b89098$ setenv ftp_proxy proxy.ntu.edu.tw:3128
如果是bash shell請用export ftp_proxy=proxy.ntu.edu.tw:3128
使用wget抓取檔案,其他像是ncftpget...都可以用法請自己man wget
[b89098]/home/student/89/b89098$ \(請不要換行打到底)
wget ftp://ftp.uu.net/published/books/stevens.advprog.tar.Z
@@用tar把檔案解開,參數(unZip,eXtract,Verbose,Filename)
@@詳細用法參照man tar
[b89098]/home/student/89/b89098$ tar zxvf stevens.advprog.tar.Z
[b89098]/home/student/89/b89098$ cd apue/
@@可以先打開 readme來看看,我事先看過了
@@第一步:
@@因為Linux是屬於Svr4系列的UNIX,所以
[b89098]/home/student/89/b89098/apue$ cp Make.def.svr4 Make.defines
請用習慣的文字編輯器(joe,pico...)來編輯Make.defines,我用的是vim,
[b89098]/home/student/89/b89098/apue$ vim Make.defines
@@把路徑改成自己放檔案的地方,可以用pwd來得到目前工作目錄
#Original LDFLAGS=/home/stevens/libmisc.a
LDFLAGS=/home/student/89/b89098/libmisc.a
...<deleted>...
# Original: LIB = /home/stevens/libmisc.a
LIB = /home/student/89/b89098/libmisc.a
[b89098]/home/student/89/b89098/apue$ cd lib.svr4
@@開啟sterror.c把char* sys_errlist[];註解掉
[b89098]/home/student/89/b89098/apue/lib.svr4$ vim strerror.c
@由於sys_errlist與stdio.h中的宣告不同 所以發生矛盾
//extern char *sys_errlist[];
[b89098]/home/student/89/b89098/apue/lib.svr4$ make svr4
@@看看有編出libmisc.a這個檔案(在apue/下)就代表成功了
@@沒有error就代表成功了
ls -l ../libmisc.a
-rw-rw-r-- 1 b89098 student 43528 Mar 4 19:02 ../libmisc.a
make[1]: Leaving directory `/mnt/89/b89098/apue/lib.svr4'
@@好了,回上一層
[b89098]/home/student/89/b89098/apue/lib.svr4$ cd ..
@@來編個檔案測試看看
[b89098]/home/student/89/b89098/apue$ cd file/
@@看看有哪些source file,像access.c
[b89098]/home/student/89/b89098/apue/file$ make access
cc ../libmisc.a access.c ../libmisc.a -o access
[b89098]/home/student/89/b89098/apue/file$ ./access /
read access OK
open for reading OK
成功
※ 編輯: somi 來自: 127.0.0.1 (03/04 20:41)
※ 編輯: somi 來自: 127.0.0.1 (03/04 20:44)
※ 編輯: somi 來自: 127.0.0.1 (03/04 20:45)