neuray API Programmer's Manual

Configuration of the Base API

[Base API]

Description

Configuration macros for platform, compiler, etc.

Include File:

#include <mi/base/base.h>

Defines

#define MI_BASE_DLL_FILE_EXT ".so"
The operating system specific default filename extension for shared libraries (DLLs).
#define MI_BASE_JOIN( X, Y) MI_BASE_DO_JOIN( X, Y )
Creates an identifier from concatenating the values of X and Y, possibly expanding macros in X and Y.
#define MI_BASE_STRINGIZE( X)
Creates a string from the value of X, possibly expanding macros in X.
#define MI_FORCE_INLINE inline
The compiler-specific, strong inline keyword. More...
#define MI_PREVENT_MACRO_EXPAND
Empty macro that can be used after function names to prevent macro expansion that happen to have the same name, for example, min or max functions.

Defines

#define MI_BASE_DLL_FILE_EXT ".so"

The operating system specific default filename extension for shared libraries (DLLs).

#define MI_BASE_JOIN( X, Y) MI_BASE_DO_JOIN( X, Y )

Creates an identifier from concatenating the values of X and Y, possibly expanding macros in X and Y.

#define MI_BASE_STRINGIZE( X)

Creates a string from the value of X, possibly expanding macros in X.

Value

MI_BASE_DO_STRINGIZE( X )

#define MI_FORCE_INLINE inline

The compiler-specific, strong inline keyword. The C++ language keyword inline is a recommendation to the compiler. Whether an inline function is actually inlined or not depends on the optimizer. In some cases, the developer knows better than the optimizer. This is why many compilers offer a separate, stronger inline statement. This define gives portable access to the compiler-specific keyword.

Pre-define MI_FORCE_INLINE to override the setting in this file.

#define MI_PREVENT_MACRO_EXPAND

Empty macro that can be used after function names to prevent macro expansion that happen to have the same name, for example, min or max functions.