《UNIX环境高级编程》随书代码的打开方式

本文介绍如何使用grep命令查找《UNIX环境高级编程》一书中示例代码的具体位置,并通过make命令编译和运行这些代码。文章还列举了一些常见错误及其解决办法。

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

         最近在学习<<UNIX环境高级编程>>这本书,这本书里有好多包含代码的例子.自己打代码,太费事了,就从网上下,地址是:http://www.apuebook.com/

         代码下载了,然后看到书上的第1个例子--图1-3,怎么找到对应的代码内.用grep命令.具体方法:1.打开终端(ctrl+alt+T);2打开目录apue.3e(先把压缩包提取了),我的命令为:cd  /home/pangcx/documentation/adwanced_programming_in_unix/apue.3e;3.grep -r 'directory_name' 该命令表示搜索当前及子目录下的包含 directory_name(图1-3的代码中包含的字符串) 的行,-r表示要搜索子目录.这样就可以看到我要找找的代码的位置了.结果显示代码为intro/ls1.c

         找到代码后,怎么运行呢?用make命令.1.在apue.3e目录下,有个systype.sh的文件,右键它->属性->权限->允许作为程序运行文件,这里打上对勾.2.在相应目录下执行make.这里我要运行apue.3e/intro文件夹下的代码,我就打开该目录(在终端上输入cd  /home/pangcx/documentation/adwanced_programming_in_unix/apue.3e/intro),然后输入 sudo make(sudo 是以管理员权限执行该指令).3.这样,就生成了各代码对应的可执行文件(.out文件)4.运行生成的文件.文件目录不用改,按照书中的示例输入 ./ls1 /dev 指令,就看到了应有的结果.

附:我遇到的几种问题及相应方案.

1.错误描述:
make[1]: 正在进入目录 `/home/pangcx/documentation/apue.3e/advio'
./fixup.awk rot13a.c >xlate
/bin/sh: 1: cannot create xlate: Permission denied
make[1]: *** [rot13c2.c] 错误 2
make[1]:正在离开目录 `/home/pangcx/documentation/apue.3e/advio'
make: *** [all] 错误 1

解决方案:
在advio目录下:
$su root
#chmod 777 fixup.awp

2.错误描述:
make[1]: 正在进入目录 `/home/pangcx/documentation/apue.3e/fileio'
make[1]: *** 没有规则可以创建“all”需要的目标“fileflags”。 停止。
错误原因:
'fileflags'文件找不到.由于我的误操作,把它放到了一个文件夹中
解决方案:
把该文件找回来.

3.错误描述:
/usr/bin/ld: cannot find -lbsd
解决方案:
在终端中输入命令:
sudo apt-get install libbsd-dev
参考出处:http://www.bkjia.com/ASPjc/878278.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值