C++中的编译器版本,名称和OS检测

pro*_*eek 4 c++ compiler-construction

我需要使用C++检测操作系统名称,编译器名称和编译器版本,因为我需要更改每种情况的设置.

我怎样才能做到这一点?