1.进入APUE,找到对应的apue版本,比如我使用apue第二版本,进入 apue第二版-source-here下载得到源码文件 src.2e.tar.gz。并将源码文件负责到linux环境上
2.切换root, 执行 tar -zxvf src.2e.tar.gz 解压得到 apue.2e 文件,进入apue.2e文件夹,修改apue.h文件: 将apue.h文件中的文末最后一个#endif前面加上#include “error.c” 后保存文件!
3. 复制apue.h 和error.c到 /usr/include/
cp ./apue.2e/include/apue.h /usr/include/
cp ./apue.2e/lib/error.c /usr/include/
4.编辑并保存apue的第一个文件myls:
#include "apue.h"
#include <dirent.h>
int
main(int argc, char *argv[])
{
DIR *dp;
struct dirent *dirp;
if(argc<2)
err_quit("usage: ls directory_name");
if((dp = opendir(argv[1]))==NULL)
err_sys("cant open %s",argv[1]);
while((dirp = readdir(dp))!=NULL)
printf("%s\n", dirp->d_name);
closedir(dp);
exit(0);
}
5.参考下图编译并执行myls: