Во-первых, на SO было как минимум 4-5 тем с похожей темой. Я читаю каждую из них и не чувствую, что они действительно помогают мне в этом конкретном вопросе. Если кто-то еще найдет повторяющийся вопрос, прошу прощения. Я проделал свою долю поиска, прежде чем опубликовать это, так как это кажется очень распространенным вопросом.
Я использую Visual Studio .NET 2003 в Windows 7.
У меня есть собственные перегрузки new / delete, которые указывают на мои собственные вызовы malloc () и free () для диагностики. Мои новые / удаляемые перегрузки находятся в файле заголовка, который я включил в несколько файлов.
Проблема в том, что кодовая база представляет собой спагетти, и нет простого способа убедиться, что эти перегрузки используются всем. Есть включения в сторонние библиотеки, которые являются черным ящиком. Мы также везде используем STL.
В своих тестах я обнаружил, что STL все еще смешивает вызовы моих собственных вызовов new / delete и стандартных вызовов new / delete MSVC.
Включение моего файла заголовка в тысячи других файлов кажется нереальным, это займет слишком много времени. Может ли кто-нибудь предложить несколько советов о том, как правильно и эффективно перегрузить новое / удалить глобально, чтобы все использовали мой настраиваемый диспетчер памяти?