You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.3 KiB
71 lines
1.3 KiB
/* Do not edit this file. It was automatically generated. */ |
|
|
|
#ifndef HEADER_DebugMemory |
|
#define HEADER_DebugMemory |
|
|
|
#define _GNU_SOURCE |
|
#include <string.h> |
|
#include <stdlib.h> |
|
#include <stdio.h> |
|
#include <stdbool.h> |
|
#include <assert.h> |
|
|
|
#undef strdup |
|
#undef malloc |
|
#undef realloc |
|
#undef calloc |
|
#undef free |
|
|
|
|
|
|
|
typedef struct DebugMemoryItem_ DebugMemoryItem; |
|
|
|
struct DebugMemoryItem_ { |
|
int magic; |
|
void* data; |
|
char* file; |
|
int line; |
|
DebugMemoryItem* next; |
|
}; |
|
|
|
typedef struct DebugMemory_ { |
|
DebugMemoryItem* first; |
|
int allocations; |
|
int deallocations; |
|
int size; |
|
bool totals; |
|
FILE* file; |
|
} DebugMemory; |
|
|
|
|
|
#if defined(DEBUG) |
|
|
|
void DebugMemory_new(); |
|
|
|
void* DebugMemory_malloc(int size, char* file, int line, char* str); |
|
|
|
void* DebugMemory_calloc(int a, int b, char* file, int line); |
|
|
|
void* DebugMemory_realloc(void* ptr, int size, char* file, int line, char* str); |
|
|
|
void* DebugMemory_strdup(const char* str, char* file, int line); |
|
|
|
void DebugMemory_free(void* data, char* file, int line); |
|
|
|
void DebugMemory_assertSize(); |
|
|
|
int DebugMemory_getBlockCount(); |
|
|
|
void DebugMemory_registerAllocation(void* data, char* file, int line); |
|
|
|
void DebugMemory_registerDeallocation(void* data, char* file, int line); |
|
|
|
void DebugMemory_report(); |
|
|
|
#elif defined(DEBUGLITE) |
|
|
|
//#include "efence.h" |
|
|
|
#endif |
|
|
|
#endif
|
|
|