17-simple-memory-management/mainpage.h
github-classroom[bot] 177826b1a0
Initial commit
2025-03-05 22:19:03 +00:00

53 lines
No EOL
2 KiB
C

/**
* @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.
*/