"A solid foundation for system programming in C."
Introduction
Folder Structure
Contents Overview
Building the Library
Visual Guide to Running Tests
Evaluation Process
Pre-Submission Testing
Correction Sheet
Moulinette Feedback
Acknowledgments
Developed Skills
Support and Contributions
Author
The journey at 42 Schools begins with this foundational project. It challenges students to reimplement certain standard C library functions, along with other utility functions, and compile them into a static library. This serves as a crucial resource for future projects. Adherence to the Norminette coding standards and passing the Moulinette tests are key aspects of this project, ensuring that both peers and automated systems will evaluate your work.
Explore my complete static C library here.
This project demands a solid understanding of the C programming language, including data types, loops, conditionals, functions, and memory management. Students must also develop proficiency in debugging, testing, and documentation to ensure their code is reliable and understandable. Mastery of these skills is essential for tackling the complexities of software development and contributes significantly to the success in the Libft project and beyond.
.
├── 00-libft
│ ├── libft
│ │ ├── ft_atoi.c
│ │ ├── ft_bzero.c
│ │ ├── ft_calloc.c
│ │ ├── ft_isalnum.c
│ │ ├── ft_isalpha.c
│ │ ├── ft_isascii.c
│ │ ├── ft_isdigit.c
│ │ ├── ft_isprint.c
│ │ ├── ft_itoa.c
│ │ ├── ft_lstadd_back.c
│ │ ├── ft_lstadd_front.c
│ │ ├── ft_lstclear.c
│ │ ├── ft_lstdelone.c
│ │ ├── ft_lstiter.c
│ │ ├── ft_lstlast.c
│ │ ├── ft_lstmap.c
│ │ ├── ft_lstnew.c
│ │ ├── ft_lstsize.c
│ │ ├── ft_memchr.c
│ │ ├── ft_memcmp.c
│ │ ├── ft_memcpy.c
│ │ ├── ft_memmove.c
│ │ ├── ft_memset.c
│ │ ├── ft_putchar_fd.c
│ │ ├── ft_putendl_fd.c
│ │ ├── ft_putnbr_fd.c
│ │ ├── ft_putstr_fd.c
│ │ ├── ft_split.c
│ │ ├── ft_strchr.c
│ │ ├── ft_strdup.c
│ │ ├── ft_striteri.c
│ │ ├── ft_strjoin.c
│ │ ├── ft_strlcat.c
│ │ ├── ft_strlcpy.c
│ │ ├── ft_strlen.c
│ │ ├── ft_strmapi.c
│ │ ├── ft_strncmp.c
│ │ ├── ft_strnstr.c
│ │ ├── ft_strrchr.c
│ │ ├── ft_strtrim.c
│ │ ├── ft_substr.c
│ │ ├── ft_tolower.c
│ │ ├── ft_toupper.c
│ │ ├── libft.h
│ │ └── Makefile
This section is divided into four categories:
- Libc Functions: Standard C library functions reimplemented.
- Additional Functions: Useful functions for future projects.
- Bonus Functions: Functions specifically designed for linked list manipulation.
- Other Components: Includes the Makefile and libft.h header file.
Compiling the library generates object .o
files and the static library file libft.a
.
To compile the library, utilize the following command:
make
For a detailed list of commands available within the make
utility, execute:
make info
To ensure your project is ready for submission and peer reviews, it's recommended to test it using the Supreme Tester provided by @FranFrau.
For a comprehensive review of what will be checked during evaluation, refer to the correction sheet below:
After submission, the Moulinette (an automated grading system) will evaluate your project. You can view the results and feedback here:
- @dieremy: Helped with testing and resolving leaks in functions. Additionally, provided an introduction to the project, explaining various functions and theoretical aspects.
- @MirkokriM: Inspired the idea for the GIF.
If you find this repository helpful, please consider starring it to show your support. Your support is greatly appreciated!