Я пытаюсь понять, как работает пользовательский распределитель памяти, и наткнулся на это .Что делает эта конкретная функция и почему это необходимо.Почему он объявлен как static inline
static inline size_t word_align(size_t size) {
return (size + (sizeof(size_t) - 1)) & ~(sizeof(size_t) - 1);
}
Я также не понимаю, зачем нужна база malloc.Может кто-нибудь объяснить, пожалуйста, что здесь происходит.Или, еще лучше, приведите более простой пример пользовательского распределителя с split / merge.