关于unix网络编程第一卷书中程序的问题
本帖最后由 ChianXu 于 2011-06-01 17:17 编辑
各位大虾,我用的是centos,
最近学习unix网络编程,书中的例子,无论是哪个,我编译的时候都遇到如下问题:
错误:expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘{’ token
这个问题指的是在main()后面的那个“{”,我不明白,为什么会提示少了那些符号呢?
以下是一个程序实例:
#include "unp.h"
#include <time.h>
int
main(int argc, char *argv[])
{
int listenfd, connfd;
struct sockaddr_in servaddr;
char buff[MAXLINE];
time_t ticks;
listenfd = Socket(AF_INET, SOCK_STREAM, 0);
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(13); /* daytime server */
Bind(listenfd, (SA *) &servaddr, sizeof(servaddr));
Listen(listenfd, LISTENQ);
for ( ; ; ) {
connfd = Accept(listenfd, (SA *) NULL, NULL);
ticks = time(NULL);
snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&ticks));
Write(connfd, buff, strlen(buff));
Close(connfd);
}
}
gcc -o daytimetcpsrv daytimetcpsrv.c
显示错误:daytimetcpsrc.c:5: 错误:expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘{’ token..
求救阿
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
自己顶下,希望别沉了。
我给你移动到内核源码区吧
回复 1# ChianXu
记得这里面的 Socket,Close 都是基于系统调用 socket、close 封装出来的。
你这里仅仅引用头文件可以吗,你看一下作者的源代码,这些函数以什么形式提供给你,是不是需要连接一些库文件?
那个只是作者一个封装,把判断出错语句都封起来了。
包含在那个头文件了,我查看了。
不懂的是为什么会出现少了那个东西,难道是那个头文件有问题,我编译每个程序都是那样。
后面我就些了一个很简单的程序,顺便把那个头文件加进去,结果还是显示和上面一样的错误,如果去掉那个头文件,则程序编译通过。所以我想应该是上面那个头文件有问题,但是我找不出头文件错在哪?<unp.h>。。。好像就我遇到这个问题。
这个问题基本上可以肯定是《unp.h》文件中的错误。你可以把这个文件的、内容贴上来,帮你分析一下。。