088 条件编译

#include <stdio.h>

#if defined(__linux__)
  #define OS "Linux"
#elif defined(_WIN32)
  #define OS	"Windows"
#elif defined(__MACH__)
  #define OS	"Mac OS X"
#elif defined(__FreeBSD__)
  #define OS	"FreeBSD"
#elif defined(__ANDROID__)
  #define OS	"Android"
#endif

#ifndef OS
  #warning "May be Unix."
  #if defined(__unix__)
    #define OS "Unix"
    #define OS_NAME OS
  #else
    #error "Unkown os."
  #endif
#elif defined(__unix__)
  #define OS_NAME "Unix-"OS
#else
  #define OS_NAME OS
#endif

int main(int argc, char *argv[])
{
    printf("I'm in %s.\n", OS_NAME);
    return 0;
}