This documentation describes the Prokee module interface.
Functions:
mem_allocate
void *mem_allocate(unsigned int length,const void *module)
mem_reallocate
void *mem_reallocate(void *pointer,unsigned int length,const void *module)
mem_freemem
bool mem_freemem(void *pointer,const void *module)
mem_add
bool mem_add(void *pointer,unsigned int length,const void *module)
mem_del
bool mem_del(void *pointer,const void *module)
Motivation
Für Debugging-Zwecke (um den Speicherverbrauch zu protokollieren) sowie als Abhilfe für Fälle in denen Speicherbereiche sonst durch verschiedene Versionen oder Instanzen der C-Laufzeitbibliothek verwaltet würden. (D.h. statt malloc() und free() erfolgen die Aufrufe der entsprechenden Funktionen dieses Moduls, wodurch die Speicherverwaltung in einem gemeinsam genutzten Modul erfolgt.)
Functions
mem_allocate
Alloziert einen neuen Speicherbereich.
Signature:
void *mem_allocate(unsigned int length,const void *module)
Parameters:
| unsigned int | length | | Länge des Speicherbereichs |
| const void * | module | [IN] | Adresse des aufrufenden Moduls. |
Return value:Die Adresse des neu allozierten Speicherbereichs.
mem_reallocate
Verändert die Größe eines bereits allozierten Speicherbereichs. Der Speicherbereich wird dabei ggf. verschoben.
Signature:
void *mem_reallocate(void *pointer,unsigned int length,const void *module)
Parameters:
| void * | pointer | [IN] | Adresse des Speicherbereichs. |
| unsigned int | length | | Länge des Speicherbereichs |
| const void * | module | [IN] | Adresse des aufrufenden Moduls. |
Return value:Die (ggf. neue) Adresse des Speicherbereichs.
mem_freemem
Gibt einen allozierten Speicherbereich wieder frei.
Signature:
bool mem_freemem(void *pointer,const void *module)
Parameters:
| void * | pointer | [IN] | Adresse des Speicherbereichs. |
| const void * | module | [IN] | Adresse des aufrufenden Moduls. |
Return value:Gibt
true zurück, falls der Speicherbereich freigegeben werden konnte, sonst
false.
mem_add
Protokolliert einen neu allozierten Speicherbereich
Signature:
bool mem_add(void *pointer,unsigned int length,const void *module)
Parameters:
| void * | pointer | [IN] | Adresse des Speicherbereichs. |
| unsigned int | length | | Länge des Speicherbereichs |
| const void * | module | [IN] | Adresse des aufrufenden Moduls. |
Return value:immer
true.
mem_del
Protokolliert die Freigabe eines Speicherbereichs.
Signature:
bool mem_del(void *pointer,const void *module)
Parameters:
| void * | pointer | [IN] | Adresse des Speicherbereichs. |
| const void * | module | [IN] | Adresse des aufrufenden Moduls. |
Return value:Gibt
true zurück, falls ein Eintrag für den Pointer gefunden werden konnte, sonst
false.
mem_getMemorySize
Gibt die Größe des insgesamt allozierten Speichers zurück.
Signature:
unsigned int mem_getMemorySize()
Return value:Die Anzahl Bytes, die die allozierten Speicherbereiche belegen.