Общий макрос для идентификации производной системы UNIX? (Linux, OSX, BSD,…)

мне интересно, почему на MacOSX макрос __ unix __ не определен.

Разве MacOSX не является производным от BSD UNIX?

Если я определю макрос __ unix __ в своем коде, могут ли у меня возникнуть проблемы?

В общем, при проверке текущей платформы я предпочитаю делать что-то вроде:

#ifdef __unix__
...
#endif

вместо:

#if defined(__unix__) || defined(__APPLE__) || defined(__linux__) || defined(BSD) ...
...
#endif

Может ли лучше всего определить мой собственный макрос в одном месте? Например:

#if defined(__unix__) || defined(__APPLE__) || defined(__linux__) || defined(BSD) ...
#define UNIX_
#endif
5
задан Brian Tompsett - 汤莱恩 28 November 2015 в 16:09
поделиться