《unix环境高级编程》 第二版 源码编译方法 ——RHEL 5

来源:互联网 发布:苹果电脑性能测评软件 编辑:程序博客网 时间:2024/06/05 16:20

从网上查到:

 

UNIX环境高级(这里使用的是版本的)每个历程中,都会有这样一行
#include "apue.h"
    这个头文件是作者把把每个例中常用的标准头文件,一些常用的出错处理函数(err_**()之类的函数)和一些常用的宏定义给整理在一个头文件中。这个可以省去在每个例中录入较多的重复代码,这样可以减少每个例的长度。给读者带来了不少麻烦。下面给出一种代码的编译方法。


1、解压文件到apue.2e目录
2、修改相应平台的文件,我使用的是linux,所以修改Make.defines.linux
你修改的只需要这一行WKDIR=/home/your_dir/apue2e_src/apue.2e,改成自己的目录路径
3、cd到apue.2e目录执行make,之后你会在lib目录下面找到libapue.a这个文件.
现在,你可以把它拷贝到你能寻找的地方,在编写例子的时候,你就可以

4、拷贝apue2e_src/apue.2e/include/apue.h和apue2e_src/apue.2e/lib/libapue.a

到你的代码目录。

5、使用gcc -o hello hello.c libapue.a来编译你的代码

 

——————————————————————————————

照着做,然后make一下,最后报错,大概原因是找不到nawk命令。貌似linux下没有这命令。查到这命令出现在apue.2e/std/linux.mk文件中,试着把nawk换成gawk,再make clean一下,重新make,编译通过了。

我使用下面命令编译源程序:

  gcc -o myls ls1.c -I../include ../lib/libapue.a

——————————————————————————————

gawk命令:

gawkGNU awk)工具是一种模式扫描和处理语言,它搜索一个或多个文件,以查看这些文件中是否存在匹配指定模式的记录(通常是文本)。每次发现时,它通过执行动作的方式处理文本。使用gawk可以生成报告或者过滤文本,gawk的很多结构来自C语言。

Gawk工具是UNIX awkGNU版。为了方便起见,很多linux系统将/bin/awk链接到/bin/gawk,这样用户可以使用两者中的任何一个来运行程序。

 

原创粉丝点击