jjzjj

freeaddrinfo

全部标签

c - 有什么方法可以使用 getaddrinfo() 和 freeaddrinfo() 并且仍然是与旧版 Windows 兼容的程序?

在Winsock2库中,getaddrinfo()和freeaddrinfo()仅在WindowsXP及更高版本中添加。我知道如何在遗留系统中替换它们,但根据Windows版本有条件地使用将无济于事。应用程序不会在9x中启动,并显示一条消息说它链接到WS2_32.dll中丢失的导出。我正在使用MinGW编译和链接代码,并希望继续使用它。也许自己写那些函数?非常感谢你所做的一切。 最佳答案 您可以使用LoadLibrary和GetProcAddress来(尝试)获取getaddrinfo和freeaddrinfo的地址,然后通过指针调

快速获取地址信息

POSIXgetaddrinfo分配稍后必须使用freeaddrinfo释放的内存。参见http://manpages.ubuntu.com/manpages/xenial/en/man3/getaddrinfo.3.html为了简化API,我创建了这个函数:importFoundationenumSystemError:Swift.Error{casegetaddrinfo(Int32,Int32?)}publicfuncgetaddrinfo(node:String?,service:String?,hints:addrinfo?)throws->[addrinfo]{varerr