如何配置UNIX环境高级编程中apue.h头文件的相关设置以适应不同开发需求?

2026-04-03 01:311阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计324个文字,预计阅读时间需要2分钟。

如何配置UNIX环境高级编程中apue.h头文件的相关设置以适应不同开发需求?

访问以下链接获取《UNIX环境编程》源代码下载:- http://jimslinbing.blog.163.com/blog/static/85054319201292712414518/- http://www.apuebook.com下载源代码解压后,进入目录运行Make命令编译。

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

1.到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 "即可。但是不保证能全部执行书上代码。

如何配置UNIX环境高级编程中apue.h头文件的相关设置以适应不同开发需求?
标签:配置

本文共计324个文字,预计阅读时间需要2分钟。

如何配置UNIX环境高级编程中apue.h头文件的相关设置以适应不同开发需求?

访问以下链接获取《UNIX环境编程》源代码下载:- http://jimslinbing.blog.163.com/blog/static/85054319201292712414518/- http://www.apuebook.com下载源代码解压后,进入目录运行Make命令编译。

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

1.到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 "即可。但是不保证能全部执行书上代码。

如何配置UNIX环境高级编程中apue.h头文件的相关设置以适应不同开发需求?
标签:配置