CommonLib
Loading...
Searching...
No Matches
preprocessor_win32.h
Go to the documentation of this file.
1#pragma once
2
3#include "host/common.h"
4
5///
6/// Marks a member to be imported from a dynamic link library.
7///
8#define DLL_IMPORT extern "C" __declspec(dllimport)
9
10///
11/// Loads a dynamic link library and imports a member from it.
12///
13/// \param LIBRARY_NAME The name of the dynamic link library to load.
14/// \param MEMBER_NAME The name of the exported member to import.
15///
16/// \returns A pointer to the imported member.
17/// Use \ref FUNCTION_PTR to call imported function pointers.
18///
19#define DLL_IMPORT_EXPLICIT(LIBRARY_NAME, MEMBER_NAME)
20 GetProcAddress(LoadLibrary(TEXT(LIBRARY_NAME)), MEMBER_NAME)
21
22///
23/// Marks a member to be exported from a dynamic link library.
24///
25#define DLL_EXPORT extern "C" __declspec(dllexport)
26
27#if defined(CMNLIB_X86) || defined(CMNLIB_ARM)
28
29///
30/// Marks a function as naked (no epilogue and prologue).
31///
32/// \remarks This specification is only available on x86 and ARM.
33///
34#define NAKED __declspec(naked)
35
36#endif