Unix 环境高级编程书(第三版)源码编译(apue.3e)

源码地址

作者书本网站下载

Source Code

修改后地址 gitee地址:

https://gitee.com/dongposu/apue3e.git

编译环境

Ubuntu20.0 需要安装 gcc 和make

细节参考链接:这个博客讲的很详细了

https://blog.csdn.net/cxs5534/article/details/109324451

这里做部分解释:

问题一:关于apue.h文件

apue.h这个文件时时作者自己封装的头文件,包括里面有一些自己封装的c文件,如果需要单独运行书中代码片段,需要拷贝相关的文件,或者自己做个动态库

问题二:undefined reference to `major’

这里需要将 #include <sys/types.h> 添加再 apue.h文件中

问题二:error: ‘FILE’ {aka ‘struct _IO_FILE’} has no member named ‘_flag’; did you mean ‘_flags’?

修改文件:stdio/buf.c

_flag 替换成 _flags

_base 替换成 _IO_buf_end

_ptr 替换成 _IO_buf_base

问题三:/usr/bin/ld: 找不到 -lbsd

安装:sudo apt-get install libbsd-dev

问题四:如何执行示例代码

确保编译完成,没有error的情况后,接下来寻找书中的示例代码

书中图片示例的代码,为了方便查找,按照书本代码图片编号,创建了源码软连接都放在了 figlinks目录下,如书中示例代码 1.3对应fig1.3

  

这些文件与真正的源文件建立链接,如:fig1.3->../intro/ls1.c 。因为已经编译过,可以直接执行:./intro/ls1 /etc/

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值