【问题标题】:Is there any way to use getaddrinfo() and freeaddrinfo() and still be the program compatible with legacy versions of Windows?有什么方法可以使用 getaddrinfo() 和 freeaddrinfo() 并且仍然是与旧版 Windows 兼容的程序?
【发布时间】:2010-03-25 20:54:12
【问题描述】:

在 Winsock2 库中 getaddrinfo()freeaddrinfo() 仅在 Windows XP 及更高版本中添加。我知道如何在旧系统中替换它们,但取决于 Windows 版本的有条件使用将无济于事。

应用程序不会在 9x 中启动并显示一条消息,指出它已链接到 WS2_32.dll 中缺少的导出。

我正在使用 MinGW 编译和链接代码,并希望继续使用它。也许我自己写那些函数?

非常感谢您所做的一切。

【问题讨论】:

    标签: c windows sockets legacy winsock2


    【解决方案1】:

    您可以使用LoadLibraryGetProcAddress 来(尝试)获取getaddrinfofreeaddrinfo 的地址,然后通过指针调用它们,如果GetProcAddress 返回一个非NULL 指针。

    【讨论】:

    • ...这是执行此操作的方法。 :) +1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2016-09-18
    • 2012-05-23
    相关资源
    最近更新 更多