diff options
author | Jan <sentrycraft123@gmail.com> | 2024-06-22 20:46:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-22 20:46:43 +0200 |
commit | 1c9f39ddde4076b7a0f0b0527d89fc69b47d0602 (patch) | |
tree | 371507bb90cf5b4321c619255dacf656caf130ed /primedev/core/memalloc.h | |
parent | 225eb1849a7b4ef019c04e4aa12b85295e301c28 (diff) | |
download | NorthstarLauncher-1c9f39ddde4076b7a0f0b0527d89fc69b47d0602.tar.gz NorthstarLauncher-1c9f39ddde4076b7a0f0b0527d89fc69b47d0602.zip |
Fix memalloc problems (#728)v1.25.3-rc2
alloc declarations to work with CRT
implement missing _recalloc_base and _msize
Diffstat (limited to 'primedev/core/memalloc.h')
-rw-r--r-- | primedev/core/memalloc.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/primedev/core/memalloc.h b/primedev/core/memalloc.h index 2f383335..73e078f5 100644 --- a/primedev/core/memalloc.h +++ b/primedev/core/memalloc.h @@ -1,14 +1,18 @@ #pragma once +#include <malloc.h> + #include "rapidjson/document.h" // #include "include/rapidjson/allocators.h" -extern "C" void* _malloc_base(size_t size); -extern "C" void* _calloc_base(size_t const count, size_t const size); -extern "C" void* _realloc_base(void* block, size_t size); -extern "C" void* _recalloc_base(void* const block, size_t const count, size_t const size); -extern "C" void _free_base(void* const block); -extern "C" char* _strdup_base(const char* src); +// The prelude is needed for these to be usable by the CRT +extern "C" __declspec(noinline) void* __cdecl _malloc_base(size_t const size); +extern "C" __declspec(noinline) void* __cdecl _calloc_base(size_t const count, size_t const size); +extern "C" __declspec(noinline) void* __cdecl _realloc_base(void* const block, size_t const size); +extern "C" __declspec(noinline) void* __cdecl _recalloc_base(void* const block, size_t const count, size_t const size); +extern "C" __declspec(noinline) void __cdecl _free_base(void* const block); +extern "C" __declspec(noinline) size_t __cdecl _msize(void* const block); +extern "C" __declspec(noinline) char* __cdecl _strdup_base(const char* src); void* operator new(size_t n); void operator delete(void* p) noexcept; |