Pregunta

Recientemente, he estado lidiando con un error con el acceso a MAPI a través de el .NET framework (como se describe en este artículo).Ahora estoy a la izquierda con una serie de infracción de acceso de memoria de errores.

Para superar los problemas, he estado tratando de utilizar este 3er componente de la parte, que tiene una aplicación de Visual C++ núcleo.Por desgracia, seguimos teniendo los mismos errores.

Personalmente nunca he usado Visual C++, pero mi pregunta es:si la biblioteca de C++ es compilado con Visual Studio 2005, el uso de Visual C++ - ¿la memoria del proyecto pasan a ser gestionados por el .NET framework, así, que, por tanto, que la someta a los mismos problemas que las .RED de bibliotecas estamos usando?O estoy ladrando al árbol equivocado?

¿Fue útil?

Solución

No estoy del todo seguro de lo que estás preguntando, pero voy a darle un tiro.

Visual C++ es un puro compilador C/C++ así que no tiene ninguno .NETO de la gestión de la memoria, ni ninguno de su tiempo de ejecución -- Usted tiene que manualmente llamada new y delete.

.NET también ofrece C++/CLI, que es una versión ligeramente modificada de C++ que se dirige a el .NET, y es el GC en cuenta-por ejemplo.su memoria es gestionada por el .NET runtime.

Sin más detalles acerca de su error realmente no puedo hacer cualquier sugerencia, más allá de lo que sugiere que usted, asegúrese de usar el apropiado GC guardias de seguridad, y la de proporcionar a los finalizadores en cualquier lugar en que se necesitan.

Otros consejos

Las dos respuestas anteriores han mencionado "Managed C++", este es un viejo bolt-on que se hizo para permitir el uso de C++ administrado en una .Ambiente de RED.No era un ciudadano de primera clase - a diferencia de C++/CLI (enlace de texto.Pero para responder a tu pregunta original, no, Visual C++ no es gestionado por el .NET runtime.Managed C++ y C++/CLI son.

A menos que usted está utilizando Managed C++ (que no suena como usted), entonces no, la memoria no es gestionado por el CLR.

El método recomendado para hablar de Cambio en .Net es a través de WebDAV.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top