libxcpc.

libxcpc Library implementa uma limpeza automática de recursos e manuseio de exceção em C.
Baixe Agora

libxcpc. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • LGPL
  • Preço:
  • FREE
  • Nome do editor:
  • Davide Libenzi
  • Site do editor:
  • http://www.xmailserver.org/davide.html

libxcpc. Tag


libxcpc. Descrição

LibXCPC Library implementa uma limpeza automática de recursos e manuseio de exceção em C. A biblioteca libxcpc implementa uma limpeza automática de recursos e manuseio de exceção em C. Erro de manuseio e código de limpeza (pelo menos para o código que faz o manuseio de erros) pode levar algum espaço em termos de linhas de código a serem escritos. Isso não só aumenta o tamanho binário, mas torna o código mais difícil de ler. O C ++ tem manuseio de exceções nativos, e isso resolve a parte do problema, mantendo-se exposto a limpeza de recursos. O libxcpc oferece c ++ como manuseio de exceção, além de limpeza automática de recursos, a ser usada em software escrito em C. O libxcpc introduz três abstrações, que são recursos, contêiner e exceção. O recurso é todo objeto (ou ação) que precisa de limpeza. Isso pode ser um bloco de memória alocada, um arquivo aberto, uma região de memória mapeada, etc. Cada recurso alocado é de propriedade de um contêiner. Um recurso pode ser movido de um recipiente para outro. Um recipiente é um balde dentro de que recursos são alocados. Um contêiner pode ser o pai de outros contêineres, por isso, introduzindo uma relação pai / criança entre contêineres. Um recipiente pode ser reatribuído para ser filho de um novo contêiner. Ao libertar um contêiner, todos os recursos alocados dentro do recipiente serão liberados, e todos os recipientes infantis também serão liberados recursivamente. Os recipientes de recursos simplificam muito o código de limpeza de recursos, sendo capaz de emitir uma única chamada para libertar um contêiner e ter automaticamente todos os recursos contidos por ele, libertados como.resources são adicionados / removidos em uma maneira lifo (duração no primeiro fora) e a biblioteca libxcpc oferece APIs para readriram a ordem dos recursos dentro de seus contextos. Uma exceção é (como no C ++) qualquer tipo de condição anormal que impeça que o programa flua em seu caminho. Esta pode ser uma alocação de memória com falha, uma falha para abrir um arquivo, uma falha no MMap (2) uma parte de um arquivo, uma falha em gravar (2) um arquivo, etc ... Uma exceção é descrita por um número exclusivo (int) e por dados associados (vazio *). Exceções são lançadas usando a instrução XCPC_TRHOW (CTX, ExNo, Data) ou re-lançada usando xcpc_rethrow (CTX). Um bom recurso de manuseio de exceção, é que ele permite lidar com apenas certos tipos de exceções, e diferentes exceções em diferentes pontos de sua árvore de código. Usando a biblioteca libxcpc, você lida com exceções, cercando o código potencialmente jogador com a instrução XCPC_THTY (CTX). O código pode então usar as instruções xcpc_catch (exno) ou xcpc_catch_any para lidar com específicos ou todos os tipos de exceções que aconteceram no código vinculado pelo XCPC_TICT (CTX). Um bloco de exceção deve ser rescindido por uma instrução XCPC_END_THICT.Se o bloco de exceção atual não lidar com a exceção atual usando a instrução XCPC_Catch (exno), e não ter uma instrução XCPC_Catch_any, o backtrack da biblioteca libxcpc para encontrar um manipulador válido no código em camadas mais altas da hierarquia de chamadas. É importante que pelo menos o outro bloco de exceção use uma instrução xcpc_catch_any, para que quaisquer exceções não forem capturadas pelo código, seja tratada corretamente. Quando uma exceção é pega por um manipulador, todos os recursos alocados pelo código desde o início do bloco XCPC_THTY (CTX), até o local onde a exceção é lançada, são libertados automaticamente quando o manipulador atinge a declaração XCPC_END_THT. Nesta versão: · Esta versão adiciona novas chamadas de sistema invasores e corrige alguns pequenos bugs.


libxcpc. Software Relacionado

Endereço Tangler.

EndereçoTangler é uma função PHP que ajuda a proteger os endereços de e-mail que você precisa adicionar a uma página da Web de Spam Bots. ...

164

Download

Launcher Library.

Launcher Library é uma biblioteca para controlar lançadores de mísseis conectados por USB (não, não armas - brinquedos). ...

341

Download