上APUE快大半学期了,弄了一份源码自己研究研究,在linux下决心编译使用一下 ^_^
1. 解压缩后,放在/Root/SourceCode目录下
cp -f Make.def.rhlin Make.defines
2. cd lib.rhlin
3. 修改该目录下的Makefile,把第17行的目标文件strerror.o去掉,把58行redhat60linux到行首的空格去掉;
4. make redhat60linux
在目录/Root/SourceCode中编译生成了库文件libmisc.a
5. 拷贝此文件到/Root/mylib中
cp -v ./libmisc.a ../mylib
6. 在目录/Root/SourceCode修改Make.defines中的11行和19行的路径指定库文件libmisc.a的位置
本例子中指定它们的路径为/Root/mylib/libmisc.a
7.在各章的目录中make就可以生成相应的可执行文件。
若想单独编译某一个单独的文件,如ls1.c则可以执行
gclearcase/" target="_blank" >cc -ggdb -Wall -Wstrict-prototypes -O ls1.c /root/mylib/libmisc.a -o ls1
大概的思路是libmisc.a库文件是ourhead.h中函数的说明,要想使用这个库,就要在程序中引入。
Make.defines定义了各个章节目录下的Makefile文件需要定义的变量,每个Makefile都要include此Make.defines