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

  • 相关阅读:
    聊聊ASP.NET Core默认提供的这个跨平台的服务器——KestrelServer[转]
    java的war包和jar包的区别
    shell编程中的表达式(-d, -f, -L 等)
    nginx 403 forbidden
    docker删除镜像
    TCP的拥塞控制
    文件从暂存区撤销
    charles修改返回结果的4种方法
    LED 正负极区分
    病毒传播模拟游戏制作日志(三)
  • 原文地址:https://www.cnblogs.com/litifeng/p/5815413.html
Copyright © 2011-2022 走看看