本帖最后由 ChianXu 于 2011-06-01 17:17 编辑
各位大虾,我用的是centos,
最近学习unix网络编程,书中的例子,无论是哪个,我编译的时候都遇到如下问题:
错误:expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘{’ token
这个问题指的是在main()后面的那个“{”,我不明白,为什么会提示少了那些符号呢?
以下是一个程序实例:
#include "unp.h"
#include
by ChianXu - 内核源码 - 2011-06-02 09:58:07 阅读(2418) 回复(5)
第一章 简介 socket返回一个小整数描述字,在connect和read时用它来标示这个套接口. 通用套接口地址的结构:sockaddr, 而ipv4套接口地址结构sockaddr_in,所以每次调用connect时,第二个参数总是要做一下强制类型转换: (struct sockaddr *) &server_addr 从TCP套接口读数据时,总是把read编码在某个循环中,当read返回0(远端关闭连接)或负值(出错了)时才终止循环. 每当一个unix函数发生错误时,全局变量errno将被设置成一个指示错误类型...
在《unix网络编程(第一卷)》的代码中都有一个著者自定义的头文件“unp.h”,但是我在编译时老是会出错,会说找不到“#include "../config.h"”文件。 请问能不能不用那个头文件?使用什么头文件呢?
在《unix网络编程(第一卷)》的代码中都有一个著者自定义的头文件“unp.h”,但是我在编译时老是会出错,会说找不到“#include "../config.h"”文件。 请问能不能不用那个头文件?使用什么头文件呢?
《unix网络编程》STEVENS的书第一卷的daytimetcpcli.c调试的问题,我在LINUX下调试 按照他的"read me"上的步骤 进行到 [root@localhost libfree]# cd ../libroute [root@localhost libroute]# make 时出现问题 gcc -I../lib -g -O2 -D_REENTRANT -Wall -c -o get_rtaddrs.o get_rtaddrs.c In file included from get_rtaddrs.c:1: unproute.h:3:61: net/if_dl.h: 没有那个文件或目录 get_rtaddrs.c: In function `get_rtaddrs': ...
书中的这个函数是用来控制connect超时的,我在AIX上试了可以,在指定的超时时间后alarm将会起作用,但是linux(redhat)上却不行,不知哪位高手能指点一二 [code] /* include connect_timeo */ #include "unp.h" static void connect_alarm(int); int connect_timeo(int sockfd, const SA *saptr, socklen_t salen, int nsec) { Sigfunc *sigfunc; int n; sigfunc = Signal(SIGALRM, connect_alarm); if (alarm(nsec) != 0) ...
我在编译lib库的时候遇到 “....unp.h:114:redefinitionof 'struct in_pktinfo...... ' 不知什么原因,还往那位老大指点一二,不胜感激!
我在编译lib库的时候遇到\r\n\r\n“....unp.h:114:redefinitionof \'struct in_pktinfo...... \' \r\n\r\n不知什么原因,还往那位老大指点一二,不胜感激!