您的位置:首页 > 编程语言

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

2015-12-08 22:28 543 查看
最近在学习<<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: