zoukankan      html  css  js  c++  java
  • UNIX环境高级编程(第三版)关于apue.h的用法

    UNIX环境高级编程(第三版)中的例子用到apue.h这个头文件,但是书里面写的地址已经不能访问。

    经过一番查找之后,找到如下解决方案:

    1、到www.apuebook.com上下载第2版的源码,也可以直接点这里

    2、下载后的源码,需要修改一下:

        1、Make.defines.linux中第6行WKDIR=/home/sar/apue.2e更改为目录的绝对路径。

        2、apue.2e/ipp/ipp.h中第122行中的status换为Status。(也可换为其他,但要与下面对应)

        3、apue.2e/ipp/printd.h中第977行中的status替换为Status。(与上面对应)

        4、apue.2e/threadctl/getenv1.c和/root/apue.2e/threadctl/getenv3.c中第1行#include <limits.h>更换为#include <linux/limits.h>

    3、在apue.2e目录执行make命令进行编译。如果编译通过,会在apue.2e/lib/目录下生成libapue.a静态链接库文件。

    4、apue.2e/lib/libapue.a拷贝至/usr/local/lib/目录下。

    5、apue.2e/include/apue.h拷贝至/usr/local/include/目录下。

    6、完成,但编译时要加上-lapue指令,例如编译test.c文件,执行:gcc test.c -lapue

    补充说明:程序里面的err_quit,err_sys等等函数在apue.2e/lib/error.c中, error.c 实现apue.h中的出错处理函数。

    当然,如果按照上面的步骤制作了libapue.a库的话,不需要单独包含error.c

  • 相关阅读:
    设计模式01之 简单工厂模式(创建模式)
    UML系列05之 基本流程图
    UML系列04之 UML时序图
    UML系列03之 UML类图(二)
    UML系列02之 UML类图(一)
    LaTex in Markdown
    Ubuntu18.04 下的Gif录制工具
    Python3 与 C# 扩展之~基础衍生
    Python3 与 C# 扩展之~模块专栏
    Python3 与 C# 面向对象之~异常相关
  • 原文地址:https://www.cnblogs.com/litifeng/p/5815413.html
Copyright © 2011-2022 走看看