2019-04-22 12:25:43 +02:00
|
|
|
# Lightweight dynamic memory manager
|
2019-04-21 01:34:12 +02:00
|
|
|
|
2020-04-07 08:49:52 +02:00
|
|
|
<h3>Read first: <a href="http://docs.majerle.eu/projects/lwmem/">Documentation</a></h3>
|
2019-12-08 14:28:28 +01:00
|
|
|
|
2019-04-21 01:34:12 +02:00
|
|
|
## Features
|
|
|
|
|
2019-12-08 14:28:28 +01:00
|
|
|
* Written in ANSI C99, compatible with ``size_t`` for size data types
|
|
|
|
* Implements standard C library functions for memory allocation, malloc, calloc, realloc and free
|
2020-02-02 19:38:47 +01:00
|
|
|
* Uses *first-fit* algorithm to search for free block
|
|
|
|
* Supports multiple allocation instances to split between memories and/or CPU cores
|
2019-12-08 14:28:28 +01:00
|
|
|
* Supports different memory regions to allow use of fragmented memories
|
2020-02-02 19:38:47 +01:00
|
|
|
* Highly configurable for memory allocation and reallocation
|
|
|
|
* Supports embedded applications with fragmented memories
|
|
|
|
* Supports automotive applications
|
2019-12-08 14:28:28 +01:00
|
|
|
* Supports advanced free/realloc algorithms to optimize memory usage
|
|
|
|
* Operating system ready, thread-safe API
|
2022-01-08 16:12:49 +01:00
|
|
|
* C++ wrapper functions
|
2019-12-08 14:28:28 +01:00
|
|
|
* User friendly MIT license
|
2019-04-21 01:34:12 +02:00
|
|
|
|
2019-12-08 14:28:28 +01:00
|
|
|
## Contribute
|
2019-04-21 01:34:12 +02:00
|
|
|
|
2019-12-08 14:33:56 +01:00
|
|
|
Fresh contributions are always welcome. Simple instructions to proceed::
|
2019-04-21 01:34:12 +02:00
|
|
|
|
2019-12-08 14:28:28 +01:00
|
|
|
1. Fork Github repository
|
2019-12-08 14:50:51 +01:00
|
|
|
2. Respect [C style & coding rules](https://github.com/MaJerle/c-code-style) used by the library
|
2020-01-03 15:05:34 +01:00
|
|
|
3. Create a pull request to develop branch with new features or bug fixes
|
2019-04-21 01:34:12 +02:00
|
|
|
|
2019-12-08 14:28:28 +01:00
|
|
|
Alternatively you may:
|
2019-04-21 01:34:12 +02:00
|
|
|
|
2019-12-08 14:28:28 +01:00
|
|
|
1. Report a bug
|
|
|
|
2. Ask for a feature request
|