当前位置 : 主页 > 网络编程 > 其它编程 >

UNIX环境高级编程apue.h头文件的配置

来源:互联网 收集:自由互联 发布时间:2023-07-02
http:jimslinbing.blog.163.comblogstatic850543192012927124145181.到http:www.apuebook.com下载源码 http://jimslinbing.blog.163.com/blog/static/85054319201292712414518/ 1.到http://www.apuebook.com下载源码2.tar解包cd apue.2e3.vi Make.
http:jimslinbing.blog.163.comblogstatic850543192012927124145181.到http:www.apuebook.com下载源码

http://jimslinbing.blog.163.com/blog/static/85054319201292712414518/

1.到http://www.apuebook.com下载源码2.tar解包cd apue.2e3.vi Make.defines.linux   修改变量WKDIR指向你的apue源码的位置我的是/home/huangz/code/apue.2e所以  WKDIR/home/huangz/code/apue.2e4.vi include/apue.h  增加一个常量ARG_MAX这是threadctl/getenv1.c和threadctl/getenv3.c要用到的4096这个值是参考里给的如果有问题自己修改吧。  #define ARG_MAX 40965.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改为awk,如果是用的vi/vim编辑器可以使用这个命令:$s/nawk/awk/g9.apue.h头文件的#endif前面添加一行 #include "error.c"10.make11.sudo cp include/apue.h      /usr/include   sudo cp apue.2e/lib/error.c /usr/include   sudo cp lib/libapue.a       /usr/lib   好了测试一下记得要用-lapue命令让编译器链接libapue.a库gcc main.c -lapuecc -o threadid threadid.c -lapue -lpthread编译过程出现错误In file included from /usr/include/i386-linux-gnu/bits/time.h:86:0,                 from /usr/include/time.h:42,                 from /usr/include/pthread.h:26,                 from printd.c:11:/usr/include/i386-linux-gnu/bits/timex.h:31:7: 错误 expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘.’ token这是linux的time.h中定义林全局变量status在apue.h/ipp的ipp.h中也定义了改成Status编译出错的时候将相应位置的status改成Status即可再把apue.h/ipp/printd.c中的hp->status 改成hp->Status即可。总结下载了apue.h以后将apue.h放到/usr/include/下在/apue.2e/lib/error.c将error.c复制到/usr/include/下在apue.h的最后一行 #endif前 加一句#include"error.c "即可。但是不保证能全部执行书上代码。

上一篇:找到引爆所有气球所需的最小箭头数量
下一篇:没有了
网友评论