winsock.h中的函数在哪个库中声明?

时间:2018-08-12 13:43:58

标签: c

好吧,我正在winsock.h的库中浏览以查找函数,但是除了声明外,我什么也没找到。 我只是在寻找inet_addr函数来查看您的块如何工作

啊!并且您一定会以为这个疯子不知道WSAStartup启动winsock DLL ...是的,但这是否意味着功能在那里?

2 个答案:

答案 0 :(得分:2)

这些功能驻留在ws2_32.dll中。如果您查看这些功能的文档,例如WSAStartup在“要求”部分,它将告诉您需要链接到ws2_32.lib文件,并且还需要ws2_32.dll文件。

答案 1 :(得分:2)

如果您想了解它的工作原理,那么Winsock会让您大吃一惊。源代码不可用。您可以拆卸ws2_32.dll,但这很繁琐,并且很难分辨出什么行为是契约行为,什么是偶然的行为。

相反,我建议您通读开源C库中的等效功能;例如inet_addr in FreeBSD libcinet_addr in GNU libc。这不会使您了解Windows特定的怪癖。最好的资源是MSDN和纸质书籍,例如 Windows Internals