Dados gerais

Interface: MemManager
Arquivos: lib/memmanager.h
Última atualização: 14/02/2002
Autor: Luiz Henrique Shigunov
Informações

Descrição
Estruturas
Funções
  • 0x00 - Alloc - Aloca uma área de memória
  • 0x01 - AllocAlign - Aloca uma área de memória alinhada
  • 0x02 - AllocClear - Aloca e limpa uma área de memória
  • 0x03 - AllocPageAlign - Aloca uma área de memória alinhada numa página do sistema
  • 0x04 - AllocPageRound - Aloca páginas de memória alinhada numa página do sistema
  • 0x05 - Free - Libera uma área de memória
  • 0x06 - GetMemStats - Obtém algumas estatísticas
  • 0x07 - GetUsableSize - Obtém a quantidade de bytes que podem ser usados numa área alocada
  • 0x08 - MemTrim - Libera memória não usada
  • 0x09 - ReAlloc - Realoca uma área de memória mantendo o conteúdo da área anterior
  • 0x0a - SetMemOption - Define o valor de um parâmetro
  • Descrição

    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.

    Estruturas

    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.

    0x00 - Alloc

    Sintaxe

    void *Alloc(unsigned int size);

    Descrição

    Esta função aloca uma área de memória de no mínimo size bytes.

    Valor de retorno

    0x01 - AllocAlign

    Sintaxe

    void *AllocAlign(unsigned int align, unsigned int size);

    Descrição

    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.

    Valor de retorno

    0x02 - AllocClear

    Sintaxe

    void *AllocClear(unsigned int unit, unsigned int n);

    Descrição

    Esta função aloca uma área de memória de no mínimo unit * n bytes, preenchendo a área com zero.

    Valor de retorno

    0x03 - AllocPageAlign

    Sintaxe

    void *AllocPageAlign(unsigned int size);

    Descrição

    Esta função aloca uma área de memória de no mínimo size bytes, alinhada numa página do sistema.

    Valor de retorno

    0x04 - AllocPageRound

    Sintaxe

    void *AllocPageRound(unsigned int size);

    Descrição

    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.

    Valor de retorno

    0x05 - Free

    Sintaxe

    void Free(void *p);

    Descrição

    Esta função libera a área de memória p ou não faz nada se p for NULL.

    Valor de retorno

    Nada.

    0x06 - GetMemStats

    Sintaxe

    MemoryStats GetMemStats(void);

    Descrição

    Esta função obtém estatísticas do uso da memória.

    Valor de retorno

    As estatísticas do uso da memória.

    0x07 - GetUsableSize

    Sintaxe

    unsigned int GetUsableSize(void *p);

    Descrição

    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.

    Valor de retorno

    A quantidade de bytes disponíveis para uso.

    0x08 - MemTrim

    Sintaxe

    int MemTrim(unsigned int pad);

    Descrição

    Esta função libera para o sistema toda memória livre no topo da heap exceto pad bytes.

    Valor de retorno

    0x09 - ReAlloc

    Sintaxe

    void *ReAlloc(void *p, unsigned int size);

    Descrição

    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).

    Valor de retorno

    0x0a - SetMemOption

    Sintaxe

    int SetMemOption(int option, void *value);

    Descrição

    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.

    Valor de retorno