Assumption, outfile, bugfixes on type deduction
This commit is contained in:
+9
-2
@@ -5,8 +5,15 @@ extern void* Aalloc(size_t sz);
|
||||
extern int Afree(void * mem);
|
||||
|
||||
template <typename T>
|
||||
size_t register_memory(T* ptr){
|
||||
size_t register_memory(T* ptr, void(dealloc)(void*)){
|
||||
[](void* m){ auto _m = static_cast<T*>(m); delete _m; };
|
||||
}
|
||||
|
||||
struct Session{
|
||||
struct Statistic{
|
||||
size_t total_active;
|
||||
size_t cnt_object;
|
||||
size_t total_alloc;
|
||||
};
|
||||
void* memory_map;
|
||||
};
|
||||
#define EXPORT __DLLEXPORT__
|
||||
@@ -2,4 +2,18 @@
|
||||
|
||||
#include <memory>
|
||||
#include <stdlib>
|
||||
#include <unordered_set>
|
||||
|
||||
Session* session;
|
||||
void* Aalloc(size_t sz){
|
||||
void mem = malloc(sz);
|
||||
auto memmap = (std::unordered_set<void*>*) session->memory_map;
|
||||
memmap->insert(mem);
|
||||
return mem;
|
||||
}
|
||||
|
||||
int Afree(void* mem){
|
||||
auto memmap = (std::unordered_set<void*>*) session->memory_map;
|
||||
memmap->erase(mem);
|
||||
return free(mem);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user