我看过winsock2.h,我发现它让我很困惑:
typedef SOCKET (WSAAPI *LPFN_ACCEPT)(SOCKET s,struct sockaddr *addr,int *addrlen);
typedef int (WSAAPI *LPFN_BIND)(SOCKET s,const struct sockaddr *name,int namelen);
typedef int (WSAAPI *LPFN_CLOSESOCKET)(SOCKET s);
typedef int (WSAAPI *LPFN_CONNECT)(SOCKET s,const struct sockaddr *name,int namelen);
typedef int (WSAAPI *LPFN_IOCTLSOCKET)(SOCKET s,__LONG32 cmd,u_long *argp);
typedef int (WSAAPI *LPFN_GETPEERNAME)(SOCKET s,struct sockaddr *name,int *namelen);有没有人能解释一下使用typedef的这种情况?它将是如此贴切:)
发布于 2020-08-19 23:38:53
你正在寻找一个函数指针的类型定义函数。例如:typedef SOCKET (WSAAPI *LPFN_ACCEPT)(SOCKET s,struct sockaddr *addr,int *addrlen);声明了一个名为LPFN_ACCEPT的函数,该函数接受SOCKET s、struct sockaddr *addr和int *addrlen作为参数并返回SOCKET。WSAAPI声明了此函数指针的调用约定。
https://stackoverflow.com/questions/63490438
复制相似问题