<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>I&#039;m frankyue &#187; 待解决</title>
	<atom:link href="http://frankyue.me/tag/%e5%be%85%e8%a7%a3%e5%86%b3/feed/" rel="self" type="application/rss+xml" />
	<link>http://frankyue.me</link>
	<description>VIIV 535</description>
	<lastBuildDate>Sat, 27 Mar 2010 07:11:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>zh</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>留在这 过些时候解决</title>
		<link>http://frankyue.me/2008/11/%e7%95%99%e5%9c%a8%e8%bf%99-%e8%bf%87%e4%ba%9b%e6%97%b6%e5%80%99%e8%a7%a3%e5%86%b3/</link>
		<comments>http://frankyue.me/2008/11/%e7%95%99%e5%9c%a8%e8%bf%99-%e8%bf%87%e4%ba%9b%e6%97%b6%e5%80%99%e8%a7%a3%e5%86%b3/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 13:00:45 +0000</pubDate>
		<dc:creator>frankyue</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[嵌入式]]></category>
		<category><![CDATA[待解决]]></category>

		<guid isPermaLink="false">http://frankyue.cn/?p=155</guid>
		<description><![CDATA[宏定义还不知道怎么回事，今天接触到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 &#60; ((fd_set FAR *)(set))-&#62;;fd_count ; __i++) { \
if (((fd_set FAR *)(set))-&#62;;fd_array[__i] == fd) { \
while (__i &#60; ((fd_set FAR *)(set))-&#62;;fd_count-1) { \
((fd_set FAR *)(set))-&#62;;fd_array[__i] = \
((fd_set FAR *)(set))-&#62;;fd_array[__i+1]; \
__i++; \
} \
((fd_set FAR *)(set))-&#62;;fd_count&#8211;; \
break; \
} \
} \
} while(0)
#define FD_SET(fd, set) do [...]]]></description>
			<content:encoded><![CDATA[<p>宏定义还不知道怎么回事，今天接触到select函数，然后碰到几个宏函数（FD_SET,FD_CLR,FD_ISSET）,下面就是他的定义 不是很懂先用了再说，放在这，提醒自己去解决</p>
<p><span style="color: #ff0000;">FD_SET 打开类型fd_set的某一位<br />
FD_ZERO初始化fd_set<br />
FD_ISSET测试结构fd_set中的描述字</span></p>
<p>#define FD_CLR(fd, set) do { \<br />
u_int __i; \<br />
for (__i = 0; __i &lt; ((fd_set FAR *)(set))-&gt;;fd_count ; __i++) { \<br />
if (((fd_set FAR *)(set))-&gt;;fd_array[__i] == fd) { \<br />
while (__i &lt; ((fd_set FAR *)(set))-&gt;;fd_count-1) { \<br />
((fd_set FAR *)(set))-&gt;;fd_array[__i] = \<br />
((fd_set FAR *)(set))-&gt;;fd_array[__i+1]; \<br />
__i++; \<br />
} \<br />
((fd_set FAR *)(set))-&gt;;fd_count&#8211;; \<br />
break; \<br />
} \<br />
} \<br />
} while(0)</p>
<p>#define FD_SET(fd, set) do { \<br />
u_int __i; \<br />
for (__i = 0; __i &lt; ((fd_set FAR *)(set))-&gt;;fd_count; __i++) { \<br />
if (((fd_set FAR *)(set))-&gt;;fd_array[__i] == (fd)) { \<br />
break; \<br />
} \<br />
} \<br />
if (__i == ((fd_set FAR *)(set))-&gt;;fd_count) { \<br />
if (((fd_set FAR *)(set))-&gt;;fd_count &lt; FD_SETSIZE) { \<br />
((fd_set FAR *)(set))-&gt;;fd_array[__i] = (fd); \<br />
((fd_set FAR *)(set))-&gt;;fd_count++; \<br />
} \<br />
} \<br />
} while(0)</p>
<p>#define FD_ZERO(set) (((fd_set FAR *)(set))-&gt;;fd_count=0)</p>
<p>#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR *)(set))</p>
]]></content:encoded>
			<wfw:commentRss>http://frankyue.me/2008/11/%e7%95%99%e5%9c%a8%e8%bf%99-%e8%bf%87%e4%ba%9b%e6%97%b6%e5%80%99%e8%a7%a3%e5%86%b3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
