Base-def

Overview

// macros

#define JNC_PTR_BITS
#define JNC_PTR_SIZE
#define JNC_SELECT_ANY
#define _JNC_CPP_CLANG
#define _JNC_CPP_GCC
#define _JNC_CPP_MSC
#define _JNC_CPU_AMD64
#define _JNC_CPU_X86
#define _JNC_OS_BSD
#define _JNC_OS_DARWIN
#define _JNC_OS_LINUX
#define _JNC_OS_POSIX
#define _JNC_OS_SOLARIS
#define _JNC_OS_WIN

Detailed Documentation

Macros

#define JNC_PTR_SIZE
#define JNC_PTR_BITS

Size of data/code pointer on the current processor architecture.

JNC_PTR_SIZE equals 4 on JNC_CPU_X86; equals 8 on JNC_CPU_AMD64.

JNC_PTR_BITS equals 32 on JNC_CPU_X86; equals 64 on JNC_CPU_AMD64.

#define JNC_SELECT_ANY

A compiler-independent macro used to define a (variable/constant) data inside a .h header file.

#define _JNC_CPP_MSC
#define _JNC_CPP_GCC
#define _JNC_CPP_CLANG

_JNC_CPP_MSC is set to 1 if the C/C++ compiler is Microsoft Visual C/C++; undefined otherwise.

_JNC_CPP_GCC is set to 1 if the C/C++ compiler is GCC (GNU C/C++); undefined otherwise.

_JNC_CPP_CLANG is set to 1 if the C/C++ compiler is Clang (LLVM/Clang); undefined otherwise.

#define _JNC_CPU_X86
#define _JNC_CPU_AMD64

_JNC_CPU_X86 is set to 1 if the processor architecture is 32-bit Intel x86; undefined otherwise.

_JNC_CPU_AMD64 is set to 1 if the processor architecture is 64-bit AMD64 (x64/Intel x86_64); undefined otherwise.

#define _JNC_OS_WIN
#define _JNC_OS_POSIX
#define _JNC_OS_LINUX
#define _JNC_OS_SOLARIS
#define _JNC_OS_BSD
#define _JNC_OS_DARWIN

_JNC_OS_WIN is set to 1 if the target operating system is Microsoft Windows; undefined otherwise.

_JNC_OS_POSIX is set to 1 if the target operating system is POSIX-compliant (Linux/Mac OS X/BSD/etc); undefined otherwise.

_JNC_OS_LINUX is set to 1 if the target operating system is Linux; undefined otherwise. On Linux systems _JNC_OS_POSIX is also set to 1.

_JNC_OS_SOLARIS is set to 1 if the target operating system is Oracle Solaris; undefined otherwise. On Solaris systems _JNC_OS_POSIX is also set to 1.

_JNC_OS_BSD is set to 1 if the target operating system is BSD-family (OpenBSD/FreeBSD/Mac OS X etc); undefined otherwise. On BSD systems _JNC_OS_POSIX is also set to 1.

_JNC_OS_DARWIN is set to 1 if the target operating system is Apple Darwin (Mac OS X/iOS/etc); undefined otherwise. On Darwin systems _JNC_OS_POSIX and _JNC_OS_BSD are also set to 1.