я часто использую такую раелизацию
inline void *__cdecl operator new (unsigned s) {
return HeapAlloc(GetProcessHeap(), 0, s);
}
inline void __cdecl operator delete (void *d) {
HeapFree(GetProcessHeap(), 0, d);
}
Мне нравиться, у нас StromGame.dll за 10 мин в этих операторах съел <10М тактов на P3 1000
Меня эта скороть устраивает
+ нет необходимости использовать MSVCRT.DLL
+ содержимое памяти 0xBAADF00D
+ можно убить всё скопом (если вместо GetProcessHeap() написать HANDLE h = HeapCreate())
вызовом HeapDestroy()
+ никаких шар по new, delete в разных DLL, если у них HANDLE_to_heap разный
— нет совместимости со стандартом ( delete 0 — падает
программист игры Шторм, Шторм солдаты неба