0

我正在使用下面ws2tcpip.h提供的版本gcc 3.4.4cygwin 2.774

我正在查找该InetNtop功能,这是 Microsoft 的 实现inet_ntop,但是我发现的两个版本ws2tcpip.h不包含该功能。包括arpa/inet.hgetinet_ntop导致各种可怕的重叠定义发生。

提供gcc/cygwin没有这个功能的版本有什么原因吗?是否有(合法?)方式从 Microsoft 获得具有定义的版本?

注意:我 100% 确定我有正确#define的 s、#includes 和链接器选项

注意:请不要建议使用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

任何人都知道为什么标题是错误的/我在哪里可以获得完整的标题?

4

0 回答 0