首先是编译生成libapue.a的库文件。按照readme的说法很简单改个目录make一下就好,但是在centos下还是有错。通过下面这篇博文<<UNIX环境高级编程中的apue.h错误>>解决.
然而由于apue的例程的命名均采用fig1.3这种格式,当编译时gcc -o myls fig1.3 liabapue.a时,编译器不认识文件。。。
所以改名成为fig1_3.c这种。但是数量众多,所以写了一小段脚本实现。
1 #!/bin/bash 2 3 for ((i=1;i<=20;i++)) 4 do 5 for ((j=1;j<=50;j++)) 6 do 7 myfile="/home/afu/apue.2e/fig$i.$j" 8 if [ -f "$myfile" ]; 9 then 10 cd /home/afu/apue.2e/ 11 mv fig$i.$j fig$i%_$j.c 12 fi 13 done 14 done
脚本只是实现了改名字的功能。并没有加编译命令。