Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
ModuleLoading.hpp
1#pragma once
2
3#include <string>
4
5#if defined(_WIN32)
6#include <Windows.h>
7#elif defined(__linux__)
8#include <dlfcn.h>
9#endif
10
11namespace Grindstone::Utilities::Modules {
12#if defined(_WIN32)
13 using Handle = HMODULE;
14 using BinarySearchDirectoryHandle = DLL_DIRECTORY_COOKIE;
15#elif defined(__linux__)
16 using Handle = void*;
17 using BinarySearchDirectoryHandle = void*;
18#endif
19
20 Grindstone::Utilities::Modules::Handle Load(std::string name);
21 void Unload(Grindstone::Utilities::Modules::Handle handle);
22
23 void* GetFunction(Grindstone::Utilities::Modules::Handle handle, const char *name);
24}