为了避免与 winsock2.h 冲突,我想用 WIN32_LEAN_AND_MEAN 包装我的 windows.h 包含(我在 windows.h 之后取消定义它,以免干扰包含我的标头的应用程序)。当 winsock2.h 不包括在内时,这样做会导致 timeval 未定义。包括 time.h 也没有定义 timeval。
如何获得定义的 timeval (a) 无需包含 winsock2.h,(b) 不要求包含我的标头的应用程序在我的标头之前包含 winsock2.h,(c) 允许应用程序在需要时包含 winsock2.h ,并且 (d) 不必自己定义 timeval,因为它可能已经由父应用程序包含的标头定义?