我是 C++ 新手,我正在编写跨平台脚本,这是我需要帮助的部分:
#if defined(_WIN64) || defined(_WIN32) || defined(__WIN32__) || defined(__TOS_WIN__) || defined(__CYGWIN__) || defined(__CYGWIN32) || defined(__MINGW32__) || defined(__BORLANDC__) || defined(__WINDOWS__)
#define M_OS_WIN
#elif defined(__linux) || defined(__linux__) || defined(linux) || defined(__gnu_linux__) || defined(__GNUC__)
#define M_OS_LINUX
#else
#error "OS NOT SUPPORTED";
#endif
其中哪些是正确的值(已过时,我应该添加其他值)?
- 我需要 windows 部分与
<conio.h>
. - 我需要 Linux 部分与 g++ 兼容(
<unistd.h>
并且<termios.h>
应该可以工作)。 MACOS g++ 兼容吗?(下面的行正确吗?);
#elif defined(Macintosh) || defined(__APPLE__) || defined(__MACH__)
这是检查编译器是否为 MS Visual Studio 的正确方法
#if defined _MSC_VER
吗?