C 确定是否在Windows或其他系统上编译
我目前正在开发一个跨平台的C应用程序。 是否存在仅在Windows上编译时定义的编译器宏,以便我可以C 确定是否在Windows或其他系统上编译,c,include,cross-platform,c-preprocessor,platform-specific,C,Include,Cross Platform,C Preprocessor,Platform Specific,我目前正在开发一个跨平台的C应用程序。 是否存在仅在Windows上编译时定义的编译器宏,以便我可以#ifdef某些特定于Windows的#包含 典型示例是在WinSock和Berkeley套接字头之间进行选择: #ifdef _WINDOWS #include <winsock.h> #else #include <sys/socket.h> #include <netinet/in.h> #include <sys/u
#ifdef
某些特定于Windows的#包含
典型示例是在WinSock和Berkeley套接字头之间进行选择:
#ifdef _WINDOWS
#include <winsock.h>
#else
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/un.h>
#include <arpa/inet.h>
#include <netdb.h>
#endif
\ifdef\u窗口
#包括
#否则
#包括
#包括
#包括
#包括
#包括
#恩迪夫
所以我要找的是类似WINDOWS宏的东西。您最好的选择是使用
_WIN32
<> P>编译时使用Visual C++编译器编写32位或64位Windows平台。我希望Windows的其他编译器也能定义它(英特尔C++编译器定义它,就像MINW GCC一样)。
为Win32和Win32 64的应用程序定义。始终定义
_WIN64
为Win64的应用程序定义
来源:使用
\u WIN32
参考:
- (或者只需检查
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
_WIN64