Primero, hubo al menos 4-5 temas con un tema similar en SO. Leo cada uno de ellos y no creo que realmente me ayuden con este tema específico. Si alguien más encuentra una pregunta duplicada, me disculpo. He hecho mi parte de búsqueda antes de publicar esto, ya que parece ser una pregunta muy común.Cómo reemplazar correctamente los operadores globales nuevos y eliminar
Estoy utilizando Visual Studio .NET 2003 en Windows 7.
tengo mis propias sobrecargas de nueva/borrar ese punto de mi propia costumbre llamadas a malloc() y free() para el diagnóstico. Mis nuevas/borrar sobrecargas están en un archivo de encabezado que he incluido en algunos archivos.
El problema es que la base de código es más o menos espagueti y no hay una manera fácil de asegurarse de que todas estas sobrecargas sean utilizadas por todo. Hay incluye bibliotecas de terceros que son black-box. También usamos STL en todas partes.
En mis pruebas, he encontrado que STL todavía está mezclando llamadas a mi propia nueva/eliminar y las llamadas nuevas/eliminar MSVC estándar.
No parece realista incluir mi archivo de encabezado en miles de otros archivos, eso solo llevaría demasiado tiempo. ¿Alguien puede ofrecer algunos consejos sobre cómo sobrecargar correcta y eficazmente nuevo/eliminar globalmente para que todo use mi administrador de memoria personalizado?
Si define los operadores a nivel mundial en un encabezado precompilado que debe cubrir más terreno. De forma alternativa, puede usar las funciones de pilas CRT si esto es para detectar fugas de memoria. – AJG85