Sé que algo nuevo en un módulo y su eliminación en otro a menudo puede causar problemas en VC++. Problemas con diferentes tiempos de ejecución. La combinación de módulos con tiempos de ejecución enlazados estáticamente y/o desajustes de versiones vinculados dinámicamente ambos puede atornillar cosas si no recuerdo mal.¿Es seguro utilizar STL (TR1) shared_ptr entre módulos (ex y dlls)
Sin embargo, ¿es seguro usar el archivo std :: tr1 :: shared_ptr de VC++ 2008 en todos los módulos?
Como solo hay una versión del tiempo de ejecución que sabe incluso qué es un shared_ptr, mi único peligro es la conexión estática (por ahora ...). Pensé que había leído que la versión de boost de un shared_ptr era segura de usar así, pero estoy usando la versión de Redmond ...
Estoy tratando de evitar tener una llamada especial para liberar objetos en el módulo de asignación . (o algo así como "eliminar esto" en la clase misma). Si todo esto parece un poco raro, lo estoy usando para pruebas unitarias. Si alguna vez ha intentado probar el código de C++ existente, puede comprender cómo creative necesita estar a veces. Mi memoria es asignada por un EXE, pero finalmente será liberada en una DLL (si el recuento de referencias funciona de la manera que creo).
Sabía que las DLL cargadas dinámicamente podrían ser un problema, gracias por explicar el 'por qué'. –