xentara-utils v2.0.4
The Xentara Utility Library
Loading...
Searching...
No Matches
Export Macros

Macros

#define XENTARA_EXPORT(module)
 Export macro.
 
#define XENTARA_EXPORT_INLINE(module)
 Export macro for inline functions.
 
#define XENTARA_EXPORT_EXTERN(module)
 Export macro for extern declarations.
 

Detailed Description

Macro Definition Documentation

◆ XENTARA_EXPORT

#define XENTARA_EXPORT (   module)

Export macro.

This preprocessor macro is used to mark objects as being imported or exported from a shared library or DLL.

On ELF platforms (like Linux), this macro will expand to __attribute((visibility("default"))).

On Windows, this macro will usually expand to declspec(dllimport). If you specified emotion_export_module(module) in your CMakeLists.txt, the macro will expand to declspec(dllexport).

Parameters
moduleThe module name used to decide whether to import or export under Windows.

◆ XENTARA_EXPORT_EXTERN

#define XENTARA_EXPORT_EXTERN (   module)

Export macro for extern declarations.

This preprocessor macro is used to mark declarations marked as extern or extern template as being imported or exported from a shared library.

On ELF platforms (like Linux), this macro will expand to __attribute((visibility("default"))).

On Windows, this macro will usually expand to declspec(dllimport). If you specified emotion_export_module(module) in your CMakeLists.txt, the macro will expand to nothing, as windows does not allow declspec(dllexport) on extern declarations.

Parameters
moduleThe module name used to decide whether to import under Windows.

◆ XENTARA_EXPORT_INLINE

#define XENTARA_EXPORT_INLINE (   module)

Export macro for inline functions.

This preprocessor macro is used to mark inlined functions and variables as being imported or exported from a shared library.

On ELF platforms (like Linux), this macro will expand to __attribute((visibility("default"))).

On Windows, this macro expand to nothing, as inlined functions are never exported from DLLs.

Parameters
moduleThe module name. This parameter is currently unused, but should be consistent with the module specified for XENTARA_EXPORT in the same module.