我正在try 动态链接从WSASocket
开始的Winsock函数,以下代码编译得很好
#include <stdio.h>
#include <winsock2.h>
#include <windows.h>
typedef SOCKET (WINAPI * pWSASocket)(int, int, int, LPWSAPROTOCOL_INFOA, GROUP, DWORD);
int main()
{
HMODULE hmod = LoadLibrary("ws2_32.dll");
if (hmod == NULL)
{
printf("Failed to load ws2_32.dll\n");
exit(EXIT_FAILURE);
}
pWSASocket WSASocket = (pWSASocket)GetProcAddress(hmod, "WSASocket");
if (WSASocket == NULL)
{
printf("Failed to find function WSASocket\n");
exit(EXIT_FAILURE);
}
return 0;
}
但在运行二进制文件时,我收到以下错误
Failed to find function WSASocket
个
根据WINAPI文档,WSASocket应该在Ws2_32.dll
中,但GetProcAddress
返回NULL
值