私は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
ですか?