UNIX环境高级编程--准备(apue.h)

博主学习UNIX下高级编程,搭建编程环境遇问题后解决。网上大多针对第二版头文件搭建,第三版make文件有变化。介绍了具体搭建过程,包括下载源码、解压、编译、添加静态链接库、安装文件等,最后还给出了测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


转载别人文章,博文出处:
https://blog.youkuaiyun.com/freestyle4568/article/details/39269129
本菜刚刚学习UNIX下高级编程,无奈搭建本书编程环境时遇到不少问题。幸好网上有各种大神的解决办法让我最终解决了问题。在这里感谢为LINUX开源操作系统奋斗的大神。

不过话说回来,网上大都是针对UNIX高级编程第二版的头文件搭建,现在对于第三版来说,有些过时,因为很对针对linux的make文件已经改变了很多。

话不多说,下面就来看看具体的搭建过程:(本人用的操作系统是Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-105-generic x86_64))

  • 1.在网上下载书中源代码,下载链接:点我打开链接
  • 2.解压文件:tar -zxvf *.tar.gz

  • 3.cd apue.3e/

  • 4.make

在过程中,你会看到最后由于can,t find -lbsd而不能make成功,解决办法是添加libbsd.a的静态链接库

sudo apt-get install libbsd-dev
  • 5.make(again)
  • 6.在编译成功的基础上,我们进行安装apue.h文件及其对应的静态链接库libapue.a
sudo cp ./include/apue.h /usr/include/
sudo cp ./lib/libapue.a /usr/local/lib/

为什么要将libapue.a移到/usr/local/lib中呢?原因是libapue.a是apue.h头文件中包含的所有函数及宏定义的具体实现,是一个静态链接库。
查看ld.conf.d/libc.conf你会发现gcc在搜索链接库的时候默认会去搜索/usr/local/lib/中的文件,所以我们将其放在这里,一劳永逸。。。。(不过自己要知道哦)

  • 7.以上环境搭建成功了,下面是测试。

  • 8.gcc _myls.c -o myls -lapue (libapue.a在这里要写成apue,具体的gcc使用规则可以man一下)
    列出一个目录中所有文件


谢谢大家!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值