OpenMP に対応しているコンパイラなら、 omp_get_num_procs でも出来るが、CPU コアの割り当てなんかはプラットフォーム固有のものを使わないとできないので、結局 OS 依存で書いても変わらない。 というわけで、Windows と Linux 両方で使えるようなラッパー関数を作ることにした。 #include <stdio.h> #ifdef __linux #include <unistd.h> #elif __MINGW32__ #include <windows.h> #include <winbase.h> #endif int getCpuNum() { #ifdef __linux // for linux return sysconf(_SC_NPROCESSORS_CONF); #elif __MINGW32__ // for windows and w