Assumption, outfile, bugfixes on type deduction

This commit is contained in:
2022-08-05 21:34:28 +08:00
parent 6490aab558
commit 70f29e028d
22 changed files with 192 additions and 84 deletions
+9 -2
View File
@@ -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__
+14
View File
@@ -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);
}