事先提醒尽量不要依赖这些预定义的宏, 它们会让你的代码变得臃肿并埋下各种bug隐患 http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system