Pages in the PlatformCategory describe operatings systems, compilers, or hardware architectures.
To add a page to this category, add a link to this page on the last line of the page. You can add multiple categories to a page.
List of pages in this category:
Identifying a Platform
The table below is a summary of combinations of operating systems, compilers, and runtime libraries, and the preprocessor conditionals that can be used to distinguish between them. It was prompted by the discussion in STDCXX-2, specifically this comment.
Platform Identification Macros |
|||
OS |
COMPILER |
RUNTIME |
MACROS |
gcc |
libsupc++ |
_RWSTD_OS_AIX && __GNUC__ |
|
AIX |
IBM XLC/C++ |
libC |
_RWSTD_OS_AIX && __IBMCPP__ |
gcc |
libsupc++ |
_RWSTD_OS_FREEBSD && __GNUC__ |
|
gcc |
libsupc++ |
_RWSTD_OS_HP_UX && __GNUC__ |
|
HP-UX |
HP aCC 1 |
libCsup_v2.2 |
_RWSTD_OS_HP_UX && __HP_aCC |
SGI MIPSpro |
|
_RWSTD_OS_IRIX64 && (_SGI_COMPILER_VERSION || !__GNUG__) |
|
EDG eccp |
|
_RWSTD_OS_LINUX && _RWSTD_EDG_ECCP |
|
Linux |
gcc |
libsupc++ |
_RWSTD_OS_LINUX && __GNUC__ && !__INTEL_COMPILER |
Linux |
IBM XLC++ |
? |
_RWSTD_OS_LINUX && __IBMCPP__ |
Linux |
Intel C++ 1 |
libsupc++, ? |
_RWSTD_OS_LINUX && __INTEL_COMPILER |
Linux |
Sun C++ |
|
_RWSTD_OS_SUNOS && __SUNPRO_CC__ |
gcc |
libsupc++ |
_RWSTD_OS_NETBSD && __GNUC__ |
|
gcc |
libsupc++ |
_RWSTD_OS_OPENBSD && __GNUC__ |
|
EDG eccp |
|
_RWSTD_OS_SUNOS && _RWSTD_EDG_ECCP |
|
Solaris |
gcc |
libsupc++ |
_RWSTD_OS_SUNOS && __GNUC__ |
Solaris |
Sun C++ |
|
_RWSTD_OS_SUNOS && __SUNPRO_CC__ |
HP/Compaq/Digital C++ |
|
_RWSTD_OS_OSF1 && __DECCXX__ |
|
Borland C++ |
? |
_WIN32 && __TURBOC__ |
|
Windows |
Digital Mars C++ |
? |
? |
Windows |
EDG eccp |
? |
_WIN32 && _RWSTD_EDG_ECCP |
Windows |
Intel C++ 1 |
libc(d).lib, libcmt(d).lib, msvcrt(d).lib |
_WIN32 && __INTEL_COMPILER |
Windows |
Visual C++ |
libc(d).lib, libcmt(d).lib, msvcrt(d).lib |
_MSC_VER && !__INTEL_COMPILER |
Windows/Cygwin |
gcc |
libsupc++ |
__CYGWIN__ && __GNUC__ |
Windows/MinGW |
gcc |
libsupc++ |
__MINGW32__ && __GNUC__ |
(1) Uses EDG eccp front end.