Initial commit

This commit is contained in:
github-classroom[bot] 2025-03-05 22:19:03 +00:00 committed by GitHub
commit 177826b1a0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 2377 additions and 0 deletions

53
mainpage.h Normal file
View file

@ -0,0 +1,53 @@
/**
* @mainpage
* @section intro Introduction
*
* The implementation of a simple memory management system.
*
* @section objective Assignment Objective
*
* Implementation of a memory management system as a replacement for malloc and free.
*
* @section assignment Assignment
*
* Technical details regarding the implementation of the memory manager are stated in
* file `mem_man.c`.
*
* - Implement all functions declared in `mem_man.h`.
* - Implement unit tests, at least those that are declared in `test_mem_man.h`
* - Add additional unit tests as needed.
*
* @section instructions Working Instructions
*
* -# Implement all missing but required functions of all files mentioned below empty to make the
* application compilable and runnable. Most unit tests will be red.
* - **--COMMIT--**
*
* -# 'test_mem_man.c': Implement all declared unit tests. Run those tests, they shall be red, because non of
* the tested functions is implemented yet.
* - **--COMMIT--**
*
* -# 'mem_man.c': Implement all functions defined by this file.
* - Obey comments in header files and source code.
* - Run the unit tests frequently and fix failures.
* - Make all unit tests green.
* - **--COMMIT--**
* -# 'test_mem_man.c': Extend the unit tests with additional test cases.
* - **--COMMIT--**
*
* -# 'mem_man_app.c': Implement the main application according to the requirements state in the source file
* of the application.
* - **--COMMIT--**
*
* -# Run the application.
*
*
* @section notes Notes
* -# `general.h` contains macros for finding the minimum, maximum, and absolute value
* -# make cleantest: This new make target for clearing the console, building, and running unit test is available.
* -# Sometimes changes are not properly detected by incremental builds. If something very strange
* happens during compilation, try to run `make clean` followed by `make` to start a clean build.
* This approach is also recommended after everthing is done, because some compiler warning appears
* only in clean builds.
*/