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