Я хочу реализовать свою собственную систему управления динамической памятью, чтобы добавить новые функции, которые помогают управлять памятью в C ++.
Я использую Windows (XP) и Linux (Ubuntu).
Что необходимо для реализации таких функций, как «malloc» и «free»?
Я думаю, что я должен использовать системные вызовы самого низкого уровня.
Для Windows я нашел функции: GetProcessHeap, HeapAlloc, HeapCreate, HeapDestroy и HeapFree.
Для Linux я не нашел никаких системных вызовов для управления кучей. В Linux malloc и free являются системными вызовами, не так ли?
Спасибо
Edit:
C ++ не предоставляет сборщик мусора и сборщик мусора работает медленно. Некоторые выделения легко освободить, но есть выделения, для которых требуется сборщик мусора.
Я хочу реализовать эти функции и добавить новые функции:
* Всякий раз, когда вызывается free (), проверьте, принадлежит ли указатель к куче.
* Помощь с сборкой мусора. Я должен хранить некоторую информацию о выделенном блоке.
* Используйте несколько куч (HeapCreate / HeapDestroy в Windows). Я могу быстро удалить всю кучу с выделенными блоками.