Divisão Segura em C com Maybe

2025-08-11

Este artigo descreve a implementação de contêineres genéricos seguros para tipos e limites em C. O autor introduz um tipo `Maybe`, inspirado em Haskell, para lidar com funções que podem retornar nenhum valor (por exemplo, divisão por zero). Uma função de divisão segura é criada usando macros para definir `Maybe`, tratando a divisão por zero e o caso limite de dividir o menor inteiro representável por -1. O código de assembly gerado pelo GCC é analisado para verificar a segurança da função. O autor conclui observando as limitações desta abordagem para provar a segurança completa de programas C.

Leia mais
Desenvolvimento

Contêineres Genéricos em C: Implementação Segura e Eficiente de vec

2025-07-26

Este artigo detalha a implementação de um contêiner genérico com segurança de tipo e limites, `vec`, em C. `vec` é essencialmente um array redimensionável, crescendo dinamicamente usando `realloc`. O autor explica a implementação, incluindo a função `vec_push` e o tratamento de erros para alocação de memória. Duas interfaces aprimoradas, `vec_push_cap` e `vec_push_auto`, são exploradas para otimização de desempenho. A segurança de limites é discutida, juntamente com a interoperabilidade com arrays C tradicionais por meio da macro `vec2array`.

Leia mais
Desenvolvimento Programação Genérica