Allocation routines for keeping track on memory.
More...
#include <stdlib.h>
Go to the source code of this file.
|
void * | hlhdf_alloc_malloc (const char *filename, int lineno, size_t sz) |
| Allocates memory and keeps track on if it is released, overwritten and similar.
|
|
void * | hlhdf_alloc_calloc (const char *filename, int lineno, size_t npts, size_t sz) |
| Same as calloc but debugged.
|
|
void * | hlhdf_alloc_realloc (const char *filename, int lineno, void *ptr, size_t sz) |
| Same as realloc but debugged.
|
|
char * | hlhdf_alloc_strdup (const char *filename, int lineno, const char *str) |
| Same as strdup but debugged.
|
|
void | hlhdf_alloc_free (const char *filename, int lineno, void *ptr) |
| Releases the memory.
|
|
void | hlhdf_alloc_dump_heap (void) |
| Dumps all blocks that not has been released.
|
|
void | hlhdf_alloc_print_statistics (void) |
| Prints the statistics for the heap.
|
|
Allocation routines for keeping track on memory.
- Author
- Anders Henja (Swedish Meteorological and Hydrological Institute, SMHI)
- Date
- 2009-06-26
◆ HLHDF_CALLOC
#define HLHDF_CALLOC |
( |
| npts, |
|
|
| sz ) calloc(npts, sz) |
◆ HLHDF_FREE
#define HLHDF_FREE |
( |
| x | ) |
if (x != NULL) {free(x);x=NULL;} |
Frees the pointer if != NULL.
◆ HLHDF_MALLOC
#define HLHDF_MALLOC |
( |
| sz | ) |
malloc(sz) |
◆ HLHDF_REALLOC
#define HLHDF_REALLOC |
( |
| ptr, |
|
|
| sz ) realloc(ptr, sz) |
◆ HLHDF_STRDUP
#define HLHDF_STRDUP |
( |
| x | ) |
strdup(x) |
◆ hlhdf_alloc_calloc()
void * hlhdf_alloc_calloc |
( |
const char * | filename, |
|
|
int | lineno, |
|
|
size_t | npts, |
|
|
size_t | sz ) |
Same as calloc but debugged.
- Parameters
-
[in] | filename | the name of the file the allocation occurs in |
[in] | lineno | the linenumber |
[in] | npts | number of points |
[in] | sz | the number of bytes to be allocated |
◆ hlhdf_alloc_dump_heap()
void hlhdf_alloc_dump_heap |
( |
void | | ) |
|
Dumps all blocks that not has been released.
◆ hlhdf_alloc_free()
void hlhdf_alloc_free |
( |
const char * | filename, |
|
|
int | lineno, |
|
|
void * | ptr ) |
Releases the memory.
- Parameters
-
[in] | filename | the name of the file the allocation occurs in |
[in] | lineno | the linenumber |
[in] | ptr | the pointer that should be freed |
◆ hlhdf_alloc_malloc()
void * hlhdf_alloc_malloc |
( |
const char * | filename, |
|
|
int | lineno, |
|
|
size_t | sz ) |
Allocates memory and keeps track on if it is released, overwritten and similar.
- Parameters
-
[in] | filename | the name of the file the allocation occurs in |
[in] | lineno | the linenumber |
[in] | sz | the number of bytes to be allocated |
◆ hlhdf_alloc_print_statistics()
void hlhdf_alloc_print_statistics |
( |
void | | ) |
|
Prints the statistics for the heap.
◆ hlhdf_alloc_realloc()
void * hlhdf_alloc_realloc |
( |
const char * | filename, |
|
|
int | lineno, |
|
|
void * | ptr, |
|
|
size_t | sz ) |
Same as realloc but debugged.
- Parameters
-
[in] | filename | the name of the file the allocation occurs in |
[in] | lineno | the linenumber |
[in] | ptr | the original pointer |
[in] | sz | the number of bytes to be allocated |
◆ hlhdf_alloc_strdup()
char * hlhdf_alloc_strdup |
( |
const char * | filename, |
|
|
int | lineno, |
|
|
const char * | str ) |
Same as strdup but debugged.
- Parameters
-
[in] | filename | the name of the file the allocation occurs in |
[in] | lineno | the linenumber |
[in] | str | the number of bytes to be allocated |