UNIX环境高级编程源代码配置

本文档详细介绍了在Linux环境下配置和编译UNIX环境高级编程源代码的步骤,包括下载源码、修改Makefile、增加头文件包含、解决类型转换问题以及安装库文件等操作。

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

声明:本文章转载自:http://blog.sina.com.cn/s/blog_967e337b01011nix.html

Linux环境

Linux localhost.localdomain 2.6.18-238.el5 #1 SMP Sun Dec 19 14:24:47 EST 2010 i686 i686 i386 GNU/Linux

确保你已经安装了gcc和gawk。

步骤

1.到www.apuebook.com下载源码 


2.tar解包,cd apue.2e


3.vi Make.defines.linux   修改变量WKDIR,指向你的apue源码的位置,我的是/home/huangz/code/apue.2e,所以

  WKDIR=/home/huangz/code/apue.2e 


4.vi include/apue.h  增加一个常量ARG_MAX,这是threadctl/getenv1.c和threadctl/getenv3.c要用到的;4096这个值是参考里给的,如果有问题,自己修改吧。

  #define ARG_MAX 4096


5.vi threadctl/getenv1.c   增加

  #include "apue.h" 


6.vi threadctl/getenv3.c   增加

  #include "apue.h"


7.vi threads/badexit2.c   修改第31行,将pthread_self()的返回值转换为int类型。

  printf("thread 2: ID is %d\n", (int)pthread_self()); 


8.vi std/linux.mk   将两个nawk改为gawk


9.将apue.2e/ipp/ipp.h的宏定义:#define status u.sth中的status改成Status;然后将同目录下的printd.c中的977行的i=ntohs(hp->status);中的status改成Status。


10.make 


11.sudo cp include/apue.h /usr/include

   sudo cp lib/libapue.a /usr/lib

好了,测试一下,记得要用-lapue命令让编译器链接apue库

gcc main.c -lapue




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值