This project involves recoding various functions from the C standard library (libc). The aim is to deeply understand the internal workings of basic C functions by reimplementing them. The project is divided into three main parts.
In this first part, the goal is to recode a set of functions from the libc as described in their respective manuals on your system. The recoded functions must have exactly the same prototype and behavior as the original functions. This includes:
- String manipulation functions
- Memory manipulation functions
- Any other useful libc functions
The second part focuses on implementing functions that are absent from the libc or are present but in a different form. Functions in this part will mainly involve using malloc
for dynamic memory allocation and management. Examples include:
- Advanced string manipulation functions
- Custom memory management functions
- Other useful utilities not available in the standard libc
As a bonus, the project will introduce data structures in C. This involves reproducing practical functions for creating and using linked lists. The following aspects will be covered:
- Creating and managing simple linked lists
- Functions to add, remove, and manipulate elements in the lists
- Practical demonstrations of using linked lists in real-life situations