我正在使用下面ws2tcpip.h
提供的版本gcc 3.4.4
cygwin 2.774
我正在查找该InetNtop
功能,这是 Microsoft 的 实现inet_ntop
,但是我发现的两个版本ws2tcpip.h
不包含该功能。包括arpa/inet.h
getinet_ntop
导致各种可怕的重叠定义发生。
提供gcc
/cygwin
没有这个功能的版本有什么原因吗?是否有(合法?)方式从 Microsoft 获得具有定义的版本?
注意:我 100% 确定我有正确#define
的 s、#include
s 和链接器选项
注意:请不要建议使用WSA*
我非常了解的旧功能。
编辑:
今天做了更多的挖掘,得出的结论是标题必须缺少条目,因为这里是标题的 grep:
asdf@fdsa ~$ grep -i -B 4 -A 2 -R "inet_ntop" /usr/include/
/usr/include/arpa/inet.h-in_addr_t inet_netof (struct in_addr);
/usr/include/arpa/inet.h-in_addr_t inet_network (const char *);
/usr/include/arpa/inet.h-char *inet_ntoa (struct in_addr);
/usr/include/arpa/inet.h-int inet_pton (int, const char *, void *);
/usr/include/arpa/inet.h:const char *inet_ntop (int, const void *, char *, socklen_t);
/usr/include/arpa/inet.h-#endif
/usr/include/arpa/inet.h-
--
/usr/include/cygwin/version.h- 127: Export sigrelese.
/usr/include/cygwin/version.h- 128: Export pselect.
/usr/include/cygwin/version.h- 129: Export mkdtemp.
/usr/include/cygwin/version.h- 130: Export strtoimax, strtoumax, llabs, imaxabs, lldiv, imaxdiv.
/usr/include/cygwin/version.h: 131: Export inet_ntop, inet_pton.
/usr/include/cygwin/version.h- 132: Add GLOB_LIMIT flag to glob.
/usr/include/cygwin/version.h- 133: Export __getline, __getdelim.
asdf@fdsa ~$ grep -i -B 4 -A 2 -R "inetntop" /usr/include/
asdf@fdsa ~$
这是库文件中的字符串:
asdf@fdsa ~$ strings /usr/lib/w32api/libws2_32.a | grep -i 'inet_*ntop'
_inet_ntop@16
__imp__inet_ntop@16
_InetNtopW@16
__imp__InetNtopW@16
inet_ntop
_inet_ntop@16
__imp__inet_ntop@16
InetNtopW
_InetNtopW@16
__imp__InetNtopW@16
任何人都知道为什么标题是错误的/我在哪里可以获得完整的标题?