libft
Réécriture en C de fonctions de la libc, premier projet de l’école 42
Projet d'école (42)décembre 2014CMake
Bibliothèque statique libft.a écrite à l’école 42 fin 2014 : réécriture de fonctions de la libc (mémoire, chaînes, conversions), fonctions utilitaires, listes chaînées et get_next_line. Elle a servi de base aux projets suivants, dont ft_minishell.
But du projet
Premier projet du cursus de l’école 42 : recoder soi-même une partie de la bibliothèque standard C, puis l’enrichir pour en faire sa propre boîte à outils, réutilisée dans les projets suivants. L’exercice porte sur la gestion manuelle de la mémoire, les pointeurs, les chaînes terminées par \0 et la construction d’une bibliothèque statique avec un Makefile, dans le respect de la Norme de l’école.
Contenu
- Fonctions de la libc :
ft_memset,ft_bzero,ft_memcpy,ft_memccpy,ft_memmove,ft_memchr,ft_memcmp,ft_strlen,ft_strdup,ft_strcpy,ft_strcat,ft_strlcat,ft_strchr,ft_strstr,ft_strcmp,ft_atoi,ft_isalpha,ft_toupper… et leurs variantesn. - Fonctions complémentaires :
ft_memalloc,ft_strnew,ft_strsub,ft_strjoin,ft_strtrim,ft_strsplit,ft_itoa,ft_strmap,ft_striter, affichage avecft_putstr,ft_putnbret leurs versions_fd. - Listes chaînées :
ft_lstnew,ft_lstadd,ft_lstdel,ft_lstiter,ft_lstmap,ft_lstpush. - Ajouts personnels :
ft_strreplace,ft_swap,ft_nbrlen,ft_unsigned_itoa, écriture sur la sortie d’erreur, une liste de chaînes (t_str) etget_next_line, qui lit un descripteur de fichier ligne par ligne avec un tampon de 1024 octets.
Compilation
make # produit libft.a (-Wall -Wextra -Werror)
make clean # supprime les .o
make fclean # supprime aussi libft.a
make reLe dépôt contient aussi des programmes de test (main1.z à main3.z, lancés avec make mn N=1) et un dossier unit_test, écrits pour macOS. get_next_line.c est présent mais n’est pas compilé dans libft.a par le Makefile.