C/C++でOS依存処理の記述テンプレート

C++でWindows、macOS、Linuxで固有の処理を書きたいときなど、定義済みマクロを利用して分岐をさすことがあります。その場合の簡単なテンプレートを書き残しておきます。

 

#if defined(_WIN32)
// Windows common

  #if defined(_MSC_VER)
  // Visual Studio specific

  #else
  // other environment in Windows such as MinGW

  #endif

  #if defined(_WIN64)
  // 64bit Windows

  #else
  // 32bit Windows

  #endif

#elif defined(__APPLE__)
// macOS common

  #if defined(__x86_64__)
  // 64bit macOS

  #else
  // 32bit macOS

  #endif

#elif defined(__linux__)
// Linux common

  #if defined(__x86_64__)
  // 64bit Linux

  #else 
  // 32bit Linux

  #endif

#else
// other OS

#endif

 

コメント

タイトルとURLをコピーしました