- 论坛徽章:
- 0
|
#include <sys/types.h>\r\n#include <sys/socket.h>\r\n/*##include <sys/socketvar.h>*/\r\n#include <stdio.h>\r\n/*#include \"err_exit.h\"*/\r\n#define data1 \"fine,thanks.\"\r\n#define data2 \"hello,how are you?\"\r\nint main(void)\r\n{\r\n int sockets[2],child;\r\n char buf[1024];\r\n if (socketpair(AF_UNIX,SOCK_STREAM,0,sockets) < 0 )\r\n printf(\"socketpair error!\");\r\n if ((child = fork()) == -1)\r\n printf(\"fork error!\");\r\n if (child != 0)\r\n{\r\n close(sockets[0]);\r\n if (read(sockets[1],buf,sizeof(data1)) < 0)\r\n printf(\"readding socket err!\");\r\n printf(\"parent process %d received request: %s\\n\",getpid(),buf);\r\n if(write(sockets[1],data1,sizeof(data1)) < 0)\r\n printf(\"writing socket err!\");\r\n close(sockets[1]);\r\n}\r\nelse\r\n{\r\n close(sockets[1]);\r\n if (write(sockets[0],data2,sizeof(data1)) < 0)\r\n printf(\" write socket 0 err!\");\r\n if(read(sockets[0],buf,sizeof(buf)) < 0)\r\n printf(\"reading sockets 0 err!\");\r\n printf(\"child proccess %d received answer: %s \\n\",getpid(),buf);\r\nclose(sockets[0]);\r\n}\r\n}\r\n\r\n当执行cc -o sock.exe sock.c时,提示:\r\n# cc -o sock.exe sock.c\r\nundefined first referenced\r\n symbol in file\r\nsocketpair sock.o\r\ni386ld fatal: Symbol referencing errors. No output written to sock.exe\r\n#\r\n请问这是为什么呀?我应怎么改呀 |
|