Mac下配置APUE(UNIX高级环境编程)学习环境

配置学习环境

开始进入学习《UNIX高级环境编程》
刚开始看第一章的第一个程序就遇见了问题

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

    closedir(dp);
    exit(0);
}

其中apue.h头文件是作者自己定义的头文件,我们需要去书中提供的网站上下载需要的源码。http://www.apuebook.com
经Google后发现,下载的源码需要编译,并且把aupe.herror.h两个文件复制到头文件目录下(我放到了/usr/local/include/)

编译

在apue.3e目录下直接输入命令
<pre>make</pre>
编译没有报错就说明没有问题

复制头文件到/usr/local/include

cp ./include/apue.h /usr/local/include/
cp ./lib/error.c /usr/local/include/

apue.h 在apue.3e/include目录下
error.c 在apue.3e/lib目录下

编辑刚刚复制过去的apue.h
<pre>vi /usr/local/include/apue.h</pre>
在最后一行#end if之前插入
<pre>#include "error.c"</pre>

检验

切换目录到apue.3e/intro
编译hello.c
<pre>clang hello.c</pre>
<pre>./a.out</pre>
如果没有报错,就是可以了

推荐阅读更多精彩内容