Unix网络编程 卷2 进程间的通信
源码下载地点:http://www.kohala.com/start/unpv22e/unpv22e.html
按README操作,
1. ./configure
2. cd lib && make
gcc -g -O2 -D_REENTRANT -Wall -D_POSIX_PTHREAD_SEMANTICS -c -o daemon_inetd.o daemon_inetd.c
In file included from unpipc.h:7:0,
from daemon_inetd.c:1:
../config.h:56:17: error: duplicate ‘unsigned’
#define uint8_t unsigned char /* <sys/types.h> */
^
../config.h:56:26: error: two or more data types in declaration specifiers
#define uint8_t unsigned char /* <sys/types.h> */
^
../config.h:57:18: error: duplicate ‘unsigned’
#define uint16_t unsigned short /* <sys/types.h> */
^
../config.h:57:27: error: duplicate ‘short’
define uint16_t unsigned short /* <sys/types.h> */
^
../config.h:58:18: error: duplicate ‘unsigned’
#define uint32_t unsigned int /* <sys/types.h> */
^
../config.h:58:27: error: two or more data types in declaration specifiers
#define uint32_t unsigned int /* <sys/types.h> */
^
<builtin>: recipe for target 'daemon_inetd.o' failed
make: *** [daemon_inetd.o] Error 1
解决办法,修改config.h,注释掉相关宏定义
3. cd ../pipe && make
gcc -g -O2 -D_REENTRANT -Wall -c -o pipeconf.o pipeconf.c
gcc -g -O2 -D_REENTRANT -Wall -o pipeconf pipeconf.o ../libunpipc.a -lrt -lpthread
../libunpipc.a(wrapunix.o): In function `Mktemp':
/home/hadoop/unpv22e/lib/wrapunix.c:184: warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'
hadoop@debian:~/unpv22e/pipe$ ls
client.c fifo.h mainpopen.c pipeconf.c server_main.c unpipc.h
client_main.c mainfifo.c Makefile pipeconf.o test1.c
fduplex.c mainpipe.c pipeconf server.c test2.c
hadoop@debian:~/unpv22e/pipe$ ./pipeconf /tmp
PIPE_BUF = 4096, OPEN_MAX = 65536
hadoop@debian:~/unpv22e/pipe$