0

以下でws2tcpip.h提供されているバージョンを使用していますgcc 3.4.4cygwin 2.774

InetNtopMicrosoft の の実装である関数を調べていましたが、見つかっinet_ntopた の 2 つのバージョンにws2tcpip.hはその関数が含まれていません。arpa/inet.hgetを含めるinet_ntopと、重複する定義であらゆる種類のひどいことが起こります。

gcc/で提供されるバージョンcygwinにこの機能がない理由はありますか? 定義を持つバージョンを Microsoft から取得する (合法的な?) 方法はありますか?

注: 正しい#defines、#includes、およびリンカー オプションがあることは 100% 確信しています。

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