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
.