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