This documenta- tion describes the current state of development.
Note that interfaces and functionality may still change.

Prokee Modules:
  A
  B
  C
  D
  E
  F
  G
  I
  L
  M
  N
  O
  P
  R
  S
  T
  U
  W

     open all    |    close all

GUI Elements:
  B
  C
  I
  M
  P
  R
  S
  T

     open all    |    close all

GUI Interactions:
  B
  F
  H
  S

     open all    |    close all

GUI Layouts:
  L

     open all    |    close all

Games/Demos:
  M

     open all    |    close all

Third Party Libraries:
  P
  F
  Z

     open all    |    close all

Information about this Website / Informationen zu dieser Webseite:
In case of any questions, or comments, please feel free to contact me via email at apoll500@gmail.com.

Module mem [Version: v01]

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)
mem_getMemorySize
unsigned int mem_getMemorySize()

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:
Type Name Direction Description
unsigned int lengthLä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:
Type Name Direction Description
void *pointer[IN]Adresse des Speicherbereichs.
unsigned int lengthLä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:
Type Name Direction Description
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:
Type Name Direction Description
void *pointer[IN]Adresse des Speicherbereichs.
unsigned int lengthLä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:
Type Name Direction Description
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.


Copyright © 2017 - 2019 by Andreas Pollhammer