存档

2008年00月 的存档

留在这 过些时候解决

2008年00月26日 frankyue 没有评论

宏定义还不知道怎么回事,今天接触到select函数,然后碰到几个宏函数(FD_SET,FD_CLR,FD_ISSET),下面就是他的定义 不是很懂先用了再说,放在这,提醒自己去解决

FD_SET 打开类型fd_set的某一位
FD_ZERO初始化fd_set
FD_ISSET测试结构fd_set中的描述字

#define FD_CLR(fd, set) do { \
u_int __i; \
for (__i = 0; __i < ((fd_set FAR *)(set))->;fd_count ; __i++) { \
if (((fd_set FAR *)(set))->;fd_array[__i] == fd) { \
while (__i < ((fd_set FAR *)(set))->;fd_count-1) { \
((fd_set FAR *)(set))->;fd_array[__i] = \
((fd_set FAR *)(set))->;fd_array[__i+1]; \
__i++; \
} \
((fd_set FAR *)(set))->;fd_count–; \
break; \
} \
} \
} while(0)

#define FD_SET(fd, set) do { \
u_int __i; \
for (__i = 0; __i < ((fd_set FAR *)(set))->;fd_count; __i++) { \
if (((fd_set FAR *)(set))->;fd_array[__i] == (fd)) { \
break; \
} \
} \
if (__i == ((fd_set FAR *)(set))->;fd_count) { \
if (((fd_set FAR *)(set))->;fd_count < FD_SETSIZE) { \
((fd_set FAR *)(set))->;fd_array[__i] = (fd); \
((fd_set FAR *)(set))->;fd_count++; \
} \
} \
} while(0)

#define FD_ZERO(set) (((fd_set FAR *)(set))->;fd_count=0)

#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR *)(set))

分类: C, 嵌入式 标签:

上海南站见闻

2008年41月3日 frankyue 2 条评论

     前几天去上海玩了一趟,在火车站那终于把上次没拍成的东西找到了,拍下来看看!

 

上海南站见闻
分类: 游玩 标签: