我使用的解释脚本语言不支持系统包含文件。
我需要许多Winsock #defines的数字。 对于大多数人来说,我只需搜索文件并得到如下答案:
#define AF_INET6 23
但对于FIONBIO,我看到了
#define FIONBIO _IOW('f', 126, u_long)
查找_IOW显示
#define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
我找到了一些相关内容:
#define IOCPARM_MASK 0x7f
#define IOC_IN 0x80000000
但是当我试图弄清楚实际上是什么时,我在转弯的某个地方迷路了。
谁能告诉我FIONBIO应该是多少? 我确实找到了一个随便提到的帖子,在某些UNIX版本中有:
#define FIONBIO := 0x5421
我似乎无法使Windows Winsock定义变成那个数字,我不确定它是否应该在任何情况下相同。
有人可以告诉我答案吗?或者我是否必须下载一些Windows开发环境并编写一个C程序来打印出值? :)
答案 0 :(得分:4)
#include <winsock.h>
int main()
{
printf("FIONBIO is size %u with value %u (0x%x)\n",
sizeof(FIONBIO), FIONBIO, FIONBIO);
}
给出输出;
FIONBIO is size 4 with value 2147772030 (0x8004667e)