专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 编程

UNIX环境高级编程(其次版)/ APUE 源码编译与使用

发布时间:2011-07-01 07:25:09 文章来源:www.iduyao.cn 采编人员:星星草
UNIX环境高级编程(第二版)/ APUE 源码编译与使用

为了用APUE的源码折腾了一下,网上很多方法都不能用,或者有小问题,特此记录。

 

注意,不同环境的编译提示有所不同,如果你的环境和我的相似,那么应该没问题。

 

环境

 

Linux mypad 2.6.38-ARCH #1 SMP PREEMPT Tue May 3 06:04:40 UTC 2011 i686 Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz GenuineIntel 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 %dn", (int)pthread_self());

 

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

 

9.make

 

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

   sudo cp lib/libapue.a /usr/lib

 

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

gcc main.c -lapue

 

 

参考:http://hi.baidu.com/crazyboymx/blog/item/d3520bde28d79172d0164eb9.html

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: