• 在OS X 10.11 中使用 "apue.h" (3rd Edition)


    在苹果 OS X 10.11 El Capitan 中使用《UNIX环境高级编程--第三版》中提供的头文件 apue.h 。

    make apue.3e


    这里我买的是第三版的书,和第二版不同,不用改工作路径等信息。正如在readme中说到的,在OS X上进入目录直接make即可。

    修改apue.h


    我们需要在apue.h的最后部分的

    #endif /* _APUE_H */
    

    前面加上一句:

    #include "error.c"
    

    最终是这样的:

    apue_h

    关于/usr/include/


    首先在OS X中,直接打开目录 /usr/include/,会发现系统找不到目录,解决方法是安装 command line tools,如果你安装了Xcode,可以在Xcode中进行安装,但是Xcode那么大,下载起来很麻烦的,我们可以采用这个方法:

    直接在终端中执行

    xcode-select --install
    

    成功安装之后就可以看到这个目录了:
    ls

    无权限修改/usr/include/


    我们在make之后,就要把 apue.3e/include/ 中的 apue.hapue.3e/lib/ 中的 error.c 拷贝到 /usr/include/ 目录中,但是会发现在OS X 10.11 中是 Permission Denied

    是因为OS X 在 El Capitan 中开启了一个叫 SIP 的操作系统保护机制,对于高级的OS X 使用者来说,这个功能是可以关闭的。

    解决方案: 重启 Command + R, 进入终端输入

    csrutil disable
    

    再开机之后就可以进行复制的操作了:

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

    结束


    经过上面的操作之后,成功编译书中的第一个例子程序:

    gcc

    搞定!

  • 相关阅读:
    递归算法转换为非递归算法的技巧
    22. 平面列表
    14. 二分查找
    那点人生小智慧
    9. Fizz Buzz 问题
    8. 旋转字符串
    6. 合并排序数组:
    归并排序
    远方的她
    微服务体系下如何快速构建一个服务
  • 原文地址:https://www.cnblogs.com/guoyunzhe/p/6277720.html
Copyright © 2020-2023  润新知