Chinaunix首页 | 论坛 | 博客
  • 博客访问: 159435
  • 博文数量: 27
  • 博客积分: 97
  • 博客等级: 民兵
  • 技术积分: 314
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-19 19:34
个人简介

非攻飞攻,夜尽天明!

文章分类

全部博文(27)

文章存档

2014年(6)

2013年(21)

我的朋友

分类: LINUX

2013-03-06 20:15:36



     

  在下载src.tar.gz源代码的压缩包。

   1、解压至/home/目录下

   2、进入/home/apue.2e ,修改 Make.defines.linux中的WKDIR=/home/xxx/apue.2e,为WKDIR=/home/apue.2e

   3、然后进入apue.2e/std 目录,修改linux.mk,将里面的nawk全部改为awk,可以使用这个命令 :%s/nawk/awk/g

   4.然后把 /home/apue.2e/inlcude 目录下的 apue.h 文件和位于 /home/apue.2e/lib 目录下的 error.c 文件都复制到 /usr/include 目录下

   5. 最终还要编辑一下复制过来的 apue.h 文件 , 在最后一行 #endif 前面添加一行 #include “error.c”

   6.提示ARG_MAX未定义,可以这么修改。
       在apue.2e/include/apue.h中添加一行:
       #define ARG_MAX 4096
       打开apue.2e/threadctl/getenv1.c 和apue.2e/threadctl/getenv3.c,添加一行:
       #include “apue.h”

    7. 改好后make clean再重新make

   8. 打开1-1程序,在#include "apue.h"下面加上一行#include "error.c"


    
     #include "apue.h"
     #include "error.c"
     #include

      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("can't open %s",argv[1]);
           while ((dirp = readdir(dp))!= NULL)
                printf("%s\n",dirp->d_name);
   
          closedir(dp);
          exit(0);
       }

     

阅读(1753) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~