UNIX高级环境编程:源码(apue)下载 编译和运行
发布时间:2020-12-15 16:44:37 所属栏目:安全 来源:网络整理
导读:整体上和unpv差不多,参见我的另一篇博文unpv13e 1.源码下载 最简单的方式:(wget工具实在太好用) wget http://www.apuebook.com/src.3e.tar.gz 2.解压查看目录结构 sunxiaowu@sunxiaowu:~/Downloads/apue/apue.3e$ diradvio figlinks lib printer standar
整体上和unpv差不多,参见我的另一篇博文unpv13e 1.源码下载最简单的方式:(wget工具实在太好用) wget http://www.apuebook.com/src.3e.tar.gz 2.解压查看目录结构sunxiaowu@sunxiaowu:~/Downloads/apue/apue.3e$ dir advio figlinks lib printer standards daemons filedir Make.defines.freebsd proc stdio datafiles fileio Make.defines.linux pty systype.sh db include Make.defines.macos README termios DISCLAIMER intro Make.defines.solaris relation threadctl environ ipc1 Makefile signals threads exercises ipc2 Make.libapue.inc socketsvim README Read the file called DISCLAIMER. On Freebsd,type "gmake". On other platforms,type "make" (as long as this is gnu make). For FAQs,updated source code,and the lost chapter,see http://www.apuebook.com. Please direct questions,suggestions,and bug reports to sar@apuebook.com. Steve Rago January 2013 3.编译make timeout.c:119:5: warning: ‘condition’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (condition) {
^
timeout.c:125:34: warning: ‘arg’ may be used uninitialized in this function [-Wmaybe-uninitialized]
timeout(&when,retry,(void *)((unsigned long)arg));
^
make[1]: Leaving directory `/home/sunxiaowu/Downloads/apue/apue.3e/threadctl'
making threads
make[1]: Entering directory `/home/sunxiaowu/Downloads/apue/apue.3e/threads'
gcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE badexit2.c -o badexit2 -L../lib -lapue -pthread -lrt -lbsd
/usr/bin/ld: cannot find -lbsd
collect2: error: ld returned 1 exit status
make[1]: *** [badexit2] Error 1
make[1]: Leaving directory `/home/sunxiaowu/Downloads/apue/apue.3e/threads'
make: *** [all] Error 1
大部分编译通过,但最后出现以上错误,可以看出threads模块下的badexit2.c文件编译失败。原因是操作系统的限制,我的使用ubunu14.04,要想编译这个文件,需要在bsd下(还有些模块编译不通过,大部分都是这个原因,有兴趣的读者可以在其他操作系统下试试) 4.运行sunxiaowu@sunxiaowu:~/Downloads/apue/apue.3e$ cd intro/ sunxiaowu@sunxiaowu:~/Downloads/apue/apue.3e/intro$ dir getcputc hello.c Makefile shell1 shell2.c uidgid getcputc.c ls1 mycat shell1.c testerror uidgid.c hello ls1.c mycat.c shell2 testerror.c sunxiaowu@sunxiaowu:~/Downloads/apue/apue.3e/intro$ ./hello hello world from process ID 9793 sunxiaowu@sunxiaowu:~/Downloads/apue/apue.3e/intro$ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angularjs – Angular:在一个Service中有多个函数
- bash – 变量乘法
- 【AngularJS: Up & Running】第05章_AngularJS服务揭秘
- 对于Angular2项目,我如何连接从typescript生成的所有JavaSc
- bootstrap checkswwwhj8828com13094399995
- Vue Cli与BootStrap结合实现表格分页功能
- WebService小记
- .NET Core中使用Redis与Memcached的序列化问题详析
- redis学习(一) redis的介绍与安装
- 数组 – 如何更有效地合并Angular应用程序中的REST调用结果
推荐文章
站长推荐
热点阅读