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:


Display context of search results
Case-sensitive searching

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

Platforms (last edited 2009-09-20 23:03:01 by localhost)