Why is __unix__ defined, and not __WINDOWS__ ?
Hans-Bernhard Bröker
HBBroeker@t-online.de
Sun May 12 19:54:00 GMT 2019
Am 12.05.2019 um 20:22 schrieb Agner Fog:
> I have noticed that the gcc and clang compilers have defined the
> preprocessing macro __unix__, but not __WINDOWS__, _WIN32, or _WIN64
> when compiling a windows executable.
>
> Why is this?
Because it's correct that way. Cygwin runs on Windows, but it _is_ not
Windows.
> A C/C++ program will check for these macros if it wants to know which
> operating system you are compiling for, and this will give the wrong
> result.
No. It gives the correct result.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list