Custom Memory Allocator – Arma 2

From Bohemia Interactive Community
Jump to navigation Jump to search
(Custom memory allocator interface.)
 
(Added category tags)
Line 1: Line 1:
[[Category:Arma 2]] [[Category:Arma 2: Editing]]
Since Arma 2 Operation Arrowhead build 85869 (1.60 beta) it is possible to provide custom memory allocators for the game. The allocator is a dll placed in dll directory located next to the game executable.
Since Arma 2 Operation Arrowhead build 85869 (1.60 beta) it is possible to provide custom memory allocators for the game. The allocator is a dll placed in dll directory located next to the game executable.



Revision as of 13:42, 27 October 2011


Since Arma 2 Operation Arrowhead build 85869 (1.60 beta) it is possible to provide custom memory allocators for the game. The allocator is a dll placed in dll directory located next to the game executable.

The dll interface is as follows:

extern "C" {
  __declspec(dllexport) size_t __stdcall MemTotalCommitted();         // _MemTotalCommitted@0
  __declspec(dllexport) size_t __stdcall MemTotalReserved();          // _MemTotalReserved@0
  __declspec(dllexport) size_t __stdcall MemFlushCache(size_t size);  // _MemFlushCache@4
  __declspec(dllexport) void __stdcall MemFlushCacheAll();            // _MemFlushCacheAll@0
  __declspec(dllexport) size_t __stdcall MemSize(void *mem);          // _MemSize@4
  __declspec(dllexport) void *__stdcall MemAlloc(size_t size);        // _MemAlloc@4
  __declspec(dllexport) void __stdcall MemFree(void *mem);            // _MemFree@4
};

MemTotalCommitted()

MemTotalReserved()

MemFlushCache(size_t size)

MemFlushCacheAll()

MemSize(void *mem)

MemAlloc(size_t size)

MemFree(void *mem)