C++代码中怎么区分windows系统还是linux系统

C++代码中如何区分windows系统还是linux系统
我有两个函数,一个是windows下的,一个是linux下的,我现在想在程序中写一段代码:
if(windows下)
    xxxx();//windows下的函数
else
    yyyy();//linux下的函数
现在的问题就是if中的条件到底是什么,该怎么写,求教了,谢谢大家。
windows linux c++

------解决方案--------------------
如果你用的是VS的话在Windows下有定义了一个宏 WIN32
#ifdef WIN32
  XXXX();
#else
  YYYY();
#endif;
------解决方案--------------------
#ifdef _WINDOWS_
    xxxx();//windows下的函数
#else
    yyyy();//linux下的函数
#endif
------解决方案--------------------
#ifdef  __unix or #ifdef  __unix__
#ifdef  __linux or #ifdef  __linux__
#ifdef  __FreeBSD__
32bit #ifdef  _WIN32(或者WIN32)
64bit #ifdef  _WIN64
------解决方案--------------------
引用:
如果你用的是VS的话在Windows下有定义了一个宏 WIN32
#ifdef WIN32
  XXXX();
#else
  YYYY();
#endif;


我一般是这么写的