Murl Defines

Murl Engine preprocessor defines. More...

Collaboration diagram for Murl Defines:

Macros

#define NULL
 Definition of the NULL pointer value.
 
#define MURL_DEBUG
 Compiling a debug build.
 
#define MURL_RELEASE
 Compiling a release build.
 
#define MURL_RELEASE
 Compiling a release build.
 
#define MURL_TARGET_CPU_I64
 Compiling for an Intel 64-bit CPU.
 
#define MURL_TARGET_CPU_X86
 Compiling for an Intel 32-bit CPU.
 
#define MURL_TARGET_CPU_ARM
 Compiling for an Arm 32-bit CPU.
 
#define MURL_TARGET_CPU_ARM64
 Compiling for an Arm 64-bit CPU.
 
#define MURL_TARGET_ARCHITECTURE_64BIT
 Compiling for 64-bit architecture.
 
#define MURL_TARGET_ARCHITECTURE_32BIT
 Compiling for 32-bit architecture.
 
#define MURL_ENDIANNESS_LITTLE
 Compiling for little endian architecture.
 
#define MURL_TARGET_OS_WIN
 Compiling for a Windows system.
 
#define MURL_TARGET_OS_WIN32
 Compiling for a Windows (win32 api) desktop system.
 
#define MURL_TARGET_OS_WIN8
 Compiling for a Windows 8 modern system.
 
#define MURL_TARGET_OS_WINPHONE8
 Compiling for a Windows 8 phone system.
 
#define MURL_TARGET_OS_IOS
 Compiling for an iOS system.
 
#define MURL_TARGET_OS_TVOS
 Compiling for a tvOS system.
 
#define MURL_TARGET_OS_OSX
 Compiling for an OSX system.
 
#define MURL_TARGET_OS_ANDROID
 Compiling for an Android system.
 
#define MURL_TARGET_OS_POSIX
 Compiling for a Posix (Linux) system.
 
#define MURL_TARGET_OS_EMSCRIPTEN
 Compiling to JavaScript/WebGL using Emscripten.
 
#define MURL_COMPILER_GCC
 GNU Compiler.
 
#define MURL_COMPILER_XCODE
 Xcode Compiler.
 
#define MURL_COMPILER_VS
 Visual Studio compiler.
 
#define MURL_COMPILER_VS2015
 Visual Studio 2015 compiler.
 
#define MURL_COMPILER_VS2017
 Visual Studio 2017 compiler.
 
#define MURL_COMPILER_VS2019
 Visual Studio 2019 compiler.
 
#define MURL_COMPILER_VS2022
 Visual Studio 2022 compiler.
 
#define MURL_COMPILER_EMCC
 Emscripten compiler.
 
#define MURL_COMPILER_C98
 Compiling C++98 or newer language dialect.
 
#define MURL_COMPILER_C11
 Compiling C++11 or newer language dialect.
 
#define MURL_COMPILER_C14
 Compiling C++14 or newer language dialect.
 
#define MURL_ALIGN_DATA(x, type)
 Definition for memory alignment. More...
 
#define MURL_PACKED_STRUCT(type)
 Definition for a packed structure. More...
 
#define MURL_CDECL
 Definition for the calling convention for C and C++. More...
 
#define MURL_CURRENT_FUNCTION
 Definition for the current function signature string.
 

Detailed Description

Murl Engine preprocessor defines.

The global defines should be used to ensure multi-platform compatibility.

Macro Definition Documentation

◆ MURL_ALIGN_DATA

#define MURL_ALIGN_DATA (   x,
  type 
)

Definition for memory alignment.

e.g. defining a 16 byte-aligned struct.

struct MyStruct
{
UInt64 mMyValue1;
UInt32 mMyValue2;
});

e.g. Instantiate an 8 byte-aligned 32-bit integer.

MURL_ALIGN_DATA(8, UInt32 myInteger);
Parameters
xThe number of bytes to align.
typeThe struct, union, class, or variable to align.

◆ MURL_PACKED_STRUCT

#define MURL_PACKED_STRUCT (   type)

Definition for a packed structure.

struct MyStruct
{
UInt64 mMyValue1;
UInt32 mMyValue2;
});
Parameters
typeThe struct, union, class, or variable to pack.

◆ MURL_CDECL

#define MURL_CDECL

Definition for the calling convention for C and C++.

e.g. declaring a public function for a library:

void MURL_CDECL MyFunction(UInt32 myParameters);
#define MURL_PACKED_STRUCT(type)
Definition for a packed structure.
Definition: murl_defines.h:420
#define MURL_ALIGN_DATA(x, type)
Definition for memory alignment.
Definition: murl_defines.h:406
MurlUInt64 UInt64
Unsigned 64 bit integer data type.
Definition: murl_types.h:160
MurlUInt32 UInt32
Unsigned 32 bit integer data type.
Definition: murl_types.h:152
#define MURL_CDECL
Definition for the calling convention for C and C++.
Definition: murl_defines.h:429


Copyright © 2011-2025 Spraylight GmbH.