这个宏的用法很死板,就是这样
if(FD_ISSET(...)){
...
}
因为我这样用了就判断失灵
if(!FD_ISSET(...)){
...
}
//或者
bool flag=FD_ISSET(...);
应该是宏展开的问题吧.浪费了好长时间了,select总是返回1,害的我用上了netstat各种排查,最后万万没想到祸根在FD_ISSET...
本文探讨了在使用FD_ISSET宏时遇到的一个常见问题,即宏的死板用法导致的判断失灵现象。作者通过自身经历揭示了不当使用FD_ISSET可能导致的程序错误,并分享了解决这一问题的方法。
这个宏的用法很死板,就是这样
if(FD_ISSET(...)){
...
}
因为我这样用了就判断失灵
if(!FD_ISSET(...)){
...
}
//或者
bool flag=FD_ISSET(...);
应该是宏展开的问题吧.浪费了好长时间了,select总是返回1,害的我用上了netstat各种排查,最后万万没想到祸根在FD_ISSET...

被折叠的 条评论
为什么被折叠?