Kawhan Laurindo

WHOISKAWHAN / SOFTWARE ENGINEER / João Pessoa

Idioma

PROJETOS / 2022

libft

Reimplementar a biblioteca padrão do C na 42 São Paulo. Sem garbage collector, sem rede de proteção — só malloc, free e a consequência de errar.

VISÃO GERAL

O primeiro projeto do currículo da 42 São Paulo: reescrever do zero uma parte da biblioteca padrão do C, somada a funções auxiliares de string e a uma pequena API de listas encadeadas. A biblioteca vira base dos projetos seguintes, então precisa estar certa. Passou com 100% nos testers da comunidade (libftest, libftTester, libft-unit-test e libft-war-machine).

CONCEITO

Gerenciamento manual de memória. Sem runtime por trás, cada malloc pede um free correspondente, e cada função precisa tratar os casos de borda que a libc trata por você: ponteiro nulo, tamanho zero, sobreposição de memória, overflow. Entender por que memmove existe ao lado de memcpy é o tipo de coisa que só fica quando você implementa as duas.

FUNCIONALIDADES

  • Funções da libc: manipulação de memória, strings e caracteres
  • Funções auxiliares como split, strjoin, substr e itoa
  • API de listas encadeadas
  • Build como biblioteca estática com Makefile

TECNOLOGIAS

  • C
Voltar para o portfólio