This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Why is __unix__ defined, and not __WINDOWS__ ?
- From: Hans-Bernhard Bröker <HBBroeker at t-online dot de>
- To: cygwin at cygwin dot com
- Date: Sun, 12 May 2019 21:53:48 +0200
- Subject: Re: Why is __unix__ defined, and not __WINDOWS__ ?
- References: <5fbb6229-da17-c056-19b9-9819c684a8ad@agner.org>
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