Как определить платформу / компилятор из макросов препроцессора?

Я пишу кросс-платформенный код, который должен компилироваться в Linux, Windows, Mac OS. В Windows я должен поддерживать Visual Studio и mingw.

Есть некоторые фрагменты кода для конкретной платформы, которые я должен поместить в среду #ifdef .. #endif . Например, здесь я разместил код, специфичный для Win32:

#ifdef WIN32
#include <windows.h>
#endif

Но как мне распознать Linux и Mac OS? Какие имена (или т. Д.) Я должен использовать?

112
задан Brian Tompsett - 汤莱恩 19 June 2016 в 14:19
поделиться