首页 > 编程语言 >UNIX环境高级编程 第三版 源代码编译及使用

UNIX环境高级编程 第三版 源代码编译及使用

时间:2023-04-18 10:34:22浏览次数:53  
标签:源代码 ib01 x86 第三版 UNIX 64 include apue

UNIX环境高级编程(第3版)中的代码示例多次包含了一下头文件:

#include "apue.h"
搜索发现原来这个头文件是作者自定义的一个文件,并在官网提供了源代码供下载。 下载之后解压该文件:
tar -zxf src.3e.tar.gz
进入文件夹并编译:
cd apue.3e
make
等待结束,如果没有报错就成功了。(如果报错误:undefined reference to `heapsort',按照文章最后的解决方案可以解决。) 把apue.h 与 libapue.a 放入到对应的目录中:
cp ./include/apue.h /usr/include/
cp ./lib/libapue.a /usr/local/lib/
qpue.h是所有函数的声明以及宏定义,gcc在搜索头文件的时候默认会去搜索/usr/include/中的文件。 libapue.a是apue.h头文件中包含的所有函数及宏定义的具体实现,是一个静态链接库,gcc在搜索链接库的时候默认会去搜索/usr/local/lib/中的文件。 至此,编译环境就配置成功,可以直接编译书中源代码。  
  • barrier.c:(.text+0x80): undefined reference to `heapsort'
出现该错误是因为heapsort在CentOS 7下没有相关的库,在网上搜索发现这个函数和libbsd-devel相关,按照下面步骤下载资源后:
yum install -y https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libmd-1.0.4-2.el7.x86_64.rpm
yum install -y https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libmd-devel-1.0.4-2.el7.x86_64.rpm
yum install -y https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libbsd-0.11.7-2.el7.x86_64.rpm
yum install -y https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libbsd-devel-0.11.7-2.el7.x86_64.rpm
下载完资源后,再次make,这次能成功了。

标签:源代码,ib01,x86,第三版,UNIX,64,include,apue
From: https://www.cnblogs.com/chien/p/17328691.html

相关文章

  • 如何将之前编辑的文章HTML源代码导入到TinyMCE编辑器中
    如果你想用TinyMCE来修改你之前写的文章那么你需要将源代码放到TinyMCE中,如果服务器把HTML源码发给我们可是我们应该怎样调用?方法为使用 tinymce.activeEditor.setContent()这个函数具体用法为:tinymce.activeEditor.setContent()//设置TinyMCE编辑器里的内容源代码tin......
  • [apue] 一图读懂 Unix 时间日期例程相互关系
    概览 开门见山先上图界定一些术语,方便后面说明:GMT:格林威治平均时,太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间为中午12点,1972年之前使用的国际标准时间,因地球在它的椭圆轨道里的运动速度不均匀,这个时刻可能和实际的太阳时相差16分钟。UTC:国际标准时间,相当......
  • NumPy 初学者指南中文第三版:11~14
    十一、玩转Pygame本章适用于希望使用NumPy和Pygame快速轻松创建游戏的开发人员。基本的游戏开发经验会有所帮助,但这不是必需的。您将学到的东西如下:pygame基础matplotlib集成表面像素数组人工智能动画OpenGLPygamePygame是Python框架,最初由PeteShinners编写,顾名思义......
  • Lab util: Unix utilities
    Bootxv6启动xv6:makeqemu打印进程信息:ctrl-p退出:ctrl-axsleep在user下创建编写sleep.c,修改Makefilepingpong在user下创建编写pingpong.c,修改Makefile#include"kernel/types.h"#include"user/user.h"intmain(intargc,char*argv[]){charbuf[1......
  • 直播平台源代码,图片放大浏览功能
    直播平台源代码,图片放大浏览功能HTML <view><view><blockv-for="(item,index)infen"><view><image@click="previewImage(index)":src="item.picture"mode=""></image></view></block><......
  • 《深入理解计算机系统第三版》第三章家庭作业参考答案
    简述最近看docker和k8s的底层实现原理,严重感觉自己对底层的知识了解不足,于是开始业余时间深入看一些底层书籍,就找了本据说是理解整个计算机体系的入门书-《深入理解计算机系统》.直接买的最新的第三版,从第三章开始看的,第二章接下来有心情再看(看了几眼全是如何手算进制间计算之类......
  • uva 11082 A Plug for UNIX
     #include<iostream>#include<vector>#include<map>#include<queue>#include<cstring>usingnamespacestd;constintN=1e4+2,M=5e5;intn1,n2,n3,len;map<string,int>mp;map<int,int>A,B;constintin......
  • ahooks 源代码学习(一)
    无论人生上到哪一层台阶,阶下有人在仰望你,阶上亦有人在俯视你。你抬头自卑,低头自得,唯有平视,才能看见真正的自己。ahooks好久之前就知道,但是几乎不怎么使用,最近正在尝试使用一些,而且也对其中的一些简单的hooks的原理感兴趣,下面记录几个吧1.第一个当然是最简单的(由浅入深)useTo......
  • 低代码平台源代码交付的重要性,别再傻傻被骗了……
    一、前言作为这两年IT界的风口,低代码在众人眼里已经不是什么陌生的概念。对标于传统的纯代码开发,低代码是一种快速开发软件(应用程序)的方法,平台通过对大量功能与场景做提前封装,使得用户可以在可视化的基础上,通过拖拉拽就能完成开发,手动编码非常少。这种可视化的开发大大方便了开......
  • 深度学习检测不准确智能电表:一个案例研究 python源代码
    深度学习检测不准确智能电表:一个案例研究python源代码,代码按照高水平文章复现,保证正确根据用电情况检测出故障的智能电表,并针对其进行更换,可以节省大量的资源。为此,我们开发了一种基于长短期记忆(long-termmemory,LSTM)和改进的卷积神经网络(convolutionalneuralnetwork,......