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:

<<FullSearch>>

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

AIX

gcc

libsupc++

_RWSTD_OS_AIX && GNUC

AIX

IBM XLC/C++

libC

_RWSTD_OS_AIX && IBMCPP

FreeBSD

gcc

libsupc++

_RWSTD_OS_FREEBSD && GNUC

HP-UX

gcc

libsupc++

_RWSTD_OS_HP_UX && GNUC

HP-UX

HP aCC 1

libCsup_v2.2

_RWSTD_OS_HP_UX && __HP_aCC

IRIX

SGI MIPSpro

 

{{_RWSTD_OS_IRIX64 && (_SGI_COMPILER_VERSION

!GNUG)}}

Linux

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

NetBSD

gcc

libsupc++

_RWSTD_OS_NETBSD && GNUC

OpenBSD

gcc

libsupc++

_RWSTD_OS_OPENBSD && GNUC

Solaris

EDG eccp

 

_RWSTD_OS_SUNOS && _RWSTD_EDG_ECCP

Solaris

gcc

libsupc++

_RWSTD_OS_SUNOS && GNUC

Solaris

Sun C++

 

_RWSTD_OS_SUNOS && SUNPRO_CC

Tru64 UNIX

HP/Compaq/Digital C++

 

_RWSTD_OS_OSF1 && DECCXX

Windows

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.


PlatformCategory


CategoryCategory

  • No labels