Interface: MemManager Arquivos: lib/memmanager.h Última atualização: 14/02/2002 Autor: Luiz Henrique Shigunov |
Descrição Estruturas |
Funções | |
|
|
Esta página descreve a interface do usuário MemManager.
A interface MemManager fornece as facilidades de alocação dinâmica de memória para os programas/bibliotecas.
typedef struct { unsigned int totalMem; unsigned int allocAreas; unsigned int totalAreas; unsigned int totalAlloc; unsigned int totalFree; unsigned int trimArea; } MemoryStats;
Onde totalMem é a área total alocada do sistema, allocAreas é o número de áreas alocada via AllocPages, totalAreas é o total de memória alocada via AllocPages, totalAlloc é a área total alocada, totalFree é a área total livre e trimArea é a área que pode ser liberada via MemTrim.
void *Alloc(unsigned int size);
Esta função aloca uma área de memória de no mínimo size bytes.
void *AllocAlign(unsigned int align, unsigned int size);
Esta função aloca uma área de memória de no mínimo size bytes, alinhada de acordo com align que deve ser uma potência de 2.
void *AllocClear(unsigned int unit, unsigned int n);
Esta função aloca uma área de memória de no mínimo unit * n bytes, preenchendo a área com zero.
void *AllocPageAlign(unsigned int size);
Esta função aloca uma área de memória de no mínimo size bytes, alinhada numa página do sistema.
void *AllocPageRound(unsigned int size);
Esta função aloca uma área de memória de modo que o mínimo múltiplo duma página do sistema >= size bytes.
Ou seja, arredonda para cima size numa página do sistema e aloca uma área de memória com esse tamanho.
void Free(void *p);
Esta função libera a área de memória p ou não faz nada se p for NULL.
MemoryStats GetMemStats(void);
Esta função obtém estatísticas do uso da memória.
As estatísticas do uso da memória.
unsigned int GetUsableSize(void *p);
Esta função obtém a quantidade de bytes disponíveis para uso na área de memória p.
Essa função pode retornar um número maior de bytes disponíveis do que o solicitado na alocação.
A quantidade de bytes disponíveis para uso.
int MemTrim(unsigned int pad);
Esta função libera para o sistema toda memória livre no topo da heap exceto pad bytes.
void *ReAlloc(void *p, unsigned int size);
Esta função aloca uma área de memória de no mínimo size bytes que vai conter os mesmos dados que p até o mínimo de (size, tamanho de p) bytes.
O ponteiro retornado pode ou não ser o mesmo que p.
Se p for NULL, equivale a Alloc.
Se size for 0, esta função equivale a Free(p).
int SetMemOption(int option, void *value);
Esta função define a opção option para value.
option e value são dependentes da implementação. Consulte a documentação da implementação.