Liberena

Liberena é uma interface de alocação de memória personalizada e implementação.
Baixe Agora

Liberena Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • MIT/X Consortium Lic...
  • Preço:
  • FREE
  • Nome do editor:
  • William Ahern
  • Site do editor:
  • http://25thandclement.com/~william/projects/zoned.html

Liberena Tag


Liberena Descrição

Libarena é uma interface alocador de memória personalizado e implementação. biblioteca Libarena é uma interface alocador de memória personalizado e implementação. Três allocators são fornecidos: "LIFO" alocador arena, piscina alocador de objeto e um malloc (3) embalagem plana. Estes podem ser usados diretamente ou através de suas interfaces protótipo exportados. Libarena destina-se a proporcionar uma interface de linha de base de modo alocador do pode ser empilhado, e para fornecer uma interface bem definida para as bibliotecas e aplicações. Ele não se destina a restringir ou confinar o allocators personalizados podem realmente realizar. Por exemplo, a piscina e de arena allocators incluídos incluem um conjunto de utilitários de cordas que não estão disponíveis na interface exportável genérico. No entanto, eles são construídos sobre a interface genérica (ver util.h). Quase não malloc (3) biblioteca "substituições" apoiar um argumento de ponteiro de contexto. Eles são inúteis para muitas ou a maioria das tarefas, onde a possibilidade de especificar um malloc alternativo (3) pode, na verdade, ser útil, por exemplo um dealloction tiro de uma estrutura de tarefas e todas as alocações associadas. Para daemons de rede especialmente este recurso é útil; todas as alocações para uma determinada sessão pode ser liberado simplesmente fechando o objeto alocador de nível mais baixo. O alocador Arena se comporta de forma semelhante a obstacks GNU. Se atribuições são libertados na ordem inversa do que os buffers subjacentes será libertado em conformidade; deallocations fora de ordem levará à fragmentação. O alocador Arena também apoia a marcação de posição. O estado em qualquer circunstância podem ser armazenados e o alocador depois redefinir a esse estado. Todas as alocações que ocorreu depois, com o tempo, o estado salvo se comportará como-se eles foram explicitamente desalocados. O alocador piscina mantém um pool de conjuntos de buffers de tamanho fixo. Cada tamanho do buffer pode ser arbitrária. Alocações que não podem ser satisfeitas dos baldes existentes resultará na criação de um novo balde. Memória retornada para o pool será reutilizada. Atualmente, a piscina nunca vai encolher, só crescem. Após o fechamento da arena ou piscina alocador de objetos toda a memória usada será lançado de volta ao seu alocador subjacente (ou o que é passado na instanciação, ou por padrão `ARENA_STDLIB', New biblioteca padrão de wrapper.What nesta versão: · Os makefiles são não recursiva, por isso deve construir e instalar usando o GNU make ou BSD pmake.


Liberena Software Relacionado